반응형
PostgreSQL DDL, DML 문법
DDL (Data Definition Language, 데이터 정의어)
데이터베이스 구조 또는 스키마를 정의하는데 사용된다.
직접적으로 데이터베이스 테이블에 영향을 미치기 때문에 DDL 명령어를 입력하는 순간 해당 작업이 Auto Commit 된다는 것을 기억해야 한다.
CREATE (데이터베이스 객체 생성)
CREATE TABLE [IF NOT EXISTS] table_name (
column1 datatype(length) primary key,
column2 datatype(length) not null,
column3 datatype(length) not null,
column4 datatype(length)
);
ALTER (데이터베이스 구조 변경)
// 테이블명 변경
ALTER TABLE [변경 전 테이블명] RENAME TO [변경 후 테이블명];
// 컬럼 추가
ALTER TABLE [테이블명] ADD COLUMN [컬럼명] [데이터타입] [제약조건];
// 컬럼명 변경
ALTER TABLE [테이블명] RENAME COLUMN [변경 전 컬럼명] TO [변경 후 컬럼명];
// 컬럼 데이터 타입 변경
ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] TYPE [데이터타입];
// 컬럼 삭제
ALTER TABLE [테이블명] DROP COLUMN [컬럼명];
DROP (데이터베이스 객체 삭제)
DROP TABLE [테이블명];
DML (Data Manipulation Language, 데이터 조작어)
데이터베이스의 데이터를 관리하는데 사용되며 해당 명령어는 Auto Commit 이 되지 않는다. 데이터베이스에 영구적이지 않기 때문에 Rollback 도 가능하다.
SELECT (데이터베이스에서 데이터 조회)
SELECT *
FROM [테이블명]
WHERE
[조건];
INSERT (테이블에 데이터 추가)
// 테이블에 포함되어 있는 컬럼 순서대로 입력
INSERT INTO [테이블명]
VALUES
(
VALUE1,
VALUE2,
VALUE3,
...
);
// 컬럼명 지정하여 추가
INSERT INTO [테이블명]
(
COLUMN1,
COLUMN2
)
VALUES
(
VALUE1,
VALUE2
);
UPDATE (테이블 내에 기존 데이터 수정)
UPDATE [테이블명]
SET
COLUMN_1 = VALUE1,
COLUMN_2 = VALUE2
WHERE[조건];
DELETE (테이블 내에 데이터 삭제)
DELETE FROM [테이블명]
WHERE [조건];
PRIMARY KEY 생성
ALTER TABLE [테이블명] ADD CONSTRAINT [테이블_PK명] PRIMARY KEY (KEY1, KEY2..);
PRIMARY KEY 삭제
ALTER TABLE [테이블명] DROP PRIMARY KEY;
SEQUENCE 추가
// 시퀀스를 추가할 컬럼 생성
ALTER TABLE [테이블명] ADD COLUMN [컬럼명] [데이터타입];
// 시퀀스 생성
CREATE SEQUENCE [시퀀스명];
// 이미 생성된 시퀀스를 컬럼에 생성하기
alter table [테이블명] alter [컬럼명] set default nextval('시퀀스명');
//특정 컬럼에 시퀀스 추가
ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] SET DEFAULT NEXTVAL('시퀀스명');
// 시퀀스 PRIMARY KEY 로 추가
ALTER TABLE [테이블명] ADD CONSTRAINT [PK_테이블명] PRIMARY KEY([컬럼명]);
자동으로 증가하는 시퀀스 ID
INSERT INTO [테이블명] VALUES (NEXTVAL('시퀀스명'), ...);
반응형
'DBMS > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 뷰(View) 테이블 생성 및 제어 (0) | 2023.01.27 |
---|---|
[PostgreSQL] 특정 문자열 개수 구하기 (0) | 2023.01.19 |
[PostgreSQL] SELECT JOIN 결과값 UPDATE (0) | 2023.01.18 |
[PostgreSQL] 괄호가 포함된 문자 replace하기 (0) | 2023.01.17 |
macOS PostgreSQL 설치부터 접속까지 (DBeaver 로 접속) (0) | 2022.06.23 |
최근댓글