PostgreSQL - CREATE Table
PostgreSQL CREATE TABLE deyimi, verilen veritabanlarının herhangi birinde yeni bir tablo oluşturmak için kullanılır.
Sözdizimi
CREATE TABLE ifadesinin temel sözdizimi aşağıdaki gibidir -
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE, veritabanı sistemine yeni bir tablo oluşturmasını söyleyen bir anahtar sözcüktür. Tablonun benzersiz adı veya tanımlayıcısı CREATE TABLE deyimini izler. Başlangıçta, mevcut veritabanındaki boş tablo, komutu veren kullanıcıya aittir.
Daha sonra, parantez içinde, tablodaki her bir sütunu ve ne tür bir veri türü olduğunu tanımlayan liste gelir. Sözdizimi aşağıda verilen bir örnekle netleşecektir.
Örnekler
Aşağıda, birincil anahtar olarak ID'ye sahip bir ŞİRKET tablosu oluşturan ve NULL DEĞİL, bu tablodaki kayıtlar oluşturulurken bu alanların NULL olamayacağını gösteren kısıtlamalar olan bir örnektir -
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Sonraki bölümlerde alıştırmalarımızda kullanacağımız bir tablo daha oluşturalım -
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
Tablonuzun başarıyla oluşturulup oluşturulmadığını kullanarak doğrulayabilirsiniz. \d komutu, ekli bir veritabanındaki tüm tabloları listelemek için kullanılacak.
testdb-# \d
Yukarıda verilen PostgreSQL ifadesi aşağıdaki sonucu verecektir -
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
Kullanım \d tablename her tabloyu aşağıda gösterildiği gibi tanımlamak için -
testdb-# \d company
Yukarıda verilen PostgreSQL ifadesi aşağıdaki sonucu verecektir -
Table "public.company"
Column | Type | Modifiers
-----------+---------------+-----------
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
join_date | date |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)