4.02. MySQL 테이블 생성하기
테이블을 생성하는 쿼리에 대해 알아본다. 쿼리는 데이터베이스에 명령을 내리는 방법을 말한다.
php3min 데이터베이스를 왼쪽 탐색기에서 선택하고 쿼리 탭을 누른다.
아래의 쿼리를 붙여넣는다.
CREATE TABLE `tbl_person` (
`person_id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(256) NOT NULL ,
`age` INT NOT NULL ,
PRIMARY KEY (`person_id`)
) ENGINE = InnoDB;
실행 버튼을 클릭한다.
위 쿼리는 데이터베이스에 테이블을 생성한다. 테이블은 동일한 특성을 가지는 행(row) 의 모음이다. 각 특성은 열(column)이라고 부른다.
예를 들어서 이름이 yse 이고 나이가 80살인 사람이 한 명 있다고 하면 데이터베이스에는 아래와 같이 데이터가 설정된다.
person_idnameage
1 | yse | 80 |
테이블 이름은 tbl_person, 열은 person_id, name, age, 행은 1,yse,80이다.
테이블 생성 문법은 CREATE TABLE 테이블이름 ( 열1이름, 열2이름 , 인덱스) ENGINE=MySQL 엔진이름; . 이다.
위의 쿼리에서 열은 person_id, name, age 세 개 이다.
`person_id` INT NOT NULL AUTO_INCREMENT ,
INT 는 정수 타입이다. AUTO_INCREMENT 는 자동 증가라는 뜻이다. 데이터베이스 시스템에 데이터가 입력될 때 자동으로 숫자가 증가한다.
`name` VARCHAR(256) NOT NULL ,
VARCHAR 는 문자열 타입이다. 데이터베이스 시스템은 대부분 효율성을 위해 문자열의 길이도 미리 지정해야 한다. name 컬럼에는 최대 256글자까지 들어갈 수 있다.
NOT NULL 은 비어있으면 안된다는 뜻이다.
PK(Primary Key) 는 각 열을 구분하는 유일한 식별자로 예제 쿼리에서는 person_id 가 PK 다. 엑셀로 따지면 자동으로 생기는 행 번호를 말한다.
인덱스는 데이터베이스 성능을 위해서 미리 참조를 만들어놓는 것을 말한다. PK는 주 키 인덱스 (primary key index)로 인덱스의 종류 중 하나다.
ENGINE = InnoDB;
InnoDB 는 MySQL 데이터베이스 엔진이다. MySQL 은 오래된 텍스트 기반 엔진인 MyISAM 과 현대 바이너리 기반 엔진인 InnoDB 2가지 종류가 있다.
데이터베이스는 기본적으로 행렬을 가정해서 만들어졌다. 바꿔 말하면 insert 를 제외한 DML(Data Manipulation Language) 들(Select, Update, Delete) 은 조건에 해당하는 모든 행(row) 에 영향을 준다.