본문 바로가기

About Security/PHP & MYSQL

테이블 만들기 12월 13일 월요일

1.테이블 만들기 상세
-key 종류

1. Primary Key(PRI)
2. Unique Key(UNI)
3. Multiple Occurences Column(MUL)

CREATE TABLE 테이블명(
컬럼명 자료형
, .....
, PRIMARY KEY(컬럼,...)
, KEY 인덱스명(컬럼명,...) ====> ( INDEX 인덱스명 (컬럼명,...) 동일)
, UNIQUE 인덱스명(컬럼명)
)

--------------------------------------------------------------------
create table keyexam1(
c1 int,
c2 int,
c3 int,
primary key (c1),
key c2 (c2),
index c3 (c3)
)
--------------------------------------------------------------------
show index from keyexam1;
=>테이블의 index상태를 보여준다.

insert into keyexam1 values(1,1,1);
=>테이블의 각 컬럼에 1을 넣어라.

insert into keyexam1 values(1,2,2);
=>에러남 => c1이 primary key이므로 중복이 불가.

insert into keyexam1 values(2,1,1,);
=>성공 => c2, c3는 index이므로 중복 가능


--------------------------------------------------------------------
create table keyexam3(
c1 int,
c2 int,
c3 int,
UNIQUE(c1),
index c2 (c2,c3)
)
--------------------------------------------------------------------

*테이블 생성 후 키 삭제

ALTER TABLE 테이블명 DROP INDEX 인덱스명
ALTER TABLE 테이블명 DROP PRIMARY KEY

*테이블 생성 후 키 삭제
ALTER TABLE 테이블명 ADD INDEX 인덱스명 (컬럼명,...)
ALTER TABLE 테이블명 ADD UNIQUE 인덱스명 (컬럼명,...)
ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명,...)

CREATE INDEX 인덱스명 ON 테이블명 (컬럼명,...)
CREATE UNIQUE INDEX 인덱스명 ON 테이블명 (컬럼명,...)

*기타 옵션 (NOT NULL, NULL, DEFAULT, AUTO_INCREMENT)