Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • bean
  • 트랜잭션
  • 백준
  • 1259
  • 우아한형제들
  • OperatingSystem
  • 우테코5기
  • C
  • 우테코
  • Linux
  • 원시값 포장
  • OS
  • 데이터 조작어
  • 우테코 체스
  • 인덱스
  • 프로세스
  • BOJ
  • 블랙잭
  • 정규화
  • Spring
  • SIGINT
  • DB
  • 자바
  • 리눅스
  • 운영체제
  • C++
  • 우아한테크코스5기
  • signal
  • Operating System
  • 우아한테크코스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

Database

[Database] SQL DDL 데이터 정의어

2023. 2. 4. 17:04

데이터 정의어(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
    'Database' 카테고리의 다른 글
    • [Database] SQL 내장 함수
    • [Database] SQL DCL 데이터 조작어
    • [Database] SQL DML 데이터 조작어
    • [Database] 조인 연산
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바