Default format.
CREATE TABLE 테이블 (필드 타입 제약조건, 필드 타입 제약조건);
CREATE TABLE table(field1 data\_format(size), field2 data\_format(size));
데이터 타입
1) CHAR(10)
: 고정 길이 문자열, 최대 길이 10
2) VARCHAR2(10)
: 가변 길이 문자열, 최대 길이 10
3) NUMBER
: 정수 또는 실수 모두 포함
4) DATE
: 날짜
5) TIMESTAMP
: 날짜
제약조건
1) NOT NULL
: 공백이 불가능하다.
2) UNIQUE
: 중복이 불가능하다.
3) DAFAULT
: 입력되지 않으면 사용할 기본값이다.
4) CHECK
: 유효한 값의 범위를 제한한다.
5) PRIMARY KEY
: 기본키
6) CONSTAINT
제약조건이름 FOREIGN KEY
(필드) REFERENCES
기준테이블(기준필드) : 외래키 + 제약조건이름 설정
기준 테이블 | 참조 테이블 | |
---|---|---|
테이블 | MEMBER | BUY |
제약조건 | PK | FK |
CREATE TABLE MEMBER (
NO NUMBER NOT NULL PRIMARY KEY,
ID VARCHAR2(20) NOT NULL UNIQUE,
PW VARCHAR2(20) NOT NULL,
EMAIL VARCHAR2(40) UNIQUE,
POINT NUMBER DEFAULT 1000 CHECK (POINT BETWEEN 0 AND 10000) NOT NULL,
--POINT NUMBER DEFAULT 1000 CHECK (POINT >= 0 AND POINT <= 10000) NOT NULL,
GRADE VARCHAR2(10) CHECK (GRADE = 'VIP' OR GRADE = 'GOLD'),
--GRADE VARCHAR2(10) CHECK (GRADE IN('VIP', 'GOLD')),
REGDATE DATE DEFAULT SYSDATE NOT NULL
);
CREATE TABLE BUY (
BUYNO NUMBER NOT NULL PRIMARY KEY,
NO NUMBER NOT NULL,
PRODUCTNO NUMBER NOT NULL,
AMOUNT NUMBER DEFAULT 1 NOT NULL
CONSTRAINT MEMBER\_NO\_FK FOREIGN KEY (NO) REFERENCES MEMBER(NO)
);
Default format.
CREATE TABLE 테이블 (필드 타입 제약조건, 필드 타입 제약조건);
CREATE TABLE table(field1 data\_format(size), field2 data\_format(size));
열 추가
ALTER TABLE 테이블 ADD 필드 타입 제약조건;
ALTER TABLE 테이블 ADD (필드 타입 제약조건, 필드 타입 제약조건);
열 삭제
ALTER TABLE 테이블 DROP COLUMN 필드;
ALTER TABLE 테이블 DROP (필드, 필드);
열 이름 바꾸기
ALTER TABLE 테이블 RENAME COLUMN 기존이름 TO 새이름;
열 데이터 형식 수정
ALTER TABLE 테이블 MODIFY (필드 타입 제약조건);
기본키 제약조건 추가
ALTER TABLE 테이블 ADD PRIMARY KEY (필드);
ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 PRIMARY KEY (필드);
기본키 제약조건 삭제
ALTER TABLE 테이블 DROP PRIMARY KEY;
ALTER TABLE 테이블 DROP CONSTRAINT 제약조건이름;
외래키 제약조건 추가
ALTER TABLE 참조테이블 ADD FOREIGN KEY (참조필드) REFERENCES 기준테이블 (기준필드);
ALTER TABLE 참조테이블 ADD CONSTRAINT 제약조건이름 FOREIGN KEY (참조필드) REFERENCES 기준테이블 (기준필드);
외래키 제약조건 삭제
DROP TABLE 참조테이블 DROP CONSTRAINT 제약조건이름;
DROP TABLE 테이블; (참조테이블 삭제 후 기준테이블 삭제!)
DROP TABLE table;
DESC 테이블;
CREATE SEQUENCE 시퀀스;
CREATE SEQUENCE 시퀀스 START WITH 1 INCEREMENT BY 1;
CREATE SEQUENCE sequence [START WITH n]
[INCREMENT BY n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE | NOCACHE];