SQL, (İngilizce “Structured Query Language”, Türkçe: Yapılandırılmış Sorgu Dili, telaffuz: ɛs kjuː ˈɛl/) verileri yönetmek ve tasarlamak için kullanılan bir dildir. SQL, kendisi bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir; veritabanlarında bulunan sistemlere bilgi ekleme, bilgi değiştirme, bilgi çıkarma ve bilgi sorgulama için kullanılmaktadır. Özellikle de ilişkisel veritabanı sistemleri üzerinde yoğun olarak kullanılmaktadır. SQL’e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir.
Tarihçe
Veritabanı yaklaşımı ile birlikte bir veri sorgulama diline veya aracına ihtiyaç duyulmuştur. İlk başta matematiksel bir sözdizimine sahip olan SQUARE adlı bir dil geliştirilmiştir. Geniş kullanıcı kitleleri tarafında kolay kullanılabilmesi için matematiksel söz dizimli SQUARE dilinden vazgeçilerek, İngilizce’ye benzer sözdizimine sahip bir dil oluşturulmuş ve SEQUEL olarak adlandırılmıştır. Daha sonra da bu SEQUEL dili, İngilizce söylenişine paralel olarak SQL olarak adlandırılmıştır.
SQL dili ilişkisel alanda büyük ilgi görmüş ve İlişkisel Veri Tabanı Yönetim Sistemlerinin (İVTYS) tümünde yer alan standart dil görünümü kazanmıştır. Bu nedenle Veri Tabanı konusunda çalışan tüm bilişim teknik personeli tarafından bilinmesi gereken bir dil konumundadır.
Veri tanımlama olanakları
SQL veri tanımlama deyimlerinden başlıcaları şunlardır:
CREATE TABLE tablo_adi
Yeni bir tablo oluşturmak için kullanılır. Alan isimleri yazılırken sona virgül konulur ve son satır olan işlemimizde virgül konmadan parantez kapatılır.
CREATE TABLE tabloilceler ( ilceNo mediumint(8) unsigned DEFAULT '0' NOT NULL, ilce varchar(30) NOT NULL, postakodu varchar(5), ilceTel char(3), plakaKodu char(2) NOT NULL )
ALTER TABLE tablo_adıYeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek vb. yapısal değişiklikler yapılması için kullanılır.
DROP TABLE tablo_adıTabloyu içerisindeki verilerle birlikte siler.
TRUNCATE TABLE tablo_adı
Tablodaki tüm verileri siler, tablo yapısını korur.
CREATE VIEW görüş_adı
Görüntü oluşturmak için kullanılır
DROP VIEW görüş_adı
Görüntüyü siler
CREATE INDEX indeks_adı
Tablonun (en azından bir) sütun adı üzerinde indeks oluşturmak için kullanılır.
DROP INDEX
indeks_adıOluşturulan indeksleri veri tabanından kaldırmak için kullanılır.
Veri işleme olanakları
SELECT deyimi
Select deyimi, ilişkili veri tabanından veri almak için kullanılır.:SELECT ilçe, postakodu FROM tabloIlceler WHERE plakaKodu = '34'
İstanbul’un ilçeleri ile posta kodlarını gösterir
UPDATE deyimi
Update deyimi, ilişkili veri tabanındaki verileri güncellemek için kullanılır.:UPDATE tabloIlceler SET postakodu = '06720' WHERE ilce = 'Bala'
Bala’nın posta kodunu değiştirir
INSERT deyimi
Insert deyimi, ilişkili veri tabanına veri eklemek için kullanılır.:INSERT INTO tabloIlceler VALUES (, 'Yenişehir', , , '53')
Yeni veriler ekler
DELETE deyimi
Delete deyimi, ilişkili veri tabanından veri silmek için kullanılır.:DELETE FROM tabloIlceler WHERE plakaKodu = '53'
plakaKodu 53 olan bütün verileri siler
SQL dilini kullanan veritabanları
- Sybase
- MySQL
- PostgreSQL
- Microsoft SQL Server
- Oracle
- IBM DB2
- IBM Informix
- Progress
- Firebird
- Microsoft Access