동물들의 정보를 가지고 있는 테이블인 animal_info
라는 테이블을 만들어보겠습니다.
CREATE TABLE animal_info (
`id` INT NOT NULL AUTO_INCREMENT,
`type` VARCHAR(30) NOT NULL,
`name` VARCHAR(10) NOT NULL,
`age` TINYINT NOT NULL,
`sex` CHAR(1) NOT NULL,
`weight` DOUBLE NOT NULL,
`feature` VARCHAR(500) NULL,
`entry_date` DATE NOT NULL,
PRIMARY KEY(id)
);
테이블을 생성할 때에는 CREATE TABLE
이라는 명령어를 사용합니다. 명령어를 입력 후 생성할 테이블 이름을 입력하고 해당 테이블에 들어갈 컬럼들의 정보를 괄호안에 입력합니다.
CREATE TABLE
테이블명
(컬럼정보
);
컬럼정보에서 각 컬럼들은 콤마(,)로 구분되기에 컬럼명을 입력하고 공백을 줌으로써 이름과 컬럼의 설정을 구분하게 됩니다.
(컬럼명 데이터형태,
컬럼명 데이터형태,
. . .);
type
컬럼을 예시로 들면
type VARCHAR(30) NOT NULL
컬럼명은 type
, 데이터타입은 varchar
, 글자수 제한은 30
까지, null
값은 허용하지 않는다는 뜻입니다.
컬럼명에 백틱으로 감싼 것을 볼 수 있는데 이는 해당 문자가 컬럼명으로 쓰일 것이라는 것을 눈에 잘 보이게 표시해주는 역할로서 백틱이 없다 하더라도 문제가 되지 않습니다.
마지막에 있는 PRIMARY KEY(id)
의 경우 문자 그대로 id
라는 컬럼을 프라이머리 키로 쓰겠다는 의미입니다.
테이블이 생성되었으니 이제 데이터를 입력해보겠습니다.
INSERT INTO animal_info
(type, name, age, sex, weight, feature, entry_date)
VALUES ('사자', '리오', 8, 'm', 170.5, '상당히 날렵하고 성격이 유순한 편임', '2015-03-21');
INSERT INTO animal_info
(type, name, age, sex, weight, feature, entry_date)
VALUES ('코끼리', '조이', 15, 'f', 3000, '새끼 때 무리에서 떨어져 길을 잃고 방황하다가 동물원에 들어와서 적응을 잘 마침', '2007-07-16');
INSERT INTO animal_info
(type, name, age, sex, weight, feature, entry_date)
VALUES ('치타', '매튜', 20, 'm', 62, '나이가 노령이라 최근 활동량이 현저히 줄어든 모습이 보임', '2003-11-20');
3개의 데이터를 입력했습니다.
먼저 데이터를 입력할때에는 INSERT INTO 테이블명
이라는 명령어를 사용합니다.
이후 괄호안에 데이터를 입력할 컬럼들을 적어주고 VALUES
를 사용해 각 컬럼마다 들어갈 내용을 기입합니다.
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3, . . .) VALUES(컬럼명1의 내용, 컬럼명2의 내용, 컬럼명3의 내용, ...)
컬럼명을 보면 이전에는 입력해놓았던 id컬럼이 보이질 않는데 이는 테이블 생성당시 id컬럼에 AUTO_INCREMENT
라는 설정을 넣어 데이터가 입력될 때마다 자동으로 1씩 증가하기 때문에 굳이 입력하지 않았습니다.
id를 함께 기입한다고 해서 에러가 나오는 것은 아니지만 직접 id를 입력하는 경우 실수하게되는 경우가 있으니 자동으로 id가 증가하게 테이블을 만들어 놓았다면 id컬럼을 적지 않는 것이 더 좋아보입니다.