PostgreSQL
[PostgreSQL] Postgresql 강좌 - 9.JOIN 문법
JOIN JOIN 문법은 FROM에서 2개 이상의 테이블을 결합하여 다수의 행을 검색하는 것을 말합니다. JOIN의 일반적인 문법으로는 다음과 같습니다. T1 join_type T2 [ join_condition ] JOIN할 두 테이블을 입력하고 어느 타입의 JOIN을 사용할 것인지 입력 해 줍니다. JOIN절은 여러가지 타입이 존재하는데 JOIN Type [INNER] JOIN LEFT [OUTER] JOIN RIGHT [OUTER] JOIN FULL [OUTER] JOIN CROSS JOIN JOIN 타입에 대한 설명은 다음과 같습니다. JOIN 예제 예제를 실행하기 위해서 T1테이블과 T2 테이블을 생성합니다. CREATE TABLE T1( num integer PRIMARY KEY, name v..
[PostgreSQL] Postgresql 강좌 - 8.DML
INSERT DML 사용의 예를 들기 위해 먼저 products 테이블을 생성합니다. products테이블에 integer형의 product_no, text형의 name,numeric형의 price컴럼을 생성합니다. CREATE TABLE products( product_no integer, name text, price numeric ); 테이블이 처음에 생성될 때는 테이블에 데이터가 하나도 포함되어있지 않습니다. 그래서 테이블 생성후에 테이터를 삽입해야 합니다. 테이블을 한번에 한 열씩 입력하게 되는데 이때 INSERT를 사용해 열을 생성합니다. products테이블에 product_no는 1, name은 Cheese, price는 9.99를 삽입합니다. INSERT INTO products VALU..
[PostgreSQL] Postgresql 강좌 - 6. 테이블 관리 (생성,변경, 삭제)
PostgreSQL을 배운지 일주일 정도 지났습니다. 어느정도 해보니 재밌고 할만하네용 ㅎㅎㅎ 그럼 이번 시간에 배울 내용은 테이블 관리에 대해 알아보도록 하겠습니다. 테이블 생성 테이블을 생성하기 위해서는 CREATE TABLE table_name을 이용해 테이블을 생성할 수 있습니다. 테이블을 생성할 때는 명령어를 실행하는 USER가 테이블의 소유자가 됩니다. 테이블 생성에 대한 Syntax CREATE TABLE table_name ( [ column_name1 data_type [ COLLATE collation ] [ column_constraint [ ... ] ] column_name2 data_type [ COLLATE collation ] [ column_constraint [ ... ]..
[PostgreSQL] Postgresql 강좌 - 5.제약 조건
1.Check constraints Check constraints는 가장 일반적인 제약 조건입니다. 특정 컬럼의 값이 boolean식에 부합되는지 체크합니다. 예를 들어 물건의 가격에 대한 check constraint를 대입할 경우 입니다. products 테이블에서 price 컬럼의 가격이 0보다 큰지를 비교하는 제약조건입니다. CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ); 2. Not null Not Null의 제약조건은 지정한 컬럼이 null 값과 갖지 않야아 하는 조건입니다. products 테이블에서 product_no와 name 컬럼은 null값을 가져서는 안된다는 것을 의미합..
[PostgreSQL] Postgresql 강좌 - 4. 데이터 타입
Name Aliases Description Bigint int8 signed 8byte 정수형 Bigserial serial8 자동증가 8byte 정수형 bit [ (n) ] 고정길이 bit string bit varying [ (n) ] Varbit 가변길이 bit string Boolean Bool Boolean연산 (true/false) Box 평면 위의 직사각형 상자 Bytea 이진 data ("byte array") character [ (n) ] char [ (n) ] 고정길이 character string character varying [ (n) ] varchar [ (n) ] 가변길이 character string Cidr IPv4 or IPv6 network address Circle..
[PostgreSQL] Postgresql 강좌 - 3.TABLESPACE 관리
이번 시간에는 TABLESPACE 관리에 대해 알아보도록 하겠습니다. 1.TABLESPACE 조회 현재 존재하고 있는 TABLESPACE를 조회하기 위해 pgAdmin의 Object Browser에서 검색하거나 psql에 \db 명령어로 조회할 수 있습니다. \du 2. CREATE TABLESPACE CREATE TABLESPACE의 'tablespacename명'을 입력해 TABLESPACE를 생성합니다.(단 'pg_'로 시작하는 이름은 불가능) CREATE TABLESPACE tablespacename Option 기능 OWNER username 입력하여 TABLESPACE를 소유하는 USER를 지정해 줍니다. 이를 생략할 경우 접속되 있던 USER가 default로 지정됩니다. LOCATION '..
[PostgreSQL] Postgresql 강좌 - 2.DATABASE/SCHEMA 관리
이번 시간에는 2번째 postgreSQL 시간인 데이터베이스 관리와 수정 삭제 조회 그리고 SCHEAM까지 배워보도록 하겠습니다. 1.DATABASE의 구조 postgrSQL의 DATABASE는 여러 개의 SCHEMA(스키마)들로 구성된 데이터베이스 입니다. SCHEMA는 OBJECT(오브젝트)들의 논리적인 집합을 말합니다. SCHEMA는 TABLE(테이블), VIEW(뷰),SEQUENCE(수열), DOMAIN(도메인), FUNCTION(함수) 등의 OBJECT들로 구성되어 있습니다. 이러한 DATABASE들과 USER/GROUPS, TABLESPACES들이 모여 CLUSTER(쿨러스터)를 구성합니다. 2.DATABASE 소유 DATABASE를 생성하기 위해서는 SUPERUSER(슈퍼유저)이거나 CREA..
[PostgresQL] Postgresql 강좌 - 1. USER 조회와 생성 수정 삭제
자 그러면 postgresql도 설치했으니 이번에는 psql을 이용해 유저를 생성하고 수정하고 삭제 조회 하는 기능을 알아보도록 하겠습니다. DATABASE에서 USER는 DATABASE를 사용하는 주체로 OS를 운영하는 USER와 분리되어 있습니다. USER는 소유하고 있는 DATABASE안에 OBJECT(오브젝트)의 권한을 변경하고 제어할 수 있습니다. 1.USER 조회하기 유저를 생성하기 위해서 처음으로 해야할 과정은 먼저 DATABASE안에 SUPERUSER(관리자)권한을 가지고 있어야 합니다. PostgreSQL에 SUPERUSER와 default 계정은 postgres 입니다. SELECT * FROM PG_SHADOW; 또는 \du 위 SELECT * FROM PG_SHADOW; 명령어는 현..
[PostgresQL] 우분투 PostgreSQL 설치
1. 기본 설치 확인 kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ aptitude show postgresql | grep State State: not installed 2. postgreSQL 설치 kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo apt-get install postgresql 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다: libfwupdplugin1 libllvm11 linux-headers-5.14.0-1027-oem linux-headers-5.4.0-104 linux-headers-5.4.0-104-generi..
[PostgreSQL] PostgresSQL이란?
PostgresQL이란? postgreSQL은 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)으로, Enterprise급 DBMS의 기능과 차세대 DBMS에서 볼 수 있을 법한 기능들을 제공합니다. 약 20여년 동안 오랜 역사를 갖고 있는 PostgreSQL은 다른 관계형 데이터베이스 시스템과 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써 마치 새로운 하나의 프로그래밍 언어처럼 무한한 기능을 손쉽게 구현할 수 있습니다. PostgreSQL은 무료로 제공되고 있으며 1985년 개발을 시작해 1996년에 첫 출시가 된 언어입니다. Oracle(오라클) 개발자들이 대거나와 PostgreSQL 개발에 ..