📒 요약 : 데이터베이스와 테이블을 만들 후에 데이터를 입력/수정/삭제하는 법을 살펴볼 것이다.
- INSERT : 테이블에 데이터를 입력한다.
- UPDATE : 테이블 안에 있는 데이터를 수정한다.
- DELETE : 데이터를 삭제한다.
INSERT는 테이블에 새로운 데이터를 삽입하는 명령어이다. 기본적인 형식은 아래와 같다.
INSERT INTO 테이블 [(열1, 열2, ...)] VALUES(값1, 값2, ...)
테이블 이름 다음에 나오는 열은 생략할 수 있는데, 이는 VALUES에 들어갈 값의 개수가 테이블의 열과 일치하고, 순서 역시 일치할 때에만 가능하다.
INSERT INTO 테이블 [(열1, 열2, ...)] VALUES(값1, 값2, ...)
우선 간단한 테이블을 만들어보자.
USE market_db;
CREATE TABLE hongong1 (toy_id, INT, toy_name CHAR(4), age INT);
INSERT INTO hongong1 VALUES(1, '우디', 25);
INSERT INTO hongong1 (toy_id, toy_name) VALUES(2, '우디');
AUTO_INCREMENT는 열을 정의할 때 1부터 증가하는 값을 자동으로 입력해주는데, 각 행을 구분하는 용도로 사용하기에 좋다. 그래서 AUTO_INCREMENT로 지정하는 열은 반드시 PRIMARY KEY로 지정해주자.
CREATE TABLE hongong2 (
toy_id INT AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4),
age INT
);
이후에 데이터를 입력할 때에는 자동으로 증가하는 부분은 NULL값으로 채우면 된다.
INSERT INTO hongong2 VALUES(NULL, '보핍', 25);
INSERT INTO hongong2 VALUES(NULL, '슬링키', 22);
INSERT INTO hongong2 VALUES(NULL, '렉스', 21);
AUTO_INCREAMENT로 입력되는 시작 값을 지정할 수도 있는데, 다음과 같이 'ALTER TABLE (테이블 이름) AUTO_INCREAMENT = 숫자 지정'의 형태를 활용하면 된다.
ALTER TABLE hongong2 AUTO_INCREMENT = 100;
증가하는 값을 N으로 변경하고 싶을 때에는 @@auto_increment_increment를 변경하면 된다.
set @@auto_increment_increment = 3;
만약 위와 같이 입력했다면 PRIMARY KEY의 값이 3씩 증가할 것이다.
INSERT INTO ~ SELECT문은다른 테이블에 있는 데이터를 가져와 입력하는 것이다. 기본형은 다음과 같다.
INSERT INTO (데이터를 삽입할 테이블 이름) (열 1, 열 2, ...)
SELET 열 이름, FROM (데이터를 가져올 테이블 이름);
이 때, SELECT문의 열의 개수는 INSERT할 테이블의 열 개수와 같아야 함에 주의하자.
테이블 안에 있는 데이터를 바꿀 때에는 UPDATE를 이용한다. UPDATE문의 기본형은 다음과 같다.
UPDATE 테이블 이름
SET 열1=값1, 열2=값2, ...
WHERE 조건;
위의 내용을 해석해 보자면 WHERE 조건을 만족하는 데이터의 각 열을 값1, 값2로 바꾼다는 의미이다. WHERE을 생략하고 UPDATE할 수도 있는데, 이럴 경우 모든 행의 데이터가 변경되니 주의하자.
테이블 안에 있는 데이터를 삭제할 때에는 DELETE를 이용한다. DELETE문의 기본형은 다음과 같다.
DELET FROM 테이블 이름 WHERE 조건;
이렇게 간단한 문장으로 WHERE 조건을 만족하는 데이터를 삭제할 수 있다.