데이터 정의어(DDL)
- 테이블이나 관계의 구조를 생성하는데 사용하며 CREATE,ALTER,DROP 이 있다.
CREATE 문
- 테이블 구성, 속성과 속성 제약정의 , 기본키 외래키 정의하는 명령
- PRIMARY KEY : 기본키를 정할 때 사용
- FOREIGN KEY : 외래키를 정할 때 사용
- ON UPDATE, ON DELETE : 외래키 속성 수정과 투플 삭제시 동작 나타냄
- 참조의 무결성 지켜야함.
CREATE TABLE 테이블이름
( 속성이름 데이터타입 [NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건] [PRIMARY KEY 속성이름(들)]
[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)],
[ON DELETE [CASCADE(연쇄삭제)┃SET NULL(널로설정)]
)
CREATE TABLE NewBook (
bookid INTEGER PRIMARY KEY,
bookname VARCHAR(20),
publisher VARCHAR(20),
price INTEGER);
CREATE TABLE NewBook (
bookname VARCHAR(20) NOT NULL,
publisher VARCHAR(20) UNIQUE,
price INTEGER DEFAULT 10000 CHECK(price > 1000),
PRIMARY KEY (bookname, publisher));
CREATE TABLE NewOrders (
orderid INTEGER,
custid INTEGER NOT NULL,
bookid INTEGER NOT NULL,
saleprice INTEGER,
orderdate DATE,
PRIMARY KEY (orderid),
FOREIGN KEY (custid) REFERENCES NewCustomer(custid) ON DELETE CASCADE );
ALTER 문
- 생성된 테이블의 속성과 속성에 관한 제약을 변경하며 기본키, 외래키 변경함
- ADD, DROP 속성 추가, 제거
- MODIFY 속성 기본값 설정, 삭제
ALTER TABLE 테이블이름
[ADD 속성이름 데이터타입]
[DROP COLUMN 속성이름]
[MODIFY 속성이름 데이터타입]
[MODIFY 속성이름 [NULL┃NOT NULL]]
[ADD PRIMARY KEY(속성이름)]
[[ADD┃DROP] 제약이름]
ALTER TABLE NewBook ADD isbn VARCHAR(13);
ALTER TABLE NewBook MODIFY isbn INTEGER;
ALTER TABLE NewBook DROP COLUMN isbn;
ALTER TABLE NewBook MODIFY bookid INTEGER NOT NULL;
ALTER TABLE NewBook ADD PRIMARY KEY(bookid);
DROP 문
- 테이블을 삭제하는 명령
- 테이블의 구조와 데이터를 모두 삭제하므로 사용에 주의
- 이터만 삭제하려면 DELETE 문을 사용함
DROP TABLE NewBook;
숭실대학교 Database 강의를 수강 후 정리하였습니다.
'Database' 카테고리의 다른 글
[Database] SQL 내장 함수 (0) | 2023.02.05 |
---|---|
[Database] SQL DCL 데이터 조작어 (0) | 2023.02.04 |
[Database] SQL DML 데이터 조작어 (0) | 2023.02.03 |
[Database] 조인 연산 (0) | 2023.02.03 |
[Database] 관계 대수 (0) | 2023.02.03 |