리눅스 서버구축/MYSQL

mysql 테이블생성

서버이야기 2017. 3. 7. 18:37

mysql 테이블생성



이번에는 테이블을 생성해 보도록 하겠습니다

'mysql> use test_db'를 사용하여 'test_db' 사용하도록 설정합니다


mysql> create table [테이블명] (

  -> 필드명 타입

  -> 필드명 타입

  -> ...........

  -> PRIMARY KEY(필드명)

프라이머리 키란 테이블에서 필드를 식별할 수 있는 기본 키이다.

특정 레코드를 검색하거나 레코드들을 정렬할 때 우선적으로 참조된다.


- 지정할 필드명

필드명 

데이터 타입 

의미 

비고 

No 

int 

학번 

primarykey, null

name 

char(10) 

성명 

 

det 

char(20) 

전공 

 

addr 

char(80) 

주소 

 

tel 

char(20) 

전화번호 

 


테이블이름은 study_table 위의 필드대로 테이블을 만들겠습니다.


mysql> create table study_table (

  -> sno int not null,

  -> name char(10),

  -> det char(20),

  -> addr char(80),

  -> tel char(20),

  -> PRIMARY KEY(sno)

  -> );


테이블 확인

mysql> show tables;

'show tables' 명령어로 'study_table' 생성되었는지 확인합니다.


mysql> study_table;

study_table'명령어로 필드의 내용을 확인합니다


Field 

Type 

Null 

Key 

Default 

Extra 

sno

int(11)

NO 

PRI 

NULL 

 

name 

char(10) 

YES 

 

NULL 

 

det 

chear(20) 

YES 

 

NULL 

 

addr 

char(80)

YES 

 

NULL 

 

tel 

char(20) 

YES 

 

NULL 

 

테이블 내용을 확인 하면 위의 표와 같이 나올것입니다.

Field는 선언한 필드를 보여주는것이며, 

Type은 그 필드가 갖고 잇는 타입을 말해주는 것입니다.

Null은 공백을 인정하는지 않것이며, 필드 생성시 not null로 생성하고 Key는 프라이머리 키를 의미하며 필드명은 sno가 기본으로 설정되어 있습니다.

Default는 초기값을 의미하며 null로 설정되어 있습니다


테이블의 필드추가

alter table [테이블명] add [새로추가할 필드명] [필드명 타입] [필드위치]

* 필드위치는

mysql> alter table study_table add age int after name;

위의 명령어로 필드를 생성합니다.


Field 

Type 

Null 

Key 

Default 

Extra 

sno

int(11)

NO 

PRI 

NULL 

 

name 

char(10) 

YES 

 

NULL 

 

 age

char(11) 

YES 

 

Null 

 

det 

chear(20) 

YES 

 

NULL 

 

addr 

char(80)

YES 

 

NULL 

 

tel 

char(20) 

YES 

 

NULL 

 


위의 명령어를 사용하면 표처럼 age필드가 생성되었을 것입니다 study_table 테이블에 name필드 다음으로  age가 생성되어 있는것이 확인됩니다.

'after [필드명]'을 선택하지 않으면 추가한 필드는 가장 마지막에 위치하게 됩니다