728x90

[ 테이블 수정 ]

ALTER TABLE table_name

ADD ( column_name datatype [default] ) | ADD constraint : 테이블에 컬럼 추가

MODIFY ( column_name datatype [default] )

DROP COLUNMN column_name [ CASCADE CONSTRAINTS ]

 

[ 이름 변경 ]

1. 테이블

ALTER TABLE old_table_name RENAME TO new_table_name;

RENAME old_table_name TO new_table_name;

 

2. 컬럼

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

 

3. 제약조건

ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name;


Q1)  추가되는 컬럼은 테이블의 맨 마지막에 위치하며, 생성 위치를 변경할 수 없다.
ALTER TABLE DEPARTMENT
ADD (MGR_ID CHAR(3));

SELECT * FROM DEPARTMENT;

ALTER TABLE DEPARTMENT
ADD (MGR_ID02 CHAR(3) DEFAULT '101');

 

Q2) 제약 조건을 추가하면서 테이블 생성
CREATE TABLE EMP3
AS
SELECT * FROM EMPLOYEE;

ALTER TABLE EMP3
ADD PRIMARY KEY(EMP_ID)
ADD UNIQUE(EMP_NO)
MODIFY HIRE_DATE NOT NULL; -- MODIFY를 쓰면 NOT NULL을 써야한다.

DESC EMP3;

 

 

728x90

+ Recent posts