Datebase

SQL문 - DDL(Data Definition Language)

엘호리스 2018. 1. 25. 11:34


데이터 정의 언어

  • CREATE : 데이터베이스 개체 (테이블, 인덱스, 제약조건 등)의 생성
  • DROP : 데이터베이스 개체 삭제
  • ALTER : 데이터베이스 개체 정의 변경


문법과 예제


CREATE문

CREATE TABLE 테이블명(

컬럼명1    데이터타입    제약조건

,컬럼명2    데이터타입    제약조건

,컬럼명3    데이터타입    제약조건

);


제약조건

  • PRIMARY KEY    : 기본키로 설정
  • FOREIGN KEY REFERENCES 테이블명    : 외래키
  • UNIQUE    : 중복 허용하지 않음
  • NOT NULL    : NULL값을 받지 않음
  • DEFAULT 기본값    : 기본값 설정
  • CHECK 체크조건    : 값에 대한 조건 설정(조건에 괄호)

예제

1
2
3
4
5
6
7
8
9
10
CREATE TABLE member(
    mnum     NUMBER(10)    PRIMARY KEY      -- 번호
    ,mname   VARCHAR2(30)  NOT NULL         -- 이름
    ,mid     VARCHAR2(12)  NOT NULL UNIQUE  -- 아이디
    ,mpwd    VARCHAR2(12)  NOT NULL         -- 암호
    ,email   VARCHAR2(320)        -- 이메일
    ,phone   VARCHAR2(20)         -- 전화
    ,regdate DATE DEFAULT SYSDATE -- 가입일
    ,memo    VARCHAR2(4000)       -- 자기소개
);
cs




ALTER문

ALTER TABLE 테이블명

(ADD , ADD CONSTRAINT , DROP , DROP CONSTRAINT , MODIFY , RENAME TO , RENAME COLUMN


1. ADD

ALTER TABLE 테이블명

ADD    컬럼명    데이터타입;


1
2
ALTER TABLE member
ADD (address VARCHAR2(80));
cs


ALTER TABLE 테이블명

ADD CONSTRAINT 제약조건명 제약조건 (컬럼명);

1
2
3
ALTER TABLE member
ADD CONSTRAINT address
   NOT NULL;
cs


2. DROP

ALTER TABLE 테이블명

DROP COLUMN 컬럼명;


1
2
ALTER TABLE member
DROP COLUMN address;
cs


ALTER TABLE 테이블명

DROP CONSTRAINT 제약조건명;


1
2
ALTER TABLE member
DROP CONSTRAINT address;
cs


3. MODIFY

ALTER TABLE 테이블명

MODIFY 컬럼명1    데이터타입    DEFAULT식    NOT NULL

     ,컬럼명2    데이터타입    DEFAULT식    NOT NULL;


1
2
ALTER TABLE member
MODIFY COLUMN email varchar(400NOT NULL;
cs


4. RENAME

ALTER TABLE 테이블명

RENAME COLUMN 변경대상컬럼명 TO 변경할컬럼명;


1
2
ALTER TABLE PLAYER
RENAME COLUMN memo TO notepad;
cs


ALTER TABLE 테이블명

RENAME TO 변경할테이블명;


1
2
ALTER TABLE member
RENAME TO account;
cs




DROP문


DROP TABLE 테이블명;

DROP TABLE 테이블명 CASCADE CONSTRAINT;    : 해당 테이블과 참조되는 제약조건도 삭제



이외에 명령 프롬프트에서 자주 사용하는 구문들


 C:\ Command Prompt

 SQL > ALTER USER dbmember IDENTIFIED BY 1234;

 SQL > CONN dbmember/1234;

          연결되었습니다.



 C:\ Command Prompt

 SQL > ALTER USER dbmember DEFAULT TABLESPACE USERS;