SQL dili yalnızca bilgi işlemek için değil, aynı zamanda tablo oluşturma ve çalışma dahil olmak üzere veritabanları ve tablolarla tüm işlemleri gerçekleştirmek için de kullanılır.
Aşağıdakileri kullanarak tablo oluşturmanın iki yolu vardır:
DBMS etkileşimli araç setini kullandığınızda, aslında tüm işin SQL ifadeleri tarafından yapıldığını, yani arayüzün kendisinin bu komutları kullanıcı için fark edilmeyecek şekilde oluşturduğunu belirtmekte fayda var (bu, Excel'de bir makro kaydetmeye benzer; makro kaydedici eylemlerinizi kaydeder ve bunları VBA komutlarına dönüştürür).
Programlı olarak tablo oluşturmak için CREATE TABLE operatörünü kullanın. Bunun için aşağıdaki verileri belirtmeniz gerekir:
Yeni bir tablo oluşturalım ve adını Customers olarak adlandıralım:
CREATE TABLE Customers (
ID CHAR(10) NOT NULL Primary key,
Custom_name CHAR(25) NOT NULL,
Custom_address CHAR(25) NULL,
Custom_city CHAR(25) NULL,
Custom_Country CHAR(25) NULL,
ArcDate CHAR(25) NOT NULL, DEFAULT NOWO)
Evet, önce yeni tablonun adını belirliyoruz, ardından oluşturacağımız sütunları parantez içinde listeliyoruz ve isimleri aynı tablo içinde tekrarlanamıyor. Sütun isimlerinden sonra her alanın veri tipini belirtiyoruz (CHAR(10)), ardından alanın boş değerler içerip içermeyeceğini (NULL veya NOT NULL) ve birincil anahtar olacak alanı (Primary) belirliyoruz. key) da belirtilmelidir.
SQL dili ayrıca her alan için varsayılan bir değer tanımlamanıza da olanak tanır; yani, kullanıcı belirli bir alan için bir değer belirtmezse, bu değer DBMS tarafından otomatik olarak ayarlanacaktır. Varsayılan değer, CREATE TABLE operatörüyle sütunları tanımlarken DEFAULT anahtar sözcüğüyle tanımlanır.
SQL'de tabloyu değiştirmek için ALTER TABLE operatörü kullanılır. Bu operatörü kullanırken aşağıdaki bilgileri girmelisiniz:
Örneğin Sellers tablosuna satıcının telefonunu belirteceğimiz yeni bir sütun ekleyelim:
ALTER TABLE Sellers
ADD Phone CHAR (20)
Sütun eklemenin yanı sıra bunları da kaldırabiliriz. Şimdi Phone alanını silelim. Bunu yapmak için aşağıdaki sorguyu yazacağız:
ALTER TABLE Sellers
DROP COLUMN Phone
Tablolar DROP TABLE operatörü kullanılarak silinir. Sellers_new tablosunu silmek için aşağıdaki sorguyu yazabiliriz:
DROP TABLE Sellers_new
Çoğu DBMS'nin, halihazırda diğer tablolara bağlı olan tabloların silinmesini engelleyen kuralları vardır. Bu kurallar geçerliyse ve böyle bir tabloyu silerseniz, DBMS, ilişki silinene kadar silme işlemini engeller. Bu tür önlemler gerekli tabloların yanlışlıkla silinmesini önler.