데이터베이스 객체란? 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의하는 모든 것을 일컫는 말
SELECT나 INSERT 등 클라이언트 객체 조작 SQL 명령은 데이터베이스 객체라고 부를 수 없다.
데이터베이스 객체는 스키마
라는 그릇 안에 만들어짐.
그림과 같이
테이블은 열을 관리하고
스키마는 테이블, 뷰, 인덱스를 관리합니다.
스키마가 서로 다르면 이름이 같아도 상관없다.
우리는 이것을 이름이 충돌하지 않도록 기능하는 그릇을 네임스페이스라고 합니다.
즉, 스키마나 테이블은 네임스페이스
이기도 합니다.
작성(CREATE)
삭제(DROP)
변경(ALTER)
CREATE TABLE 테이블명(열 정의1, 열 정의2..)
DROP TABLE 테이블명
ALTER TABLE 테이블명 하부명령
위의 명령어는 DDL에 속한다.
DDL은 데이터를 정의하는 명령로 스키마 내의 객체를 관리할 때 사용
문법
열명 자료형[DEFAULT 기본값][NULL|NOT NULL]
문법
DROP TABLE 테이블명
DML의 DELETE 명령과 DDL의 TRUNCATE는 결과값 같지만 처리 속도가 다르다.(단, 전체 행 삭제일 경우)
문법
ALTER TABLE 테이블명 변경명령
ALTER TABLE 테이블명 ADD 열 정의
ALTER TABLE sample62 ADD newcol INTEGER;
출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어] p.237
NOT NULL 제약이 걸린 열을 추가할 때는 기본값 지정
ALTER TABLE 테이블명 MODIFY 열 정의
ALTER TABLE sample62 MODIFY newcol VARCHAR(20);
ALTER TABLE 테이블명 CHANGE [기존 열 이름][신규 열 정의]
ALTER TABLE sample62 CHANGE newcol c VARCHAR(20);
ALTER TABLE 테이블명 DROP 열명
ALTER TABLE sample62 DROP c;
총 정리
- 스키마와 객체
- 데이터베이스 객체는 스키마라는 불리는 네임스페이스 안에 작성
- 객체에는 이름을 붙일 수 있으며 DDL 명령으로 관리
- 테이블
- 테이블은 데이터베이스에서 기본이 되는 객체입니다.
- 테이블은 CREATE TABLE 명령으로 작성하고 DROP TABLE 명령으로 삭제
출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어]