SQL
[ORACLE] 1. DDL (CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT)
킹왕짱지지
2024. 4. 2. 15:55
1. DDL
▪ CREATE TABLE: 테이블 생성
CREATE TABLE 테이블명(
-- 컬럼 타입(길이)
날짜컬럼 DATE,
문자열컬럼 VARCHAR2(길이),
숫자컬럼 NNUMBER(길이),
숫자컬럼 NNUMBER(길이, 소수점 이하자리)
바이너리 BLOB
);
--제약조건
-- NOT NULL
CREATE TABLE book (
bookno NUMBER(5) NOT NULL
);
-- UNIQUE
CREATE TABLE book (
bookno NUMBER(5) CONSTRAINT c_book_u UNIQUE
);
--PRIMARY KEY
CREATE TABLE book (
ssn1 NUMBER(9),
ssn2 NUMBER(9),
PRIMARY KEY (ssn1,ssn2)
);
-- FOREIGN KEY
CREATE TABLE book (
…
author_id NUMBER(10),
CONSTRAINT c_book_fk FOREIGN KEY (author_id)
REFERENCES author(id)
ON DELETE SET NULL
);
-- CHECK
CREATE TABLE book (
rate NUMBER CHECK (rate IN (1,2,3,4,5))
);
▪ ALTER TABLE: 테이블 스키마(등) 관련 변경
-- 컬럼 추가
ALTER TABLE book ADD (pubs VARCHAR2(50));
-- 컬럼 수정
ALTER TABLE book MODIFY (title VARCHAR2(100));
-- 컬럼 삭제
– ALTER TABLE book DROP author;
-- UNUSED 컬럼
ALTER TABLE book SET UNUSED (author);
ALTER TABLE book DROP UNUSED COLUMNS;
▪ DROP TABLE: 테이블 삭제
-- 테이블 삭제
DROP TABLE book;
▪ RENAME: 이름 변경
RENAME book TO article;
ALTER TABLE book RENAME COLUMN bookno TO bookid
▪ TRUNCATE: 테이블의 모든 데이터 삭제
TRUNCATE TABLE book;
▪ COMMENT: 테이블에 설명 추가
COMMENT ON TABLE emp IS ’This is a table for
employees’;
TO_CHAR(PUBLISHED_DATE, 'YYYY-MM-DD') AS PUBLISHED_DATE
ORDER BY PUBLISHED_DATE ASC/ DESC ;