YAPISAL SORGULAMA DİLİ (SQL) OGRENCI Tablosu 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 CREATE TABLE VERİ TANIMLAMA DİLİ (VTD) Veritabanında yeni bir tablonun oluşturulmasını sağlar. Yukarıda tanımlanan OGRENCI tablosunun oluşturulması için gerekli SQL ifadesi şu şekildedir. CREATE TABLE OGRENCI (O_NO O_ADI BOLUM CINS DOG_TAR ADRES NOT_ORT NUMBER(4) NOT NULL, VARCHAR(20), CHAR(10), CHAR(1), DATE, VARCHAR(60), NUMBER(2,1)) 1
ALTER TABLE Sistemde ihtiyaca göre mevcut tablonun değiştirilmesi istenebilir. Bu durumda yeni bir ilave sütun için tüm tablonun kaldırılması ve yerine yeni tablonun oluşturulması yerine ALTER TABLE komutu kullanılabilir. ALTER TABLE OGRENCI ADD FAKULTE CHAR(10) Komut işletildiğinde, OGRENCI tablosuna ilave bir sütun oluşturulmuş olacaktır. ALTER TABLE OGRENCI DROP CINS ifadesiyle de, OGRENCI tablosundaki CINS sütunu kaldırılabilecektir. Sorgulama Komutları VERİ MANİPÜLASYON DİLİ (VMD) SELECT SELECT ifadesi veritabanının sorgulanmasında ve belirlenen kritere uygun seçilen verilerin getirilmesinde kullanılmaktadır. SELECT ifadesinin yanında ilgilenilen değerleri içeren sütun isimleri, FROM ifadesinin yanında verinin bulunduğu tablo isimleri yer alır. SELECT O_ADI, ADRES ifadesiyle OGRENCI tablosundaki öğrencilerin adı ve adresleri istenmektedir. O_ADI Zeynep Gülşah Selen Emrah Selcen Çağrı Batuhan İrem ADRES 1. Cad 2. Cad 3. Cad 4. Cad 5. Cad 6. Cad 7. Cad 8. Cad 2
SELECT ifadesinde ALL varsayılan değerdir. Eğer sonuç tablosunda tekrarlı satırlar arzu edilmiyorsa, DISTINCT komutu kullanılmalıdır. SELECT DISTINCT BOLUM BOLUM Makina Endüstri İnşaat Kimya SORU: Aşağıdaki SQL sorgusu ile oluşması gereken sonuç tablosunu yazınız. SELECT DISTINCT CINS SELECT ifadesiyle kullanılan WHERE ifadesinin yanında ise çağrılan veri üzerindeki özellikler yada kısıtlamalar yer alır. SELECT O_NO, O_ADI, BOLUM, CINS WHERE BOLUM = Endüstri AND CINS = K O_NO O_ADI BOLUM CINS 5678 Gülşah Endüstri K 1365 Selen Endüstri K 6324 Selcen Endüstri K 3
SELECT O_NO, O_ADI, BOLUM, CINS WHERE BOLUM = Endüstri OR CINS = K O_NO O_ADI BOLUM CINS 1234 Zeynep Makina K 5678 Gülşah Endüstri K 1365 Selen Endüstri K 6324 Selcen Endüstri K 1143 Batuhan Endüstri E 2212 İrem Kimya K SORU: Aşağıdaki SQL sorgusu ile oluşması gereken sonuç tablosunu yazınız. SELECT O_ADI, CINS, NOT_ORT WHERE CINS = K AND NOT_ORT = 3.0 Matemetiksel Operasyonlar: SQL sütun fonksiyonları da denen matemetiksel operasyonlar da içermektedir. Bu fonksiyonlar aşağıdaki gibidir: AVG, MIN, MAX, SUM, COUNT. SELECT COUNT(CINS) SONUÇ 8 SELECT COUNT(DISTINCT CINS) SONUÇ 2 4
SORU: Aşağıdaki SQL sorgusu ile oluşması gereken sonuç tablosunu yazınız. SELECT COUNT(DISTINCT BOLUM) SELECT AVG(NOT_ORT) WHERE BOLUM = Endüstri SONUÇ 2,775 SORU: Aşağıdaki SQL sorgusu ile oluşması gereken sonuç tablosunu yazınız. SELECT AVG(NOT_ORT) WHERE CINS = K 5
Manipülasyon Komutları Şimdiye kadarki komutlar VMD deki sorgulama komutlarıydı.vmd de ayrıca veri manipülasyon komutları da vardır: INSERT, DELETE, UPDATE. INSERT, bir tabloya satır ilave etmek için kullanılan bir komuttur. INSERT INTO OGRENCI (O_NO, O_ADI, BOLUM, CINS, DOG_TAR, ADRES, NOT_ORT) VALUES (3333, Fevzi, Makina, E, 01.01.1980, 9.Cad, 3.0) 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 3333 Fevzi Makina E 01.01.1980 9. Cad 3.0 Verinin DELETE edilmesi, tablodaki satırların, yani tablo içerisindeki kayıtların kaldırılması işlemidir. DELETE 6
DELETE WHERE BOLUM = Makina AND CINS = K 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 3333 Fevzi Makina E 01.01.1980 9. Cad 3.0 UPDATE komutuyla, tablodaki mevcut veriler değiştirilebilir. UPDATE OGRENCI SET ADRES = Sütçü İmam Cad WHERE ADRES = 1. Cad 1234 Zeynep Makina K 23.06.1984 Sütçü İmam Cad 3.4 3333 Fevzi Makina E 01.01.1980 9. Cad 3.0 7