postgreSQL -- 기본 사용법 ; CRUD


환경 : windows 7 64bit, postgreSQL 9.4, pgAdmin III 1.20.0


참고 : http://www.postgresql.org/docs/9.4/static/sql-createtablespace.html

          http://www.postgresqltutorial.com/postgresql-create-tablespace/

          http://www.gurubee.net/lecture/2946

          https://www.youtube.com/watch?v=fD7x8hd9yE4




1. tablespace 만들기 (옵션)

   -- tablespace 를 지정할 directory 를 먼저 만들자.


1) paAdmin III 에서 tablespace  만들기







결과 확인하기



2) query 로 만들기


CREATE TABLESPACE testdbtablespace LOCATION 'c:\dbdata\testdb_ts';




--  tablespace 조회 명령어 

\db;







2. database 만들기

      참고 : http://www.postgresql.org/docs/9.4/static/sql-createdatabase.html


1) tablespace 지정 안하는 경우, 기본 설정된 곳에 database 관련 파일들이 만들어진다.


CREATE DATABASE testdb ;


2) tablespace 지정하면, 해당 tablespace 에 지정된 directory에 database 관련 파일들이 만들어진다.


CREATE DATABASE testdb TABLESPACE testdbtablespace;



-- database 조회하기

\l




3) database 연결하기


\c databasename



** 참고 

< psql 사용법 : database 연결법 도움말 >



3. schema 만들기 (옵션)

   참고 : http://www.tutorialspoint.com/postgresql/postgresql_schema.htm

   -- 관리의 편의성 위해 schema 사용.

   -- schema 만들지 않으면, public schema 를 사용한다.


-- database 에 연결한후 schema 를 만든다.


-- schema 목록 보여주기 명령어

\dn




4. table 만들기 (위의 schema 만들기 생략한 경우.)

     참고 : http://www.postgresql.org/docs/9.4/static/sql-createtable.html


1) table 만들기 (위의 schema 만들기 생략한 경우.)


** serial 데이타타입 ; 4byte 자동 증가 정수.(autoincrement)

** timestamptz ; timestamp with timezone --> 날짜 + time + timezone


CREATE TABLE teacher (

    id              serial PRIMARY KEY,

    name        varchar(40),

    jumin        char(13),

    adm          date,

    retire         timestamptz

);



-- table 목록 보여주기

\dt


-- table 구조 보여주기

\d tablename




2) table 만들기 (schema 만든 경우.)

 ... 작성중....




5. CRUD


1) INSERT 

  참고 : http://www.tutorialspoint.com/postgresql/postgresql_insert_query.htm


INSERT INTO teacher (name, jumin, special, adm, retire)

VALUES ('홍길동', '5501011234567', false, '2012-01-10', NULL);


-- 여러줄의 데이터 한꺼번에 입력하기


INSERT INTO teacher (name, jumin, special, adm, retire) VALUES

('이태백', '4501111234577', true, '1998-11-10', '2012-01-30 18:30:00'),

('황진희', '5601222234577', false, '1997-05-10', NULL),

('김삿갓', '3601021235577', false, '1999-04-11', NULL);




2) UPDATE

   참고 : http://www.tutorialspoint.com/postgresql/postgresql_update_query.htm


UPDATE teacher SET retire='2015-12-31 21:00:30'

WHERE name='김삿갓';






3) DELETE

  참고 : http://www.tutorialspoint.com/postgresql/postgresql_delete_query.htm


DELETE FROM teacher WHERE id=3;

















Posted by 자유프로그램

댓글을 달아 주세요