반응형

PostgreSQL DDL, DML 문법

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('시퀀스명'), ...);
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기