Veri tabanında en temel şekilde tablo oluşturma; tablonun ve sütunların adlandırılması ve isimlendirilen her sütunun veri tipinin belirtilmesini içerir. Veri tabanında tablo oluşturmak için CREATE komutu kullanılır. Aşağıda temel bir şekilde oluşturulacak tablonun yapısı gösterilmektedir.
CREATE TABLE deyiminin temel sözdizimi: Veri tabanında tablo oluşturmak için en temel söz dizimi aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE table_adi ( sutun1 veritipi, sutun2 veritipi, sutun3 veritipi, .... sutun3N veritipi, PRIMARY KEY( bir yada daha fazla alan adı ) ); |
CREATE TABLE, veritabanına ne yapmak istediğimizi ifade eden bir anahtar kelimedir. CREATE TABLE deyimini yazarak yeni bir tablo oluşturmak istediğimizi veri tabanına bildirdik. Tablonun benzersiz adı veya tanımlayıcısı, CREATE TABLE deyimini izler.
Parantez içinde liste halinde hangi tutulacak veriler ve sütun isimleri belirtilir.
SQL Server : Veri tipleri için şu yazıyı inceleyebilirsiniz.
Mysql : Veri tipleri için şu yazıyı inceleyebilirsiniz.
MS SQL için SELECT INTO ifadeleri ile eski tablodan faydalanarak yeni tablo oluşturmak mümkündür. MYSQL tarafında da CREATE TABLE ve SELECT ifadeleri bir arada kullanılarak mevcut tablonun kopyasını oluşturmak da mümkündür.
Örnek:
Aşağıdaki kod bloğunda yazarno birincil kimliğine sahip olan bir YAZAR tablosunun oluşturulmasına örnektir ve NOT NULL (boş geçilemez) bu alanlara kayıt girilirken bu olanları boş (NULL) geçilmez olacağını gösteren kısıtlamadır. yazarad ve yazarsoyad alanlarına karakter girişi yapılırken en fazla 25 karakter girileceği de varchar veritipinin yanına parantez açarak belirtilmiştir.
1 2 3 4 5 6 7 8 |
CREATE TABLE yazar( yazarno int NOT NULL, yazarad varchar(25) NOT NULL, yazarsoyad varchar(25) NOT NULL, PRIMARY KEY (yazarno) ) |
Otomatik Artan Sayı
SQL Server – IDENTITY Kullanımı
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE turler( id INT IDENTITY(1,1) NOT NULL, ad NVARCHAR (20), PRIMARY KEY (id) ); -- Otomatik artan sayı için kullanılır. -- IDENTITY (başlangıç,artım miktarı) |
MySQL – AUTO_INCREMENT Kullanımı
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE turler( id INT AUTO_INCREMENT NOT NULL, ad VARCHAR (20), PRIMARY KEY (id) ); -- Otomatik artan sayı için kullanılır. -- AUTO_INCREMENT |
Başka bir SQL Tablosundan Tablo Oluşturma
Varolan bir tablonun bir kopyası, MYSQL’de CREATE TABLE deyiminin ve SELECT ifadesinin bir birleşimi kullanılarak, MS SQL’de ise SELECT INTO kullanılarak oluşturulabilir.
Yeni tablo aynı sütun tanımlarını alır. Tüm sütunlar veya belirli sütunlar seçilebilir. Varolan bir tabloyu kullanarak yeni bir tablo oluşturursanız, yeni tablo eski tablodaki mevcut değerlerle doldurulur.
MSSQL’de SELECT INTO kullanarak eski tablodan istenilen şarta uygun yeni tablo oluşturma
1 2 3 4 5 6 |
SELECT yazarno, yazarad+' '+yazarsoyad as yazaradsoyad INTO yeni_tablo FROM yazar WHERE yazarno <20 |
MYSQL ile varolan bir tablonun bir kopyası, CREATE TABLE deyiminin ve SELECT ifadesinin bir birleşimi kullanılarak oluşturulabilir.
1 2 3 4 5 6 |
CREATE TABLE yeni_tablo AS SELECT yazarno, yazarad+' '+yazarsoyad as yazaradsoyad FROM yazar WHERE yazarno <20 |
[…] SQL Tablo Oluşturma […]