SQL nedir, Temel SQL Komutları nelerdir?

SQL Nedir?
 
SQL (Structured Query Language) yapısal sorgulama dilidir. Bir programlama dili değildir. Çünkü bir programlama dilinde olması gereken şart yapıları (IF ya da CASE yapıları) ya da Döngüler (For, while gibi) yer almamaktadır. Bazı veritabanı yönetim sistemleri bu açığı kapatmak için T-SQL ve PL-SQL gibi diller geliştirmişlerdir. SQL Server Veritabanı Yönetim Sistemi T-SQL, Oracle ise PL-SQL kullanmaktadır. 

SQL, bütün veritabanları tarafından desteklenen ortak bir standarttır. Bu nedenle Veritabanı dersi alan tüm öğrencilerin öğrenmesi gereklidir. Programlama dilleriyle uğraşan herkes de SQL komutlarını ileri düzeyde bilmelidir. Çünkü günümüzde Veritabanı kullanmayan yazılım neredeyse yok gibidir. 

SQL yazım şekli son derece basittir. C# ve Java gibi birçok programlama dili içinden SQL komutlarını kullanarak kolayca işlem yapabilirsiniz. Oğuzhan Taş.com'da yer alan MySQL ve SQL Server bölümlerinde sadece veritabanlarına değinilmekte, veritabanlarının programlama dilleri içinde kullanımı ise Php, CSharp gibi kategoriler içinde yer almaktadır. 


SELECT Komutu listeleme amacıyla kullanılan komuttur.  Bu komutla, bir veya birden fazla tablodan İstediğimiz alanları, istediğimiz şarta göre seçebiliriz.  Kullanıımı aşağıdaki gibidir.

SELECT Alanlar FROM tablo WHERE şartlar;
 
Burada WHERE kısmı sadece belli kriterlere göre sorgulama yapmak istediğimizde kullanırız. WHERE Kullanımı şart değildir. WHERE kullanıyorsak iki durumun mutlaka olması gerekiyorsa AND, iki durumdan sadece birinin veya ikisinin olması gerekiyorsa OR kullanılır. Dilerseniz aşağıdaki kullanımları inceleyelim.

Aşağıdaki komutla tblpersonel tablosundan tüm kayıtları seçiyoruz. Burada * konulduğunda tblpersonel tablosundaki tüm alanların seçileceği anlaşılır.
SELECT * FROM tblpersonel

Aşağıdaki komut ise tblpersonel tabloundan adi alanında "Oğuzhan" geçen kayıtları listeler.
SELECT * FROM `tblpersonel` WHERE adi="Oğuzhan"

Aşağıdaki komutla tblpersonel tabloasundan telefon alanı 0545 ile başlayan kayıtları listeler.
SELECT * FROM `tblpersonel` WHERE telefon LIKE '0545%'

Aşağıdaki komut ise tblpersonel tablosundan maas değeri 4000 ile 5000 arasındaki kayıtları listeler.
SELECT * FROM `tblpersonel` WHERE maas>=4000 AND maas<=5000

Aşağıdaki komut ise tabloda soyadi alanında a harfi geçen kayıtları listeler.
SELECT * FROM `tblpersonel` WHERE soyadi LIKE '%a%'

INSERT komutu ise veritabanına kayıt ekleme amacıyla kullanılır. Kullanımı aşağıdaki gibidir. 

INSERT INTO tablo adı (Alanlar) VALUES (değerler)

Aşağıdaki komut tblpersonel tablosuna ekleme yapar.
INSERT INTO tblpersonel (adi, soyadi) VALUES ('Faruk', 'Tınaz')

Aşağıdaki komut ile tblpersonel tablosuna ad, soyad, telefon ve doğum tarihi bilgileri eklenmektedir. Burada tarih alanının YIL-AY-GÜN şeklinde eklendiğine dikkat ediniz. 
INSERT INTO `tblpersonel` (adi, soyadi, telefon, dogumtarihi) VALUES('Osman','Nuri','0212 777 44 33', '1980-02-15')

DELETE komut ise silme amacıyla kullanılır. DELETE komutu kullanımı aşağıdaki gibidir, bu komutu kullanırken oldukça dikkatli olmalıyız. WHERE şartını kullanmazsak tablodaki tüm kayıtları silecektir.

DELETE FROM tablo adı WHERE koşul;

Alağıdaki komut tlpersonel tablosundan Faruk Tınaz isimli kullanıcıyı siler.
DELETE FROM `tblpersonel` WHERE adi='Faruk' AND soyadi='Tinaz'

Aşağıdaki komut soyadı CAN olan tüm kayıtları siler.
DELETE FROM `tblpersonel` WHERE soyadi='CAN'


UPDATE komutu güncelleme amacıyla kullanılır.


UPDATE tablo adı SET alan1=değer1, alan2=değer2


Aşağıdaki komut personelID değeri 2 olan personelin adını ve soyadını Oğuzhan TAŞ yapacaktır. 
UPDATE tblpersonel SET adi="Oğuzhan', soyadi='TAŞ' WHERE personelID=2

Aşağıdaki komut görevi öğretmen olan personelin maaşına %10 zam yapar.
UPDATE `tblpersonel` SET maas=maas*1.1 WHERE gorevi='Öğretmen'

MySQL'de Veritabanı ve Tablo Oluşturma
MySQL Veritabanında Parametreli Stored Procedure oluşturma
MySQL Veritabanında Parametresiz Stored Procedure Oluşturma


Mutlu kodlamalar,
Oğuzhan Taş
Mart, 2018

Bookmark and Share
Dil Değiştir(Change Language)