샘플데이터를 다운받아, psql로 Postgresql의 기초문법을 알아보자.
데이터를 DB에 넣는 방법
psql 사용
pg_restore -U postgres -d test1 dvdrental.tar
dvdrental.tar 데이터 파일을 postgres 사용자가 test1 DB에 restore
pdAdmin4 사용
프로그램에서 데이터베이스를 골라서 restore → 파일선택
psql -U postgres
\l
: 데이터베이스 목록을 조회한다.
데이터베이스 목록
\c
: 현재 접속정보 조회
사용자:postgres, 데이터베이스:postgres
\connect 데이터베이스명
: 베이터베이스 선택, 연결
데이터베이스가 postgres에서 test1으로 변경됨
\dt
: 테이블 목록 조회
15개의 행 조회
\d
: 관계목록(테이블,보기,시퀀스) 조회
총 35개의 관계목록
\d 테이블이름
: 테이블에개한 개별 정보 조회
film 테이블에대한 상세정보 조회
SELECT <columns> FROM <table>;
SELECT의 기본 형식
ex) SELECT actor_id, first_name FROM actor;
쿼리 실행결과 (200개 행)
SELECT <columns> FROM <table> LIMIT <int>;
개만큼 데이터를 조회한다. (위에서부터)
ex) SELECT actor_id, first_name FROM actor LIMIT 4;
쿼리 실행결과 (4개 행)
SELECT <columns> FROM <table> WHERE <조건>;
조건에 맞는 데이터를 조회한다.
ex) SELECT * FROM customer WHERE store_id=2 and customer_id=400;
store_id = 2 이고, customer_id = 400 인 데이터 (1행)
SELECT <columns> FROM <table> WEHRE <조건> BETWEEN <범위1> AND <범위2>;
범위1과 범위2사이 데이터 출력
SELECT <columns> FROM <table> WEHRE <조건> IN <범위1>;
범위1안에 들어있는 데이터 출력
SELECT <columns> FROM <table> WEHRE <조건> IS NULL;
<조건>이 NULL인 데이터 출력
ex) SELECT * FROM address WHERE address2 IS NULL;
address2가 NULL값을 가진 4개의 데이터행
SELECT <columns> FROM <table> WEHRE <조건> IS NOT NULL;
<조건>이 NULL이 아닌데이터 출력
SELECT <columns> FROM <table> ORDER BY <colomn name> DESC;
데이터를 내림차순으로 정렬
ex) SELECT film_id, title FROM film ORDER BY film_id DESC LIMIT 4;
film_id를 기준으로 내림차순으로 출력된 데이터
SELECT DISTINCT <columns> FROM <table>;
결과에서 중복 행을 제거. 모든열의 조합에 적용
ex) SELECT DISTINCT customer_id, staff_id FROM payment;
중복이 모두 제거된 amount
SELECT min(<columns>) FROM <table>;
최소값을 얻는다
SELECT max(<columns>) FROM <table>;
최대값을 얻는다
ex) `SELECT max(amount) FROM payment WHERE amount < 4;`
4보다 작은 amount중 가장 큰(max) amount 조회
dvdrental 데이터 예제 참고