본문 바로가기

공부 기록/Database

DDL - Table 생성하기, 목록 및 구조 확인

*  MySQL에서는 DATABASE와 SCHEMA가 같은 뜻을 의미한다.


Table 생성

CREATE TABLE {table_name}();

 

*  제약 조건 키워드 (CONSTRAINTS)

  • PRIMARY KEY
  • AUTO_INCREMENT
  • NOT NULL
  • UNIQUE : 중복된 값을 저장할 수 없다.
  • DEFAULT : 디폴드값을 설정할 수 있다.
  • CHECK : 입력할 수 있는 값의 범위 등을 제한한다. TRUE or FALSE로 평가할 수 있는 논리식을 지정한다.
  • FOREIGN KEY : CASCADE / SET NULL / RESTRICT [/ NO ACTION / SET DEFAULT]
CREATE TABLE {table_name}(
ㅤㅤ{field_name} {type} [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT],
ㅤㅤ{field_name} {type} [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT],
ㅤㅤ...
ㅤㅤPRIMARY KEY({field_name})
ㅤㅤ);

 

 * EMPLOYEE2 테이블을 생성하는 예시

CREATE TABLE EMPLOYEE2(
ㅤㅤempno INTEGER NOT NULL PRIMARY KEY,
ㅤㅤname VARCHAR(10),
ㅤㅤjob VARCHAR(9),
ㅤㅤboss INTEGER,
ㅤㅤhiredate VARCHAR(12),
ㅤㅤsalary DECIMAL(7, 2),
ㅤㅤcomm DECIMAL(7, 2),
ㅤㅤdeptno INTEGER
ㅤㅤ);

 

Table 수정

ALTER TABLE {table_name} ~ ;

-  ADD

  • 컬럼을 추가한다.
ALTER TABLE {table_name}
ㅤㅤadd {field_name} {type} [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT];

-  DROP

  • 컬럼을 삭제한다.
ALTER TABLE {table_name}
ㅤㅤDROP {field_name};

-  CHANGE

  • 컬럼을 이름부터 속성까지 전부 재정의한다.
ALTER TABLE {table_name}
ㅤㅤCHANGE {field_name} {type} [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT];

-  RENAME

  • 테이블의 이름을 변경한다.
ALTER TABLE {table_name} RENAME {new_name};

 

Table 삭제

DROP TABLE {table_name};

제약 조건이 있을 경우에는 drop table 명령으로도 테이블이 삭제되지 않을 수 있다.

그런 경우에는 테이블을 생성한 반대 순서로 삭제를 해야 한다.

 


 

테이블 목록 확인

show tables;

 

테이블 구조 확인

desc {table_name};

 

'공부 기록 > Database' 카테고리의 다른 글

쿼리 안의 쿼리(서브쿼리)  (0) 2023.05.02
DML - 데이터 조작하기  (0) 2023.01.19
Database 생성, 접속하기  (0) 2023.01.19
Database 사용자 생성과 권한 부여  (0) 2023.01.18
RDBMS _ 관계형 데이터베이스  (0) 2023.01.18