데이터 정의 언어
- 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(400) NOT 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; |
'Datebase' 카테고리의 다른 글
MySQL 한글 깨짐 현상 해결하기(UTF8 기본값 설정하기) (0) | 2018.01.30 |
---|---|
JDBC(Java Database Connectivity) - MySQL, Oracle DB 연동 (0) | 2018.01.30 |
MySQL 무설치 버전 설치하기 - Window (0) | 2018.01.26 |
SQL 문법 - SELECT 문 (0) | 2018.01.24 |
JDBC(Java Database Connectivity) - 자바 라이브러리 (0) | 2018.01.23 |