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) 에 영향을 준다.