본문 바로가기

SQLD · DB

[ SQLD ] DDL 240816

테이블을 변경하는 DDL

테이블 생성후 테이블 ( 의 스키마 구조 ) 을 변경하는 것은 잘 일어나지 않지만

테이블을 변경하게 된다면 ALTER 라는 명령어를 사용한다.

ALTER라는 명령어로 테이블을 변경하는 종류로는 칼럼의 추가 / 삭제 / 수정, 제약 조건의 추가 / 삭제 가 있고,

칼럼의 추가시 ALTER 라는 명령어는 ADD 와 함께 작성된다 → 1) 칼럼의 추가 ( ADD )

새로 추가한 컬럼은 테이블의 맨 마지막에 추가된다.

ALTER TABLE PLAYER_TEMP ADD ( ADDRESS VARCHAR2 ( 80 ) );

 

2) 칼럼의 삭제 ( DROP COLUMN )

- 삭제 후 최소 하나 이상의 칼럼이 테이블에 존재해야 한다.

ALTER TABLE PLAYER_TEMP DROP COLUMN ADDRESS;

 

3) 칼럼명 변경 ( RENAME COLUMN )

- 칼럼을 지우고 다시 정의하는 것이 아닌 해당 칼럼의 모든 정의가 그대로 유지되고 칼럼의 이름만 변경된다. 

ALTER TABLE PLAYER_TEMP RENAME COLUMN PLAYER_ID TO PLAYER_NEW_ID;

PLAYER_TEMP 테이블의 스키마 구조를 변경하는데 컬럼의 이름을 변경하는 것이고,

기존에 존재하는 컬럼명중 PLAYER_ID 를 PLAYER_NEW_ID 로 변경하라는 SQL문이다.

 

4) 칼럼의 정의를 수정할 때 ( MODIFY )

- NOT NULL 제약조건 추가 → 테이블에 아무 행도 없거나 해당 칼럼에 NULL이 없을 때 가능하다.

- NOT NULL 제약조건 삭제는 항상 가능하다.

- NOT NULL 제약조건 추가 / 삭제 SQL문 → ALTER TABLE 테이블명 MODIFY ( 속성명 NOT NULL / NULL );

ex. ALTER TABLE PLAYER_TEMP MODIFY ( PLAYER_NAME NOT NULL );

 

테이블명 변경시 → RENAME 기존테이블명 TO 새로운테이블명;

( RENAME 명령어를 통해 테이블명을 변경하는 것 또한 테이블 스키마 구조를 변경하는 것에 속하는 DDL 이다 )

 

DROP문을 통한 테이블 삭제

- DROP TABLE 테이블명;- 관련된 제약조건을 함께 삭제할 때 → DROP TABLE 테이블명 CASCADE CONSTRAINT;

 

존재하는 테이블명을 조회할 때

SELECT * FROM USER_OBJECT

WHERE OBJECT_TYPE = 'TABALE';

'SQLD · DB' 카테고리의 다른 글

[ SQLD ] SQL - TCL / DCL 240817  (0) 2024.08.17
[ SQLD ] Function 240817  (0) 2024.08.17
[ SQLD ] SQL - DDL 240815  (0) 2024.08.16
[ SQLD ] SQL_Basic DML 240814  (0) 2024.08.15
[ SQLD ] SQL_Basic DML 240810  (0) 2024.08.10