DDL: ALTER, DROP
일단 테스트를 위한 테이블을 만들자.
—테이블 만들기
CREATE TABLE test(
id VARCHAR2(10),
pwd VARCHAR2(10));
1. ALTER
—컬럼 추가
ALTER TABLE test ADD name VARCHAR2(20) CONSTRAINT test_nn_name NOT NULL;
— 컬럼 수정
ALTER TABLE test MODIFY id VARCHAR2(20) CONSTRAINT test_pk_id PRIMARY KEY;
—컬럼 삭제
ALTER TABLE test DROP COLUMN name;
—값 추가
INSERT INTO test VALUES(‘aaa’,’1234′);
INSERT INTO test VALUES(‘bbb’,‘1234’);
INSERT INTO test VALUES(‘ccc’,‘1234’);
COMMIT;
2. DELETE
—테이블 삭제하기
DELECT FROM test;
TRUNCATE TABLE test;
3. DROP (테이블 완전히 다 없어짐) //주의!오토커밋
DROP TABLE test;
———————————————————————————————————-
다시 연습을 위한 테이블을 만들자.
DROP TABLE 판매전표;
DROP TABLE 제품;
DROP TABLE 전표상세;
CREATE TABLE 판매전표(
전표번호 VARCHAR2(12),
판매일자 DATE,
고객명 VARCHAR2(34),
총액 NUMBER
);
CREATE TABLE 제품(
제품번호 VARCHAR2(12),
제품명 VARCHAR2(50),
제품단가 NUMBER
);
CREATE TABLE 전표상세(
전표번호 VARCHAR2(12),
제품번호 VARCHAR2(12),
수량 NUMBER,
단가 NUMBER,
금액 NUMBER
);
1. ALTER로 제약조건 주기
ALTER TABLE 판매전표 ADD CONSTRAINT 판매전표_pk_전표번호 PRIMARY KEY(전표번호);
ALTER TABLE 판매전표 ADD CONSTRAINT 판매전표_ck_총액 CHECK(총액>0);
ALTER TABLE 판매전표 MODIFY 고객명 CONSTRAINT 판매전표_nn_고객명 NOT NULL;
2. ALTER로 제약조건 주기2
ALTER TABLE 제품 ADD CONSTRAINT 제품_uk_제품명 UNIQUE(제품명);
ALTER TABLE 전표상세 ADD CONSTRAINT 전표상세_fk_전표번호 FOREIGN KEY(전표번호) REFERENCES 판매전표(전표번호);