테이블의 작성,삭제,변경
CREATE TABLSE 테이블명(열 정의1, 열 정의2,...)
DROP TABLE 테이블명
ALTER TABLE 테이블명 하부명령
데이터를 정의하는 명령, 스키마 내의 객체를 관리할 때 사용한다.
CREATE로 생성, DROP으로 삭제, ALTER로 변경이 가능, 뒤이어 어떤 종류의 객체를 생성,삭제,수정 할 것인지를 지정한다. (CREATE TABLE, CREATE VIEW ...)
CREATE TABLE 명령을 사용하여 테이블을 생성한다. CREATE TABLE에 이어 작성하고 싶은 테이블의 이름 지정하고 뒤에는 괄호로 묶어 열을 정의한다. 열 정의시 테이블에 필요한 열을 콤마(,
)로 구분하여 연속해 지정
CREATE TABLE
CREATE TABLE 테이블명 ( 열 정의1, 열 정의2, ... )
열 정의
열명 자료형 [DEFAULT 기본값] [NULL|NOT NULL]
CREATE TABLE sample62 (
no INTEGER NOT NULL,
a VARCHAR(30),
b DATE);
DROP TABLE 명령을 사용한다.
DROPT TABLE
DROP TABLE 테이블명
데이터베이스가 SQL 명령 실행시 확인을 요구하지 않으므로 삭제 시 실수로 테이블을 삭제하지 않도록 신중
테이블 정의는 그대로 둔 채 데이터만 삭제 시에는 DELETE 명령을 사용한다. (WHERE 조건 지정시 특정 행만 삭제)
DELETE 명령은 행 단위로 여러 가지 내부 처리로 느리다. TRUNCATE TABLE 명령을 사용한다. 삭제 행 지정 X, WHERE 구 지정X -> 모든 행 빠른 삭제 가능
TRUNCATE TABLE
TRUNCATE TABLE 테이블명
테이블 작성 뒤에도 열 구성 변경 가능 - ALTER TABLE 명령
ALTER TABLE
ALTER TABLE 테이블명 변경명령
ALTER TABLE 명령 사용 시 테이블에 저장되어 있는 데이터 그대로 남긴 채 구성만 변경이 가능하다.
ADD 하부 명령 통해 실행
열추가
ALTER TABLE 테이블명 ADD 열 정의
열 정의는 CREATE TABLE의 경우와 동일(열 이름, 자료형, 기본값, NULL제약)
ALTER TABLE sample62 ADD newcol INTEGER;
ALTER TABLE ADD로 테이블에 열 추가
ADD로 열이 추가될 때, 기존 데이터행이 존재하면 추가한 열의 값이 모두 NULL이 된다. 기본값 지정시 기본값으로 지정된다. 한편 NOT NULL 제약을 붙인 열을 추가하고 싶다면 먼저 NOT NULL로 제약을 건 뒤에 NULL이외의 값으로 기본값을 지정
NOT NULL 제약이 걸린 열을 추가할 때는 기본값을 지정
MODIFY 하부 명령 실행
열 속성 변경
ALTER TABLE 테이블명 MODIFY 열 정의
열 정의는 CREATE TABLE과 동일, 열 이름 변경 X, 자료형이나 기본값/NOT NULL 제약등의 속성 변경 가능
ALTER TABLE sample62 MODIFY newcol VARCHAR(20);
기존의 데이터 행 존재시, 속성 변경에 따라 데이터 역시 변환, 테이블에 들어간 데이터의 자료형 역시 바뀐다. 에러 발생 시 명령 실행 안됨
CHANGE 하부 명령 으로 시행
열 이름 변경
ALTER TABLE 테이블명 CHANGE [기존 열이름] [신규 열 정의]
열 이름 뿐만 아니라 열 속성의 변경 또한 가능
ALTER TABLE sample62 CHANGE newcol c VARCHAR(20);
DROP 하부 명령 사용
열 삭제
ALTER TABLE 테이블명 DROP 열명
테이블에 존재하지 않는 열인 경우 에러
ALTER TABLE sample62 DROP c;
처음에 한 자리로 충분했던 용량이 시간이 지나면서 부족해지는 일이 많다. ALTER TABLE로 열의 자료형만 변경해서 대응한다.
ALTER TABLE sample MODIFY col VARCHAR(30);
최대길이를 늘리는 경우는 많지만 줄이는 경우는 많지 않다.
ALTER TABLE sample ADD new_col INTEGER