Nesne (veritabanı, şema, tablo, view, fonksiyon vb.) oluşturmak için kullanılır
CREATE DATABASE
Veritabanı oluşturmak için kullanılır.
CREATEDATABASE "AlisVerisUygulamasi"ENCODING='UTF-8'LC_COLLATE='tr_TR.UTF-8'-- Bu özellik sonradan değiştirilemez (sıralama (karşılaştırma) işlemleri için)LC_CTYPE='tr_TR.UTF-8'-- Bu özellik sonradan değiştirilemez (büyük küçük harf dönüşümü, bir veri harf mi? vb.)OWNER postgresTEMPLATE=template0;
Veritabanını mantıksal olarak bölümlere ayırmak için kullanılır.
Sabit disklerdeki klasör yapısına benzetilebilir. Bu sayede veritabanı daha kolay yönetilir. Çok sayıda kişinin aynı projede çalışabilmesi (isim uzayı) ve güvenlik kolaylaşır.
CREATESCHEMA "sema1";
CREATE TABLE
Tablo oluşturmak için kullanılır.
Tablo oluşturulurken sütunlarının veri tipi bildirilir.
PostgreSQL'deki veri tiplerine aşağıdaki sayfadan erişilebilir.
Sütunlar için uygun veri tipinin seçilmesi önemlidir. Bu yapıldığı takdirde;
Hız artar, kaynaklar etkin kullanılır.
Veriler tutarlı olarak saklanır (doğrulama).
Bazı saldırılara karşı önlem alınmış olur.
CREATETABLE "sema1"."Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
DROP TABLE
DROPTABLE"sema1"."Urunler";
DROP SCHEMA
DROPSCHEMA"sema1";
DROP DATABASE
DROPDATABASE"AlisVerisUygulamasi";
TRUNCATE TABLE
Bir tablonun içindeki tüm verileri silmek için kullanılır. Yapısal bir komuttur. Veriler gerçek anlamda silinir ve böylece işgal edilen yer sistem tarafından kullanılabilir hale gelir (Vacuum).
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
SEQUENCE Nesnesi ve Değeri Otomatik Olarak Artan Alanlar
Otomatik artım örneği - SERIAL kullanımı.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
CREATETABLE "Urunler" ("urunNo"INTEGER,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
CREATETABLE "Urunler" ("urunNo"INTEGERDEFAULT NEXTVAL('sayac'),"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
Tanımlandığı alan boş olamaz. Veri girilmek zorundadır.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
"kodu" alanına veri girilmediği zaman hata alırız.
Tanımlandığı alana değer girilmemesi durumunda varsayılan bir değerin atanmasını sağlar.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
Tanımlandığı alandaki verilerin eşsiz (tekil, benzersiz) olmasını sağlar.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu", "adi"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
Tanımlandığı alandaki değer aralığını sınırlamada kullanılır.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0));
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"));
CREATETABLE "Urunler1" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK1"PRIMARY KEY("urunNo", "kodu"));
CREATETABLE "UrunSinifi" ("sinifNo"SERIAL,"adi"VARCHAR(30) NOT NULL,CONSTRAINT"urunSinifiPK"PRIMARY KEY("sinifNo"));
CREATESEQUENCE "sayac";
CREATETABLE "Urunler" ("urunNo"INTEGERDEFAULT NEXTVAL('sayac'),"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"sinifi"INTEGERNOT NULL, "uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0),CONSTRAINT"urunSinifiFK1"FOREIGN KEY("sinifi") REFERENCES"UrunSinifi"("sinifNo"));
Bu ifade yukarıdaki ile aynıdır. ON DELETE ve ON UPDATE durumunda ne yapılacağı belirtilmediğinde varsayılan olarak NO ACTION olur.
CREATETABLE "Urunler" ("urunNo"SERIAL,"kodu"CHAR(6) NOT NULL,"adi"VARCHAR(40) NOT NULL,"urunTipi"INTEGERNOT NULL, "uretimTarihi"DATEDEFAULT'2019-01-01',"birimFiyati"MONEY,"miktari"SMALLINTDEFAULT0,CONSTRAINT"urunlerPK"PRIMARY KEY("urunNo"),CONSTRAINT"urunlerUnique"UNIQUE("kodu"),CONSTRAINT"urunlerCheck"CHECK("miktari">=0), CONSTRAINT "urunlerFK" FOREIGN KEY("urunTipi") REFERENCES "UrunTipleri"("tipNo") ON DELETE NO ACTION ON UPDATE NO ACTION
);
Üç davranış şekli vardır: NO ACTION (varsayılan), RESTRICT, CASCADE