반응형
개요
PostgreSQL은 다른 RDBMS와 달리 ORDBMS로 객체 지향을 지원하는 관계형 데이터베이스이다.
SQL뿐만 아니라 다양한 간단한 명령어를 지원한다.
DB 보기, 사용, 테이블 보기 등 일부 명령어가 다른 DB의 SQL문과 상이해 혼란이 온다.
이를 방지하기 위해 자주 사용하는 PostgreSQL전용 명령어를 익혀보자
데이터베이스 관리
1. 데이터베이스 생성
CREATE DATABASE database_name;
2. 데이터베이스 목록 보기
\l
3. 데이터베이스 접속
\c database_name;
4. 데이터베이스 삭제
DROP DATABASE database_name;
실습 후 알게된 점은 DB를 \c를 통해 사용 중인 경우 데이터베이스를 DROP할 수 없었다.
테이블 관리
1. 테이블 생성
CREATE TABLE table_name (
column_name1 data_type CONSTRAINT,
column_name2 data_type CONSTRAINT,
...
);
2. 테이블 목록 보기
\dt
3. 테이블 구조 확인
\d table_name
4. 테이블 삭제
DROP TABLE table_name;
데이터 조작
1. 데이터 삽입
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
2. 데이터 조회
SELECT column1, column2, ...
FROM table_name
WHERE condition;
3. 데이터 업데이트
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
4. 데이터 삭제
DELETE FROM table_name
WHERE condition;
조건 및 정렬
1. 조건 조회 (WHERE)
SELECT * FROM table_name WHERE column = value;
2. 정렬 (ORDER BY)
SELECT * FROM table_name ORDER BY column ASC/DESC;
3. 중복 제거 (DISTINCT)
SELECT DISTINCT column FROM table_name;
4. 범위 검색 (BETWEEN)
SELECT * FROM table_name WHERE column BETWEEN value1 AND value2;
함수 및 집계
1. COUNT
SELECT COUNT(*) FROM table_name;
2. SUM
SELECT SUM(column) FROM table_name;
3. AVG
SELECT AVG(column) FROM table_name;
4. MAX / MIN
SELECT MAX(column) FROM table_name;
SELECT MIN(column) FROM table_name;
인덱스 및 트랜잭션
1. 인덱스 생성
CREATE INDEX index_name ON table_name (column_name);
2. 트랜잭션 시작
BEGIN;
3. 트랜잭션 커밋
COMMIT;
4. 트랜잭션 롤백
ROLLBACK;
사용자 및 권한
1. 사용자 생성
CREATE USER username WITH PASSWORD 'password';
2. 권한 부여
GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
3. 권한 회수
REVOKE ALL PRIVILEGES ON DATABASE database_name FROM username;
4. 사용자 삭제
DROP USER username;
기타 편의 기능
1. SQL 파일 실행
psql -U username -d database_name -f file.sql
2. 쿼리 실행 시간 보기
\timing
3. SQL 히스토리 확인
\s
728x90
반응형
'데이터베이스(DB) > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] Windows 설치, 서버 구동 (0) | 2025.01.12 |
---|---|
[PostgreSQL] 기본, 특징 (0) | 2025.01.12 |