re work
Süper Üye
Welcome to SQL !
Öncelikle herkese merhaba memoryhackers üyeleri. Sizlere SQL hakkında temel bilgiler ve temel sql kodları hakkında bilgi vermek amaçlı bu konuyu hazırladım. Windows masaüstü tabanlı, web tabanlı ve mobil tabanlı programlama dilleri için SQL kesinlikle öğrenilmesi gereken bir detaydır. Veritabanı ile alakalı her işinizin başını bu sql kodları oluşturmaktadır. Bu konuda vereceğim öğretici amaçlı yazıda sql hakkında temel kavramları ve temel kodları göstereceğim. Fakat örn. Microsoft tabanlı C#, C++ veya Asp.net bunların dışında Yine web alanında php, mobil tarafta yine java veya başka dilleri kullanırken veritabanı ile bağlantı kurulması veri göndermek veya veri çekmek vb türü projeleriniz için kullandığınız dile özel sql, mysql vb kod yapıları zaten dillere özel bulunmaktadır. Yani her dilin ayrı tarzda veritabanına bağlantı sağlaması, veri çekmesi, veri göndermesi, veri güncellemesi veya silmesi işlemleri için dile özel komutlar bulunmaktadır. Bunları o dilleri öğrenirken eğitim içeriklerinde zaten öğrenirsiniz. Deyinmek istediğim detay bu sql kodları sql'in temeli ile alakalıdır.
Öncelikle giriş kısmı olarak ;
İnsan ihtiyaçlarını karşılamada sürekli olarak çalışan insanoğlu, bu çabasını bilgisayar alanında da sürdürmektedir. Sürekli daha iyisini arayan insanlar, bilgisayarın hayatımıza girmesi ile veri işlemede büyük yollar kat etti. Elde ettikleri verileri depoladılar. Daha sonra elde etikleri bu verileri sorgulayarak raporlar oluşturdular. Oluşan bu raporlar neticesinde de önemli ve kritik kararlar aldılar ve almaya devam ediyorlar.
Gerek klasik pencere programlaması olsun gerekse web tabanlı programlar olsun, elde edilen bu verilerden isteğe uygun verileri çekmek için SQL (Strucruted Query Language - Yapısal Sorgulama Dili) adı verdikleri dili geliştirdiler. Günümüzde ister Windows tabanlı uygulamalar ister Linux tabanlı uygulamalar olsun, veritabanına kaydedilen verileri okumak, güncellemek veya yeni bir veri eklemek için SQL dili kullanılmaktadır.
SQL Nedir ve Ne İşe Yarar?
SQL, veritabanına veri ekleme, verilere erişime ve değiştirmede kullanılan yapısal bir sorgulama dilidir. SQL sorgulama dili ANSI (American National Standards Institute) standartları üzerine kurulmuştur. Bunun yanında kullanılan veritabanı işleme programları kendilerine özgü bazı ek komutlar ve özellikler ekleyerek veritabanı üzerinde daha etkin bir veri işleme özelliğine sahip olmuşlardır.
SQL sorgulama dilinde kullanılan yapıların ve fonksiyonların nasıl kullanıldıklarını detaylı örnekleri ile görebilirsiniz. En başta anlattığım üzere tekrarlamak gerekirse burada anlatılanlar SQL dili ile veritabanı işlemleridir. Yani ASP veya PHP 'de bu kodların nasıl kullanıldığı bu konuda anlatılmamaktadır. İleriki zamanlarda detaylı php dersleri planlıyorum. MS SQL Studio Management veya PHP MyAdmin tarzı veritabanı işleme programlarının kendisine has özellikleri anlatılmamaktadır. Ancak bir SQL kodunun kullanımında veritabanı işleme uygulamaları arasında farklılık varsa bunu konuda görebileceksiniz.
SQL Kullanımı Hakkında ;
SQL dili veritbanlarındaki tablolara bağlanıp veri eklemek, daha önceden eklenen verileri okumak ve veriler üzerinde işlem yapmak (güncelleme, silme) için kullanılan bir dildir. Sorgulama yapabilmek için öncelikli olarak veritabanımızda ez azından bir tablo olması gerekmektedir. Birden fazla tablo da olabilir. Ancak ister bir tablo olsun isterse birden çok tablo olsun neticede üzerinde işlem yapmak istediğimiz tabloyu belirtmemiz gerekmektedir. Hangi tablo üzerinde çalışacağımızı FROM ifadesi ile belirtiriz.
Bu ifade SQL sorgulama dilinin temelidir ve hemen hemen bütün SQL sorgularında kullanılmaktadır. Hemen hemen dedik çünkü bazı sorgu ifadelerinde kullanılmaz. Mesela yeni bir veritabanı veya tablo oluştururken FROM ifadesi kullanılmaz. FROM ifadesi sadece var olan verilerde sorgulama yaparken kullanılır.
Tek başına FROM ifadesi tabiki yetmez. FROM ile hangi tablo üzerinde işlem yapacağımızı belirtiriz ancak ilgili tabloda ekleme işlemi mi, silme işlemi mi veya güncelleme işlemi mi yaptığımızı da belirtmemiz gerekmektedir. Bunun için belli başlı işlemler için hangi özel komutun kullanıldığını aşağıdaki tabloda görebilirsiniz.
Komutlar | İşlemleri - Memoryhackers.org |
Select | Veritabanından verileri okumak için kullanılır. |
Update | Veritabanındaki var olan bir kaydın bilgilerini güncellemede kullanılır. Örneğin yaşadığı şehir alanı İstanbul olanları Malatya'ya çevirmek gibi. |
Delete | Veritabanındaki bir kaydı silmek için kullanılır. |
Insert Into | Veritabanına yeni bir kayıt eklemek için kullanılır. |
Create Database | Yeni bir veritabanı oluşturmak için kullanılır. |
Alter Database | Mevcut veritabanı özelliklerinde değişiklik yapmak için kullanılır. |
Create Table | Veritabanına yeni bir tablo eklemek için kullanılır. |
Alter Table | Mevcut tablo özelliklerinde işlem yapmak için kullanılır. Bu komut ile mevcut kayıtlar üzerinde işlem yapılmaz. |
Drop Table | Veritabanı içindeki bir tabloyu silmek için kullanılır. Bu işlem ile ilgili tablodaki kayıtlar da silinir. |
Komutları daha detaylı kavrayabilmeniz açısından kısa örnekler vereceğim.
Örnek1 ;
SQL:
Select * From Hileler (Hileler tablosundaki bütün kayıtları çeker.)
Select hileadi, version From Hileler (Hileler tablosunda çok sayıda alan olabilir. Ancak bu komutla sadece hileadi ve version alanlarındaki kayıtları çekeriz.)
Yukarıdaki örnekte görüleceği üzere öncelikli olarak hangi işlemin yapılacağı belirtiliyor. Daha sonra ise hangi alanlar için yapılacağı belirtiliyor ve son olarak hangi tablo üzerinde yapılacağı belirtiliyor.
Örnek2 ;
SQL:
Select * From Personel Where Sehir='İstanbul'
Select * From Personel Where Sehir='İstanbul' and Bolum='Bilgisayar'
Birinci örnekte Personel tablosundan Sehir alanında İstanbul yazan kayıtlar seçilmektedir. Tabloda 100 tane kayıt olabilir. Ancak bunlardan 20 tanesinin Sehir alanında İstanbul yazıyorsa, yazılan bu komut ile sadece 20 tane kayıt seçilip ekrana yazdırılabilir. İkinci örnekte ise Personel tablosundaki kayıtlarda Sehir alanında İstanbul yazan ve Bolum alanında Bilgisayar yazan kayitler seçilip ekrana yazdırılabilir.
Bu konu bukadar olsun bir sonraki konuda Çeşitli Veritabanlarında Kullanılan Veri Tipleri başlığı altında ;
Microsoft Access Veri Tipleri
MySQL Veri Tipleri
MS SQL Server Veri Tipleri
Türlerine değinmeyi planlıyorum bir sonraki dersin paylaşımı en yakın zamanda gelecektir!