본문 바로가기
DB/MySQL

[MySQL] 간단한 문법 정리

by agor 2024. 9. 1.

 

1. 테이블 생성


SQL 쿼리로 DB에 테이블을 생성할 수 있습니다.

테이블은 동일한 특성을 가지는 행의 모임입니다.

 

예를 들면 홍길동, 26, 3.1 모두 홍길동이라는 한 사람을 가리키고,

성춘향, 23, 2.29 모두 성춘향이라는 한 사람을 가리키기 때문에 테이블은 이러한 행들의 모임인 것입니다.

이름 나이 생일
홍길동 26 3.1
성춘향 23 2.29

여기서 열은 이름, 나이, 생일 정도가 될 수 있겠네요.

 

그러면 아이디, 이름, 나이 이렇게 3가지 필드로 구성되어 있는 테이블을 생성해보겠습니다.

이렇게 테이블을 임의로 생성해보겠습니다.

테이블을 생성할 때에는,

CREATE TABLE '테이블명' ( '필드명' 필드형식 , ... ); 이런 형식으로 작성해주시면 됩니다.

CREATE  TABLE  `person` ( 
    `person_id`  INT  NOT  NULL AUTO_INCREMENT , 
    `name`  VARCHAR(256) NOT  NULL , 
    `age`  INT NOT  NULL ,     
    PRIMARY  KEY (`person_id`)
) ENGINE = InnoDB;

 

여기서 테이블의 이름은 'person' 이고 괄호 안에 들어있는 'person_id'  'name'  'age' 는 열의 이름인 걸 알 수 있습니다.

INT 는 정수형이라는 뜻이고, VARCHAR(256) 은 최대 256글자까지만 입력 가능하다는 뜻입니다.

NOT NULL 은 비어 있으면 안된다는 의미입니다.

AUTO_INCREMENT 는 입력하지 않아도 해당 열의 값이 자동으로 증가하도록 하는 설정입니다.

PRIMARY KEY 는 인덱스의 종류 중 하나로, 각 행들을 구분하는 유일한 식별자입니다.

이 테이블은 person_id로 행을 구분한다는 것을 알 수 있겠네요.

 

ENGINE 은 MySQL의 DB 엔진을 설정하는 곳인데, MyISAM과 InnoDB 중 InnoDB가 현대 바이너리 기반 엔진이여서 주로 사용한다고 합니다.

 

그래서 구조 탭으로 들어가면 생성한 person 테이블을 볼 수 있습니다.

 

2. 테이블의 값 입력


다시 SQL 탭으로 가서 테이블에 값을 삽입하는 질의를 입력해보겠습니다.

삽입문은 아래와 같은 형식으로 작성하시면 됩니다. 

INSERT INTO  테이블명  (필드명1, 필드명2) values ('필드값1', '필드값2');

유의할 점은 SQL 질의에서는 쌍따옴표가 아닌 홑따옴표만 인식이 가능하다는 점입니다!

질의문 예시

INSERT INTO person (name, age) values ('alice', 23);

23살 alice 라는 사람의 정보가 정상적으로 입력되어있는 것을 확인할 수 있습니다.

테이블 조회

아까 아이디는 auto increment 설정을 해두었기 때문에 자동으로 1이 입력된 것을 볼 수 있습니다.

 

3. 테이블의 값 조회


SELECT * FROM `person` WHERE person_id = 1;

테이블 조회는

SELECT  '조회하고싶은 필드명'  FROM  '테이블명'  WHERE  (조건); 

이런 형식으로 작성하시면 됩니다. 만약 SELECT 뒤에 * 를 입력한다면, 모든 열을 조회하겠다는 뜻이 됩니다.

그러면 위의 질의를 입력했을 때, 아래 처럼 id가 1인 사람의 정보가 찾아지는 것을 확인할 수 있습니다.

테이블 조회 질의

 

4. 테이블의 값 수정


테이블 수정은 

UPDATE  테이블명  set  필드명='변경값'  where  (조건);

이런식으로 작성해주시면 됩니다. 여기서 수정하고 싶은 필드명은 여러개가 되어도 상관 없습니다.

UPDATE `person` SET age=24 WHERE name='alice';

수정된 테이블

저는 이름이 alice라면 나이를 24로 수정하도록 입력했습니다.

 

5. 테이블의 값 삭제


테이블을 삭제하고 싶다면

DELETE FROM  '테이블명'  WHERE  (조건);

이렇게 입력하면 됩니다. 저는 아래와 같이 아이디가 1인 사람의 행을 지우는 질의를 입력했습니다.

DELETE FROM `person` WHERE person_id=1;

삭제 후 테이블