SQL
Bilgisayara girilen, bilgisayar tarafından saklanabilen ve işlenebilen her şeye veri denir. Veri saklamaktaki ana amaç, daha ileri bir tarihte saklanan verilere yeniden ulaşabilmek ve kullanabilmektir. Veritabanı kullanılmayan bütün programlar anlık(Veriyi işler ve çıkar) çalışmaktadır. Bu tür programlarda veriyi daha sonraki bir tarihte erişmek ve daha sonrasında bir işlem yapabilmemiz imkânsızdır. Çünkü bütün programlar RAM denilen bellekte çalışır. RAM bellek elektrik ile yazılıp silinebilen bir donanım olduğundan dolayı bilgisayarın gücü kesildiği an içerisindeki tüm bilgiler silinecektir. Bunun için programların dataları Harddisk denilen donanımda saklamalıdır. Harddisk, RAM belleğin haricinde mekanik ve mıknatıslanma ile dataları saklamaktadır. Dolayısıyla elektriğe ihtiyaç duymamaktadır. Bu yüzden herhangi elektrik enerjine gerek duymadığından güç kesilmesi durumunda bile datalar korunmaktadır.
İlk olarak hepimizin bildiği not defteri veritabanı olarak kullanılmıştır. Bazı uygulamalarda hala kullanılmaya devam etmektedir. Not defterinden veri çekilirken satır satır veriler alınmaktadır. Genellikle basit oyunlarda scoreboard yapımında kullanılır. Daha sonra daha büyük uygulamalar için not defteri yetersiz kalmış. Ayrıca performans açısından kötü sonuçlar doğurmuştur. Tüm programların yavaş çalışmasından şikayet edilmiştir. Bu nedenlerinden biriside gelişigüzel verilerin çekilmesidir. 000.000 satırlık bir verimiz olduğunu düşünelim. Bizim ulaşmak istediğimiz veri ise 970. Satırda olduğunu varsayalım. İşlemci ilgili veriyi bulana kadar yaklaşık 969 kere karşılaştırma yapacaktır. Dolayısıyla gereksiz çalışacaktır. Bu da ağır çalışmaya neden olacaktır. Bu yüzden verileri hiyerarşik bir şekilde saklama ve en az karşılaştırma yapılarak verilere ulaşma gereksinimi doğmuş ve JSON ve XML yapılarının temelleri atılmıştır.
JSON ve XML uygulamasına geçildikten sonra işlemcinin gereksiz yere karşılaştırma sorunları aşılmış. Ancak şöyle bir sorun ortaya çıkmıştır. Mesela şehir ve ilçelerin 2 ayrı xml yada json dökümanında saklandığını düşünelim. Bunların birbiri ile ilişkisini ayarlamaya çalıştığımızda sıkıntılar ortaya çıkacaktır. Mesela Ankara şehrine ait ilçeleri çekmek gibi… Bu tür sorunu aşmak için ise yeni bir sistem geliştirilmiş ve şu zamanda kullandığımız İlişkisel Veritabanı Sistemlerinin (VTYS-DBMS) temelleri atılmıştır. İlişkisel veritabanı yönetim sistemlerine örnek olarak SQL Server, Oracle, MYSQL ve birçok veritabanı örnek olarak gösterilebilir. Belki ilerleyen zamanlarda bu sistemlerde tarihin tozlu sayfalarında kaybolup gidecektir. Yazar: Cem DOŞ
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. 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) Veri İşleme Dili (DML-Data Manipulation Language) Veri Tanımlama Dili (DDL-Data Definition Language) Veri Kontrol Dili (DCL-Data Control Language)
SQL Komutları 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ı 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ı 3. 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 Ör: Oluşturulan veri tabanındaki tüm kullanıcı bilgilerini görüntülemek için; SELECT * FROM kullanici_bilgileri;
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)
INSERT INTO Komutu SQL'de veritabanına kayıt eklemek için INSERT INTO deyimini kullanırız. INSERT INTO deyiminin formatı şu şekildedir: INSERT INTO [tablo adı](alan adları) VALUES (veriler) INSERT INTO personel(ID,isim,bolum) VALUES(71,'Serap Demirci','Reklam') INSERT INTO personel VALUES(65,'Metin Yıldız','Reklam',1975,'İstanAbul',1350)
UPDATE personel SET maas=maas+100 WHERE ID=78 UPDATE komutu: Tablo veya viewe bulunan kayıt yada kayıtların değiştirilmesi için kullanılır. Değiştirilmesi istenen kolonların teker teker yazılıp değerlerin atanması gerekmekte. UPDATE TabloAdi veya ViewAdi SET (Kolonlar = Değerleri ,...) [WHERE Kosul ] UPDATE personel SET bolum='İdari' UPDATE personel SET bolum='Veri Güvenliği' WHERE bolum='Bilgi İşlem' UPDATE personel SET dtarihi=1978 AND dyeri='Kırıkkale' WHERE ID=42 UPDATE personel SET maas=maas+100 WHERE ID=78
DELETE KOMUTU DELETE FROM personel WHERE bolum='Muhasebe' DELETE deyimi, veritabanında bulunan bir tablodaki istenilen kayıtları silmek amacıyla kullanılan temel bir SQL deyimidir. DELETE deyiminin formatı şu şekildedir: DELETE FROM [tablo adı] WHERE [şartlar] DELETE FROM personel WHERE bolum='Muhasebe' DELETE FROM personel WHERE dTarihi>1975 AND dTarihi<1985