유혁의 개발 스토리

[DB] DDL - SQL문 본문

DB

[DB] DDL - SQL문

유혁. 2021. 8. 23. 17:51

1. CREATE 

- Oracle 

▶ 테이블 생성

CREATE TABLE DBNAME 

   ID                 NUMBER(10)               NOT NULL,
   NAME            VARCHAR2(50)
   NO                NUMBER(10),
   DATE             DATE,
   CONSTRAINT emp_pk PRIMARY KEY (ID)
);

 

▶ 인덱스 생성

CREATE INDEX dbname_idx01 ON dbname(id, name);

 

 

- MySQL

▶ 데이터베이스 생성

CREATE DATABASE dbname;
CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

▶ 테이블 생성

CREATE TABLE tablename
(
   col_name1 INT PRIMARY KEY AUTO_INCREMENT,
   col_name2 VARCHAR(255) NOT NULL,
   col_name3 DATETIME NOT NULL
)CHARSET=uft8;

 

 

- PostgreSQL

▶ 데이터베이스 생성

CREATE DATABASE dbname;

 

▶ 테이블 생성

CREATE TABLE table_name
(
   ID              SERIAL PRIMARY KEY,
   NAME         VARCHAR(50) UNIQUE NOT NULL,
   MOD_DATE  TIMESTAMP
);

 

▶ 인덱스 생성

CREATE INDEX index01 ON table_name(column1, column2);

 

 

 

2. ALTER 

- Oracle

▶ 컬럼추가

ALTER TABLE dbname ADD email VARCHAR(25) DEFAULT '-' NOT NULL;

 

 

▶ 컬럼수정

ALTER RENAME dbname RENAME COLUMN before_column TO after_column;

 

▶ 컬럼삭제

ALTER TABLE dbname DROP COLUMN email;

 

▶ 컬럼 데이터 타입 변경

ALTER TABLE dbname MODIFY column_name VARCHAR2(10);
ALTER TABLE dbname MODIFY column_name NUMBER(10) DEFAULT 10 NOT NULL;

 

 

- MySQL

▶ 테이블 형식 변경

ALTER TABLE table_name ENGINE=엔진명;
ALTER TABLE table_name TYPE=타입명;

 

▶ 테이블 이름변경

ALTER TABLE table_name RENAME change_tb_name;

 

▶ 컬럼추가

ALTER TABLE table_name ADD COLUMN column_name VARCHAR(255);

 

▶ 컬럼변경

ALTER TABLE table_name MODIFY column_name VARCHAR(20);
ALTER TABLE table_name MODIFY column_name DATETIME;

 

▶ 컬럼삭제

ALTER TABLE table_name DROP COLUMN column_name;

 

▶ 인덱스 항목추가

ALTER TABLE table_name ADD INDEX(column_name);

 

▶ 인덱스 삭제

ALTER TABLE table_name DROP INDEX(column_name);

 

▶ PK 지정

ALTER TABLE table_name ADD PRIMARY KEY(column_name);

 

▶ PK 삭제

ALTER TABLE table_name DROP PRIMARY KEY;

 

 

- PostgreSQL

▶ 컬럼추가

ALTER TABLE tablename ADD column_name DATE;

 

▶ 컬럼삭제

ALTER TABLE tablename DROP column_name;

 

▶ 컬럼이름변경

ALTER TABLE tablename RENAME COLUMN column_name TO new_column_name;

 

▶ 컬럼타입 변경

ALTER TABLE tablename ALTER COLUMN column_name TYPE VARCHAR(100);

 

▶ 제약조건 추가

ALTER TABLE table_name ADD CONSTRAINT tbl_pk PRIMARY KEY USING INDEX pk_column;

 

▶ 테이블 소유자 변경

ALTER TABLE user OWNER TO table_name;

 

▶ 시퀀스 초기화

ALTER SEQUENCE TB_USER_SEQ RESTART WITH 1;

 

 

 

3. DROP

- Oracle

▶ 테이블 삭제

DROP TABLE table_name ;

 

- MySQL

▶ 데이터베이스 삭제

DROP DATABASE dbname;

 

▶ 테이블 삭제

DROP TABLE table_name;

 

 

- PostgreSQL

▶ 데이터베이스 삭제

DROP DATABASE dbname;

 

▶ 테이블 삭제

DROP TABLE tablename;

 

 

 

4. RENAME

- Oracle

RENAME tablename1 TO tablename2 ;

 테이블이름1 을 2로 변경한다.

 

- MySQL

▶ 테이블명 변경

RENAME TABLE before_table TO new_table;

 

- PostgreSQL

▶ 테이블명 변경

ALTER TABLE beforeTable RENAME TO afterTable;

 

 

'DB' 카테고리의 다른 글

[DB] Oracle 자주쓰는 문자열 함수  (0) 2021.08.30
[DB] MySQL 계정관리  (0) 2021.08.24
[DB] SQL의 종류  (0) 2021.08.23
[DB] MySQL, MariaDB 란 무엇인가, 엔진종류  (0) 2020.09.11
[DB] 이중화 HA, OPS, RAC 구성  (0) 2020.09.10