database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Tutorials 4920 게시물 읽기
No. 4920
자습서 - 2. SQL 언어 - 2.3 새 테이블 만들기
작성자
김상기(ioseph)
작성일
2003-09-09 13:52ⓒ
2003-09-09 13:53ⓜ
조회수
9,503

원문: http://database.sarang.net/database/postgres/manual/manual-7.3/tutorial-table.html

옮긴이: 김상기

2.3. 새 테이블 만들기

새 테이블은 다음과 같이 테이블의 이름과 그 테이블을 구성하는 각 칼럼과 그 칼럼의 자료형을 지정해서 만듭니다:

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

psql 안서는 하나의 SQL 명령이 여러 줄로 나뉘어져 있어도 되고, 한 줄로 모두 표현 되어도 상관 없습니다. 하지만, 하나의 명령은 반드시 세미콜론(;)으로 끝나야합니다.

 

SQL 구문을 작성할 때 공백문자(스페이스, 탭, 줄바꿈문자)들이 자유롭게 사용할 수 있습니다. 즉, 굳이 꼭 위와 같이 그대로 입력하지 않아도 됩니다. 한 줄로 길게 늘여 써도 상관 없습니다. 단지 주의할 것은 '--' 문자는 주석을 표현하는 것인데, 이것이 있으면, 그 다음부터 줄 끝까지 무시됩니다. SQL 문법에서는 예약어(keyword, 명령이름, 구문 중간 중간에 나오는 on, default, not null 같은 것들)와 식별자(identifier, 테이블 이름, 칼럼 이름  같은 것들)의 대소문자를 구별하지 않습니다. 단지, 식별자가 큰따옴표(")로 둘러 쌓여지면, 그 식별자는 입력한 그대로의 대소문자를 유지합니다.

 

varchar(80) 이것은 최대길이가 80글자인(주, byte가 아니라, '글자'입니다) 문자열을 저장할 수 있음을 나타내고, int 이것은 일반적인 정수형 숫자, real 이것은 소수점을 사용하는 숫자, date 이것은 말 그대로 날짜형을 나타냅니다. (윗 명령에서 처럼 칼럼 이름이 자료형 이름과 같을 수도 있습니다. 이런 방식이 편하기도 하겠지만, 헷갈리기도 할 것입니다. 선택은 테이블 만드는 사람의 몫입니다.)

 

PostgreSQL에서 사용할 수 있는 자료형은 int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp, interval 그리고, 일반적인 기타 자료형들과 지리 정보를 담기 위해서 사용되는 다양한 자료형들입니다. 또한 PostgreSQL에서는 사용자 정의 자료형을 만들 수 있습니다. 따라서 표준 SQL과의 호환성을 유지하기 위해서 특별히 문법적으로 예약어 기능을 해야하는 것들을 제외하고는 PostgreSQL에서의 자료형 이름은 문법적인 예약어가 아닙니다. (주, 그래서, create table weather (...., data data); 같은 구문이 가능합니다)

 

다음 예제는 도시 이름과, 그 도시의 위치를 나타내는 지리정보를 담기위한 테이블을 만드는 것입니다: 

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

point 자료형은 PostgreSQL 고유 자료형입니다. (주, PostgreSQL 프로젝트의 시작이 테이블 상속과 지리정보를 담기 위한 것이였거든요)

 

끝으로, 더 이상 사용하지 않는 테이블을 삭제하거나, 똑 같은 이름의 테이블을 다른 구조로 다시 만들려면, 다음과 같은 명령을 사용합니다:

DROP TABLE tablename;
[Top]
No.
제목
작성자
작성일
조회
4942자습서 - 2. SQL 언어 - 2.4 자료 조회
김상기
2003-09-15
15249
4941자습서 - 2. SQL 언어 - 2.4 자료 입력
김상기
2003-09-15
7827
4920자습서 - 2. SQL 언어 - 2.3 새 테이블 만들기
김상기
2003-09-09
9503
4918자습서 - 2. SQL 언어 - 2.2 개념
김상기
2003-09-09
6955
4912자습서 - 2. SQL 언어 - 2.1 소개
김상기
2003-09-08
7506
4908자습서 - 1. 시작하기 - 1.4 데이터베이스 사용하기
김상기
2003-09-08
8897
4906자습서 - 1. 시작하기 - 1.3 데이터베이스 만들기
김상기
2003-09-08
10628
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다