SQL

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, İngilizceye 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_adiYeni 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 deyimiSelect 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 deyimiUpdate 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 deyimiInsert deyimi, ilişkili veri tabanına veri eklemek için kullanılır.:INSERT INTO tabloIlceler VALUES (, 'Yenişehir', , , '53')Yeni veriler ekler
DELETE deyimiDelete 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

Dış bağlantılar 
 w3schools.com SQL sayfası 

SQL
Veri tabanı yönetim sistemleri
Sorgulama dilleri
Bildirimsel programlama dilleri
Veri modelleme dilleri