SQL
Sibel SOMYÜREK
SQL Nedir?
Structured Query Language (SQL)
"Yapısal Sorgulama Dili"
Veritabanları üzerinde, karmaşık sorgular
yapmak için tasarlanmış bir dildir.
SQL Nedir?
SQL ile yalnızca veri tabanı üzerinde işlem
yapılabilir.
SQL ile;
veri tabanına kayıt eklenebilir,
olan kayıtlar değiştirilebilir,
silinebilir ve
bu kayıtlardan listeler oluşturulabilir.
SQL - Tarihçesi
Veri Tabanı 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ştur.
SQL - Tarihçesi
Bu dil SEQUEL (Structured English Query
Language) 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 Dilini Kullanan
Veritabanları
MySQL
Mssql
PostgreSQL
Microsoft SQL Server
Oracle
Firebird
SQL Komutları
Yapısal Sorgulama Dili (SQL-Structured
Query Language)
1. Veri İşleme Dili (DML-Data Manipulation
Language)
2. Veri Tanımlama Dili (DDL-Data Definition
Language)
3. Veri Kontrol Dili (DCL-Data Control
Language)
SQL Komutları
1. Veri İşleme Dili (DML-Data Manipulation
Language)
Bir tablodaki veriler üzerinde sorgulama,
ekleme, güncelleme ve silme işlemleri
gerçekleştirir.
Select
Insert
Update
Delete
SQL Komutları
2. Veri Tanımlama Dili (DDL-Data Definition
Language)
Sıfırdan tablo oluşturma, tablo üzerinde
değişiklik yapma, tablo oluşturma, indeks
oluşturma ve silme işlemleri gerçekleştirir.
Create Table
Drop Table
Alter Table
Create Index
Drop Index
Alter View
SQL Komutları
2. Veri Kontrol Dili (DCL-Data Control
Language)
Kullanıcılara veri tabanı üzerinde bazı haklar
verme veya verilen hakları geri alma gibi
işlemlere olanak tanıyan SQL komutlarını
içermektedir.
Create User
Drop User
Alter User
Grant
Revoke
SQL - Komutlar
SQL dilinde bir tablodan kayıt çekmek için
SELECT komutu kullanılır.
SELECT * FROM tablo_adi
SQL - Komutlar
Görev 10’da oluşturulan veri tabanındaki
tüm kullanıcı bilgilerini görüntülemek için;
SELECT * FROM kullanici_bilgileri;
SQL - Komutlar
Öğrencilerin tümü tarafından yazılımda
alınan notların tamamını listeleyin.
SQL - Select Komutu
Tablo içindeki sadece belli alanlara ilişkin
verileri listelemek için;
SELECT alanadi1,alanadi2 FROM tablo_adi;
SQL - Select Komutu
Örneğin notlar tablosunda sadece notu alan
ogrenci numarası ve not aldığı tarihi
listelemek için;
SELECT ogrno,tarih FROM notlar;
SQL - Select Komutu
Verileri listelerken belli bir alandaki verilere
göre sıralamak için;
SELECT * FROM tablo_adi ORDER BY alan1;
SQL - Komutlar
Örneğin alınan notları tarihe göre sıralamak
için;
SELECT * FROM notlar ORDER BY tarih;
SQL - Komutlar
SELECT * FROM notlar ORDER BY tarih;
Kodu şu şekilde de yazılabilir;
SELECT * FROM notlar ORDER BY tarih ASC;
SQL - Komutlar
Örneğin alınan notları tarihe göre azalan
sırada sıralamak için;
SELECT * FROM notlar ORDER BY tarih
DESC;
SQL - Komutlar
Verileri listelerken birden fazla alan baz
alınarak listeleme yapılabilir
SELECT * FROM tabloadi ORDER BY
alanadi1 DESC, alanadi2 ASC;
SQL - Komutlar
Örneğin alınan notları alındığı içerik
numaralarına göre azalan, öğrenci
numaralarına göre de artan sırada
listelemek için;
SELECT * FROM notlar ORDER BY icerikno
DESC, ogrno ASC ;
SQL - Komutlar
Tablodaki belli bir alanın bir koşula
uymasına göre verileri listelemek için;
SELECT * FROM tablo_adi WHERE
alanadi1=koşul;
SQL - Komutlar
Örneğin sadece 9801 no’lu öğrencinin
aldığı notları görüntülemek için;
SELECT * FROM notlar WHERE ogrno=9801;
SQL - Komutlar
SQL kodlarında metin değerleri tırmak
içinde yazılmalıdır.
Örneğin koşul metin ise;
SELECT * FROM tabloadi WHERE
alanadi1=“metin”;
SQL - Komutlar
Örneğin kullanıcı bilgileri tablosundan
sadece adı Sema olan öğrencilerin
bilgilerini görüntülemek için;
SELECT * FROM kullanici_bilgileri WHERE
ad="Sema";
SQL - Komutlar
Tablodaki verileri birden fazla koşula göre
listelemek için;
SELECT * FROM tablo_adi WHERE
alanadi1=“metin“ AND alanadi2=“metin”;
SQL - Komutlar
Örneğin adı Serdar Öztürk olan
kullanıcıların bilgilerini listelemek için;
SELECT * FROM kullanici_bilgileri WHERE
ad="Sema“ AND soyad=“Öztürk”;
SQL - Komutlar
Tablodaki verileri iki koşuldan birini
sağlama durumuna göre listelemek için;
SELECT * FROM tablo_adi WHERE
alanadi1=“metin“ OR alanadi2=“metin”;
SQL - Komutlar
Örneğin adı Serdar ya da soyadı Kubalı
olan kullanıcıların bilgilerini listelemek için;
SELECT * FROM kullanici_bilgileri WHERE
ad="Serdar“ OR soyad=“Kubalı”;
SQL - Komutlar
Hem ve hem de veya koşulunu içeren
sorgulamalar da olabilir
SELECT * FROM tablo_adi WHERE
(alanadi1=“metin“ OR alanadi2=“metin”)
AND alanadi3=“metin”;
SQL - Komutlar
Örneğin öğrenci numarası 9801 ya da 9802
olan 1 nolu içeriği önemli sayfa yapan
kullanıcılar varsa listelemek için;
SELECT * FROM onemli_sayfalar WHERE
(ogrno=9801OR ogrno=9802) AND
icerikno=1;
SQL - Komutlar
SELECT (tüm alanlar veya belli alanlar)
ORDER BY
ASC-DESC
WHERE (sayı veya “metin”)
AND-OR
(a AND b) OR c
a AND (b OR c)