Oracle - 데이터 정의(CREATE, ALTER, DROP)
TABLE 생성(CREATE)
-
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 |
- 제약 조건 이름 : 테이블_필드_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)
);
TABLE 수정(ALTER)
-
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 제약조건이름;
TABLE 삭제(DROP)
- Default format.
DROP TABLE 테이블; (참조테이블 삭제 후 기준테이블 삭제!)
DROP TABLE table;
TABLE 삭제(DROP)
- Default format.
DESC 테이블;
SEQUENCE 생성(CREATE)
- Default format.
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];
Author And Source
이 문제에 관하여(Oracle - 데이터 정의(CREATE, ALTER, DROP)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@y_dragonrise/Oracle-DB-Oracle-데이터-정의CREATE-ALTER-DROP저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)