티스토리 뷰

반응형

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 | NO ACTION]}
)

 

속성의 데이터 타입 종류

데이터 타입 설명 비슷한 타입
NUMBER(p, s) - p자리 정수, s자리 소수
- p와 s 생략 시 NUMBER(8,2)로 저장
DECIMAL(p, s)
NUMBER[(p, s)]
INTEGER
INT
SMALLINT
CHAR(n) - 문자열 고정길이
- 남은 공간은 공백으로 채움
CHARACTER(n)
CHAR(n)
VARCHAR2(n) - 문자열 가변길이
- 4000 byte까지 저장
CHARACTER(n)
VARYING(n)
CHAR(n)
VARYING(n)
DATE - 날짜형
- 연도/월/날/시간 지정
 

 

 

예시 문제)

다음과 같은 속성을 가진 NewOrders 테이블을 만드시오.
- orderid(주문번호) - NUMBER, 기본키
- custid(고객번호) - NUMBER, NOT NULL, 외래키(NewCustomer.custid, 연쇄삭제)
- bookid(도서번호) - NUMBER, NOT NULL
- saleprice(판매가격) - NUMBER
- orderdate(판매일자) - DATE

 

CREATE TABLE NewOrders(
	orderid NUMBER,
	custid NUMBER NOT NULL,
	bookid NUMBER NOT NULL,
	saleprice NUMBER,
	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] 제약이름]

 

 

예시 문제)

NewBook 테이블의 bookid 속성에 NOT NULL 제약조건을 적용하시오.
ALTER TABLE NewBook MODIFY bookid NUMBER NOT NULL;

 

 

DROP 문

테이블의 구조와 데이터를 모두 삭제 DELETE 문: 데이터만 삭제

DROP TABLE 테이블이름
반응형