Database/PostgreSQL
Table 관련 기본 다루기
Tongchun
2017. 9. 26. 10:21
테이블을 다루는 쿼리를 확인해 보자
먼저 테이블 만들기.
company란 테이블을 만들어 보자. id를 primary key로 잡았고 not null이다.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
그리고 department라는 테이블도 만들어 보자.
이 테이블도 id를 primary key로 잡았다.
CREATE TABLE DEPARTMENT( ID INT PRIMARY KEY NOT NULL, DEPT CHAR(50) NOT NULL, EMP_ID INT NOT NULL );
테이블이 정상적으로 만들어 졌다면 테이블을 확인해 보자.
명령어는 \d로 확인할 수 있다.
\d List of relations Schema | Name | Type | Owner --------+------------+-------+---------- public | company | table | tongchun public | department | table | tongchun (2 rows)
테이블 정보를 자세히 확인할 때는 \d <테이블 이름>으로 확인할 수 있다.
\d company Table "public.company" Column | Type | Modifiers ---------+---------------+----------- id | integer | not null name | text | not null age | integer | not null address | character(50) | salary | real | Indexes: "company_pkey" PRIMARY KEY, btree (id)
primary key로 잡으면 index가 생성되는 것도 확인 할 수 있다.
이번엔 자동 증가하는 id를 만들어 보자. 자동 증가하는 column의 타입을 serial로 하면된다.
CREATE TABLE words ( equipId serial PRIMARY KEY, word varchar (50) NOT NULL, korean varchar (250) NOT NULL, example text NULL );
다시 테이블 리스트를 보면 serial 타입에 대한 가상 테이블이 생성된 것을 확인할 수 있다.
\d List of relations Schema | Name | Type | Owner --------+-------------------+----------+---------- public | company | table | tongchun public | department | table | tongchun public | words | table | tongchun public | words_equipid_seq | sequence | tongchun (4 rows)
테이블을 삭제하려면 drop table <테이블 이름>으로 할 수 있다.
department라는 테이블을 삭제해 보자.
drop table department;
테이블이 아니라 데이터만 모두 지우려면 delete 쿼리를 하거나 truncate를 하면 된다.
truncate 명령은 truncate table <테이블 이름>으로 할 수 있다.
truncate table words;
delete 쿼리는 데이터를 스켄하며 삭제하지만 truncate는 스켄하지 않으며 디스크에서 삭제해 빠르다.