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 ;