Konu: SQL / SQL Injection Dersleri Salı Haz. 10, 2008 2:42 am
Selamun Aleyküm Arkadaşlar Bu Başlık Altında SQL / SQL Injection Dersleri Vermeye Çalışacağım.Takip Eden Arkadaşlarımız; Derslerin Sonunda SQL Hakkında Temel Bilgileri Öğrenecektirler (Geliştirmek Size Kalmış). Derslerin Başında SQL Hakkında Genel Bir Döküman Yazmayı Düşünüyorum Bazı Komutlar ve Fonksiyonlar... -> Not : İlk Dersler Sıkıcı Olabilir Çünkü SQL Hakkında Temel Bilgileri Anlatmaya Çalışacağım İlerleyen Derslerimizde Örnekler, Resimli Anlatımlar, Videolarla Derslere Görsellik Katmayı Düşünüyorum.
hackercasus
Konu: Geri: SQL / SQL Injection Dersleri Salı Haz. 10, 2008 2:43 am
Ders : SQL Konu : SQL Nedir ? Temel Komutlar
Evet Arkadaşlar iLk Dersimize Başlıyoruz...
iLk oLarak SQL Nedir ? Neye Yarar ? Yenilir mi ? İçilir mi ? Bir İnceleyelim.. SQL (Strucred Query Language) Yapısal Sorgulama Dilidir. SQL Sayesinde Kullanılan Veritabanına Erişebilir ; O Veritabanında iŞLem Yapabiliriz (Silme, Düzenleme, Ekleme vs.) Tabi Bunları Bazı SQL Cümlecikleri Sayesinde Yapabiliyoruz.. Her Veritabanında Aynı SQL Cümleleri Kullanılmamaktadır Fakat Fazla Farkıda Yoktur. Zaten SQL Tüm Veritabanı Tiplerini Desteklemektedir.. Fakat Bazı Ufak Farklılıklar Vardır..
Temel SQL Komutları ;
> FROM < Bu Komut iLe Veritabanında Hangi Tablo(lar) iLe Çalışacağımızı Belirtiyoruz. (Eğer Birden Fazla Tablo iLe Çalışacaksak Araya Virgül Koyuyoruz (tablo1,tablo2) Gibi )
> SELECT < Database’den Hangi Tabloları Çekeceğimizi Belirtiriz. Tüm Kolonları Görmek iÇin ’*’ Karakteri Kullanılır. Eğer Seçtiğimiz Kolonları Görmek iStiyorsak Yine Araya , Koyulur
Kullanım : SELECT * From tabloadı
( Şimdi bilgi Adında Bir Tablomuz Olsun ve Tablomuzun Kolonları : isim(char), soyisim(char), meslek(char), yas(numeric) Parantezle Belirttiklerim Kolon Tipleri. Bu Tabloda ; isim | soyisim | meslek | yas | 1 . Ali | Öztürk | Teknisyen | 25 | 2 . Veli | Kara | PC. Müh | 30 | Kolonlarımız Var ve İçindeki Veriler Bu Şekilde..)
Örnek 1 : Select Komutuyla Bu Tablomuzun Verilerini Çekelim ;
SELECT * FROM bilgi
Yazdığımız Zaman ; Ekrana ; isim | soyisim | meslek | yas Ali | Öztürk | Teknisyen | 25 Veli | Kara | PC.Müh | 30
Bilgilerini Verecek.. Bu Komutta Yaptığımız ; Bilgi Tablosundaki Kolonları Ekrana Yansıt..
> INSERT < Insert Komutu Veritabanına Bilgi Eklememizi Sağlar..
Kullanım : Insert Into tablo_adi (Verilerin İşleneceği Kolonlar) Values (Değerler)
Örnek 2 : Bu Örneğimizde Tablomuza Ahmet Güler Adında 35 Yaşında ve Mesleği Öğretmen Olan Bir Arkadaşımızı Ekleyeceğiz.
Insert Into bilgi (isim,soyisim,meslek,yas) Values (’Ahmet’,’Güler’,’Öğretmen’,’35)
Verimizi Bu Şekilde Tabloya Ekliyoruz..
Ekran Çıktısı ; isim | soyisim | meslek | yas Ali | Öztürk | Teknisyen | 25 Veli | Kara | PC.Müh | 30 Ahmet | Güler | Öğretmen | 35
> UPDATE < Update Komutu iLe Tablodaki Verileri Düzenleyebiliriz..
Kullanım : Update tablo_adi Set kolon_adi=’Veri’
Eğer Birden Fazla Kolon Üzerinde İşlem Yapılacaksa ; Update tablo_adi Set kolon_adi=’Veri’,kolon_adi2=’Veri’ Şeklinde Yapabiliriz...
Örnek 3 : Şimdi Tablomuzda ki Tüm İsimleri Ömer Diye Değiştirelim (Not : Belirttiğimiz İsmide Değiştirebiliriz Orada Where Komutu Kullanılır Ama Şimdilik Böyle)
Update bilgi Set isim=’Ömer’
Ekran Çıktısı; isim | soyisim | meslek | yas Ömer | Öztürk | Teknisyen | 25 Ömer | Kara | PC.Müh | 30 Ömer | Güler | Öğretmen | 35
> DELETE < Bu Komut Tablodan Veri Silmemize Yarar.. Kullanım : Delete From tablo_adi
Örnek 4 : Tablomuzdaki Tüm Kayıtları Silelim ;
Delete From bilgi
Ekran Çıktısı ; isim | soyisim | meslek | yas | | | | | | | | |
1. Ders Şimdilik Bu Kadar 2. Derste Görüşmek Üzere...
2. Dersin Konusu ; Diğer Komutlar Hakkında Bilgiler (Where, Group By, Order By, Having, vs
hackercasus
Konu: Geri: SQL / SQL Injection Dersleri Salı Haz. 10, 2008 2:43 am
Arkadaşlar SQL Uygulamalarını Rahat Bir Şekilde Yapabilmeniz iÇin Size Tavsiyem SQL ServeR’ı İndirin Ben SQL Server 2000’i Kullanıyorum Sizlerede Tavsiyem SQL Server’ı PC’nize İndirip Kurun..
1.SQL Server 2000 Components 2.Install Database Server 3.Next 4.Local Computer’i İşaretleyin Sonra Next 5.Create a new instance of SQL Server,or install Client Tools’i seçip Next 6.İsim ve Şirket yazip Next 7.Yes’e Tıklatıp 8.Server and Client Tools’u seçip Next 9.En üstteki Default’u seçip Next 10.Typical’i seçip Next 11.the same account for each service.Auto start SQL Server 12.Service’i seçin sonra 13.Use the Local System account’i seçip next 14.Mixed Mode’u seçip şifre girdikten sonra Next 15.Next’e basıp yükleyin 16.Makineyi resetleyin böylece server otomatik olarak çalışacaktır.
hackercasus
Konu: Geri: SQL / SQL Injection Dersleri Salı Haz. 10, 2008 2:44 am
Ders 2
SQL Komutları (Devam)
Order By Bu Komutla Belirtilen Tablodaki Değerleri Artan ve Azalan Değerlere Göre Sıralama Yapılır.
Order By’ın Kullanımına Geçmeden Önce Birkaç Fonksiyondan Bahsetmek iStiyorum ; ASC : Büyükten Küçüğe Doğru Artan Sıralama Yapılır.. DESC : Büyükten Küçüğe Azalan Sıralama Yapılır.. (Normalde ASC Sıralaması Kullanılır)
Kullanım : SELECT * From Tablo_Adi Order By Kolon_Adi Fonksiyon;
Örnek 1: Tablomuza 3 Tane Sıralı Veri Giriyoruz
Insert Into bilgi (isim,soyisim,meslek,yas) values (’Ali’,’Öztürk’,’Teknisyen’,’25’) Insert Into bilgi (isim,soyisim,meslek,yas) values (’Veli’,’Kara’,’PC Müh.’,’25’) Insert Into bilgi (isim,soyisim,meslek,yas) values (’Mustafa’,’Doğan’,’Öğretmen’,’25’)
Daha Sonra Bu Kolonlardaki Bilgileri Ekranımıza İsmin Alfabetik Sırasına Göre Yansıtıyoruz Bunun iÇin ;
SELECT * FROM bilgi Order By isim ASC; > bilgi Tablosunun isim Kolonundaki Bilgileri Alfabetik Sıralar..
SELECT * FROM bilgi Order By isim DESC; > bilgi Tablosunun Yas Kolonondaki Bilgileri Büyükten Küçüğe Sıralar (Azalan)
Şimdi isim ve soyisim Kolonlarındaki Bilgileri Alfabetik Sıralıyalım ;
SELECT * FROM bilgi Order By isim,soyisim
Where Bu Komut SQL Sorgulamalarında Koşul Yaratmayı Sağlar. Yani Bir Kolonu Düzenlediğimiz Zaman O Kolondaki Tüm Kayıtlar Veriye Göre Düzenleniyor.iŞte Burada Where Komutu Devreye Giriyor ve Koşul Yaratmamızı Sağlıyor..
Örnek 2: Tabloda İsim Kolonunda Mesleği Öğretmen Olan Arkadaşımızı Ekrana Yansıtalım ;
SELECT isim FROM bilgi where meslek=’Öğretmen’
Group By Seçtiğimiz Alana Göre Gruplandırma Yapmamızı Sağlar.
Having Gruplar Arası Kurallar Belirlememizi Sağlar.
* Where Komutunu Kullanırken Bazı Operatörler Devreye Giriyor. Hazır Operatörlerden Bahsetmişken Onuda Yazalım..
Operatörler
Karşılaştırma, Mantıksal ve Küme Operatörleri Olmak Üzere Üç Çeşit Operatörümüz Bulunmaktadır
z>X ... X... z’den Küçük
z<X ... X... z’den Büyük
z=X ... X... z’ye Eşit
z=>X ... X... z’den Küçük Veya Eşit
z<=X ... X... z’den Büyük veya Eşit
z<>X ... X... z’ye Eşit Değil
Mantıksal Operatörler ; AND,OR,NOT Olarak Karşımıza Çıkıyor. Tüm Dillerde Aynı Olan Operatörlerdir.
Küme Operatörleri; Veriler Üzerinde Gruplandırma Yapmamızı SAğlayan Operatörler.. Between, In, Like.
Örnek 7: Yaşı En Küçük Olan Personeli Çekelim. SELECT MIN(yas) FROM bilgi;
SUM Seçilen Kolondaki Değerleri Toplar.
Kullanım :SELECT SUM(kolon) FROM tablo;
Örnek 8: Tablodaki Verilerin Yaşlarını Toplayalım.
SELECT SUM(yas) FROM bilgi;
AVG Seçilen Kolondaki Değerlerin Aritmetiksel Ortalamasını Almamızı Sağlar
Kullanım :SELECT AVG(kolon) FROM tablo;
Örnek 9: bilgi Tablosundaki Yaşların Ortalamasını Alalım;
SELECT AVG(yas) FROM bilgi;
COUNT(*) Kolondaki Kayıt Sayısını Gösterir
Kullanım :SELECT COUNT(*) FROM tablo;
Örnek 10: Tablomuzda Kaç Tane Kayıt Var Görelim; SELECT COUNT(*) FROM bilgi
COUNT(DISTINCT ..) Seçilen Kolondaki Unique Kayıt Sayısını Gösterir.
Kullanım : Select COUNT(DISTINCT kolon_adı) FROM tablo;
Örnek 11: İsmi Farklı Kaç Tane Kayıt Var Görelim;
Select COUNT(DISTINCT isim) From bilgi;
Evet Arkadaşlar SQL Derslerimiz Bu Kadar.. Eğer Zaman Bulabilirsem Örneklerle iLgiLi Video Çekmeye Çalışacağım.. SQL Injection Derslerine 3-4 Gün Sonra Başlamak iStiyorum Çünkü SQL’i Yeni Gören Arkadaşlarımız Kavramak iÇin Pratik Yapmak Zorundalar. Onlara Zaman Tanımak Lazım. Bu Konuyla İlgili Sorularınızı Aynı Başlık Altında Sorabilirsiniz ve Lütfen Teşekkür vs. Tarzında Mesajlar Yazmayınız..