\\dt
-- postgresql 내장 테이블 포함
SELECT * FROM pg_tables;
-- postgresql 내장 테이블 제외
select * from pg_tables where schemaname not in ('pg_catalog', 'information_schema')
CREATE문
을 사용한다.CREATE TABLE table_name([
column_name_1 datatype [COLLATE collaction] [column_constraint [...]]
column_name_1 datatype [COLLATE collaction] [column_constraint [...]]
...
])
COLLATE는 Database 관리 옵션 항목의 LC_COLLATE 항목에 해당한다.
column_constraint : 특정 컬럼에 대한 제약 조건을 의미
CREATE TABLE departments(
Department_id integer PRIMARY KEY,
Name varchar(50) );
테이블을 생성하면서 특정 컬럼에 조건 지정 가능하다.
이후에 alter table [table_name] add contraint …
를 사용하여 추가 가능하다.
구분 | 내용 |
---|---|
Check | 조건문으로 True 또는 False 확인 |
Not Null | Null 값을 허용하지 않음 |
Unique | 중복 허용하지 않음, 유일해야 함 |
Primary Key | Unique + Not Null로 유일한 식별자 |
Foreign Key | 외부 테이블에 있는 특정 칼럼의 값만 사용 |
외부 컬럼은 해당 테이블의 Primary Key |
CREATE TABLE products(
product_no integer,
name text,
price numeric CHECK (price > 0)); ## price가 0이하이면 오류 발생
CREATE TABLE products(
product_no integer NOT NULL,
name text NOT NUll,
price numeric);