|
38.107.191.108 $ : 1.5118 : 1.9691 |
MySQL Rehberi Kod: Tablo adı : personel Kolon : sicil_no:text (8) Kolon : ad:text (8) Kolon : soyad:text (8) Kolon : dogum_tarihi:date Kolon : dogum_yeri:text (8) Kolon : cinsiyeti:text(1) Kolon : medeni_hali:binary Kolon : meslek_id:smallint Kolon : egitim_durumu:binary Kolon : adres:text (50) Tablo adı : ucretler Kolon : per_sicil_no:text (8) Kolon : baslama_tarihi:date Kolon : aylık_ucret:numeric Kolon : aile_yardimi:numeric Kolon : egitim_yardimi:numeric Kolon : kesinti:numeric: Tablo adı : meslekler Kolon : meslek_id:smallint Kolon : aciklama:text (23) Kolon : taban_ücret:numeric vBulletin açısından benzer örnek; Kod: Tablo adı : user Kolon : userid:int(10) Kolon : usergroupid:smallint(5) Kolon : membergroupids:varchar(250) Kolon : displaygroupid:smallint(5) Kolon : username:varchar(100) Kolon : password:varchar(32) şeklinde devam eder........... From Kod: SELECT * FROM personel; Örnek 2 : Kod: SELECT * FROM personel,ucretler; vBulletin açısından benzer örnek; Kod: SELECT * FROM user; Select Kod: SELECT * FROM meslekler ; Bütün meslek bilgilerini almak istersek yukarıdaki gibi bir query yazmalıyız. Kod: SELECT ad,soyad FROM personel ; Bu query ise bize firmamızda çalışan bütün personeli
listeler. Kod: SELECT username,password FROM user ; Bu query ise tüm üyelerin kullanıcı adı ve şifrelerini listeler.
SQL'de Veri Tabanı Oluşturma Kod: CREATE DATABASE database_name [ON {DEFAULT | database_device} [= size][, database_device [= size]]...] [LOG ON database_device [= size] [, database_device [= size]]...][FOR LOAD] database_name : Bu olışturulacak olan veri tabanının
ismidir. Kod: CREATE DATABASE fat123 Bu komut ile SQL Server üzerinde fat123 isimli boş bir
database oluşturmuş oluyoruz. (Dönen mesaj :CREATE DATABASE: allocating 2560 pages
on disk 'a1v1') Kod: CREATE DATABASE fat123 ON master = 10 Bu komut ile SQL Server'da master device'ı üzerinde 10
mb'lık fat123 isimli boş bir database oluşturmuş oluyoruz. Kod: CREATE DATABASE fat123 ON fat123 = 10 LOG ON fat123log = 5 Bu komut ile SQL Server'da fat123 device'ı üzerinde 10
mb'lık fat123 isimli boş bir database ve fat123log device'ı üzerinde 5 mb bir log
oluşturmuş oluyoruz. Kod: CREATE DATABASE fat123 ON fat=10 , fat1 = 10 , fat2=10 , fat3=10 LOG ON fat123log = 20 Bu komut ile ise fat123 isimli veri tabanını 4 farklı
device üzerinde oluşturuyoruz.
SQL Komutları Kod: SELECT * FROM personel ORDER BY ad ASC; Bu query ile personel tablosundaki bütün kayıtları
ad'a göre küçükten büyüğe dogru sıralarız. Kod: SELECT * FROM user ORDER BY posts ASC; Bu query ile, forumdaki üyeler mesaj sayısına göre
küçükten büyüğe doğru sıralanır. Kod: SELECT * FROM personel ORDER BY soyad DESC; Bu query da yukarıdakinin tersine kayıtları büyükten
küçüğe dogru sıralar. Kod: SELECT * FROM user ORDER BY reputation DESC; Bu query ile, forumdaki üyeler rep puanına göre
büyükten küçüğe doğru sıralanır. Kod: SELECT * FROM personel ORDER BY ad,soyad; Bu query kayıları ad göre artan bir sıralama yapar.
Ancak aynı ad ile yaratılmış birden fazla kayıt varsa ise bunlarıda soyad
sırasına göre artan bir şekilde sıralar. Eğer her iki kolnda aynı ise o zaman
okuduğu sırada sıralar. Kod: SELECT * FROM personel ORDER BY dogum_tarihi DESC,ad,soyad ; Bu query'de ise personel kayıtları büyükten küçüğe
doğru sıralanıyor. Yani en genç eleman'dan başlanarak en yaşlı elemana doğru
bir liste yapılıyor. Doğum tarihleri aynı olanlarda ise ad ve soyad'a göre bir
sıralama yapılmaktadır. Kod: SELECT * FROM personel WHERE ad='ahmet'; vBulletin açısından benzer örnek : Kod: SELECT * FROM user WHERE posts<'1000'; Bu query ile, forumdaki mesaj sayısı 1000 'in altında olan üyeler listelenir.
Operatörler Kod: a>X ... X... a'dan küçük a<X ... X... a'dan büyük a=X ... X... a'ya eşit a=>X ... X... a'dan küçük eşit a<=X ... X... a'dan büyük eşit a<>X ... X... a'ya eşit değil Mantıksal operatörler ise AND,OR,NOT olarak
verilebilir. Bu operatörler burada anlatmayacağız. Bunlar standart bütün
dillerde aynı olan operatörlerdir.Kümeleme operatörleri ise datalar üzerinde
gruplama yapmamızı sağlayan operatörlerdir.Bu operatörler Between , In , Like
operatörleridir. Bu operatörlerin hepsini where ile birlikte kullanmalıyız. Kod: SELECT * FROM ucretler WHERE aylik_ucret BETWEEN 200000000 AND 300000000 Bu cümlecik ile 200 ile 300 milyon arasında maaş alanlar
listelenecektir. Kod: SELECT * FROM user WHERE posts BETWEEN 1200 AND 3000 Bu query ile, mesaj sayısı 1200 - 3000 arasında olan
forum üyeleri listelenecektir. Aynı mantık ve örneklere dayanarak, alttaki
örnekler ce vBulletin 'e göre uyarlanabilir. Kod: SELECT * FROM personel WHERE meslek_id IN (1,2,3) Buradaki örnek 'te 1,2 veya 3 meslek grubundan herhangi birine dahil olan personel listelenemektedir.Bu örnek aşagıdaki şekildeki gibide yapabiliriz; Kod: SELECT * FROM personel WHERE meslek_id=1 OR meslek_id=2 OR meslek_id=3
Kod: SELECT * FROM personel WHERE adres LIKE '%İstanbul%' Bu sorgulama ile adres alanında İstanbul geçen
kayıtları listelemiş oluruz. Kod: SELECT * FROM personel WHERE adres LIKE '%İstanbul' Bu sorgulama ile adres alanının sonunda İstanbul geçen
kayıtları listelemiş oluruz. Kod: SELECT * FROM personel WHERE adres LIKE 'İstanbul%' Bu sorgulama ile adres alanının başında İstanbul geçen kayıtları listelemiş oluruz
SQL'de Yeni Bir Kayıt Eklemek Kod: INSERT INTO tablo adı VALUES (deger1,deger2,deger3,...) vBulletin açısından benzer örnek : Kod: INSERT INTO user VALUES (deger1,deger2,deger3,...) Bu yolla, elinizdeki SQL yedeğinden (yedek dosyası bozuk bile olsa), silinmiş yada hacklenmiş forumunuzu sıfırdan kurarak üyelerinizi geri getirebilirsiniz. Örneğin SQL yedek dosyasında "user" tablosu kısmından bir üyenin (organik81) geri yüklenişi; (zamanında bir deneme yaparken kendi üyeliğimi silmiştim ve bu yolla geri getirdim..) Kod: INSERT INTO user VALUES('1', '6', '', '0', 'alev_ejderha', '3e15849beaf6de24d89b38b7eb1b72f4', '1988-12-09', 'alev_ejderha@hotmail.com', '0', '', '', '', '', '', '2', 'Administrator', '0', '597633168', '0', '598228328', '598238078', '598151263', '4', '10', '1', '', '0', '0', '0', '0', '2135', '', '0000-00-00', '-1', '1', '', '0', '0', '', '0', '0', '-1', '0', '0', '.mk');Eğer sadece belirli sahalara değer girmek istersek INSERT INTO'yu aşağıdaki şekildeki gibide kullanabiliriz. Kod: INSERT INTO tablo adı(kolon1,kolon3,kolon9,kolon7) VALUES (deger1,deger3,deger9,deger7) Örnek : Kod: INSERT INTO personel VALUES ('asdf2345','Ahmet','Yıldırım','01.01.1960','Ankara','E',1,7,1,'ebuziya cad. Bakırköy')vBulletin açısından benzer örnek : Kod: INSERT INTO user(username,password,posts,reputation) VALUES (alev_ejderha,123456,1228,5400) Bu üstte yaptığım döngünün anlamı şudur : Sıfır kurulmuş bir foruma "organik81" isminde bir üye ekleyecek, şifresi "123456" olacak, mesaj sayısı "1228" olacak, rep puanı da "5400" olacak. Diğer üyelik bilgileri default yani sıfır (boş) olacak.
SQL Tablo'dan Kayıt Silmek Kod: DELETE FROM tablo adı Eğer yukarıdaki gibi bir sorgulama yazıp çalıştırırsak
tablodaki bütün kayıtları sileriz. Bunun için DELETE cümleciğini kullanırken
dikkat edilmelidir. Kod: DELETE FROM personel WHERE sicil_no='12345678' Örnek : Doğum tarihi 1940'dan önce doğmuş personel kayıtları silinmek istenirse ; Kod: DELETE FROM personel WHERE dogum_tarihi<'0' vBulletin açısından benzer örnek : Kod: DELETE FROM user WHERE posts<'20'
SQL'de Kayıt Değişikliği Kod: UPDATE tablo adı SET kolon1=deger1,kolon2=deger2,... WHERE koşul; Örnek : Sicil nosu 12345678 olan kayıtın adresi değiştirlmek istenirse ; Kod: UPDATE personel SET adres='Bronz Sok. Teşvikiye' WHERE sicil_no='12345678' Örnek : Bütün personele uygulanan kesinti ücreti 10.000.000 sabit olarak belirlenirse ; Kod: UPDATE ucretler SET kesinti=10000000 Örnek : Bütün personelin maaşına %20 zam yapılırsa ; Kod: UPDATE ucretler SET aylik_ucret=aylık_ucret*1.20 vBulletin açısından benzer örnek : Kod: UPDATE user SET email='xyz@hotmail.com' WHERE username='alev_ejderha' Kod: UPDATE user SET reputation*1.50 WHERE username='alev_ejderha' 1. Okul numarasi 0414002010 olan ögrenciyi listeleyen sorguyu yaziniz. 1. SELECT * FROM ogrenci WHERE ogrenci.no="0414002010"; 2. Ismi serap olan ögrencileri listeleyen sorguyu yaziniz 2. SELECT * FROM ogrenci WHERE ad="serap"; 3. Adi S ile baslayan ögrencileri listeleyen sorguyu yaziniz. 3. SELECT * FROM ogrenci WHERE AD LIKE "s*"; 4. Sonu lin ile biten ögrencileri listeleyen sorguyu yaziniz. 4. SELECT * FROM ogrenci WHERE ad like "*lin"; 5. Soyadi 3 harfli olan ortanca harfi a olan ögrencileri listeleyen sorguyu yaziniz. 5. SELECT * FROM ogrenci WHERE soyadi like "?a?"; 6. Birinci ögretim ögrencilerini listeleyen sorguyu yaziniz. 6. SELECT * FROM ogrenci WHERE ogrenci.no Like "??14*"; 7. Telefonlari 315 ile baslayanlari listeleyen SQL kodunu yazin. 7. SELECT * from ogrenci where tel like "315*"; 8. Telefonlari 325 ile baslayan ve bucakli olan ögrencileri listeleyen SQL kodunu yaziniz. 8. SELECT * from ogrenci where tel like "325*" and adres="bucak"; 9. Erkek ögrencilerin adini soyadini adresini ve telefonunu listeleyen sorguyu yaziniz? 9. SELECT ad, soyadi, tel, adres FROM ogrenci WHERE cinsiyet=true; Veya Select ad,soyadi,tel,adres from ogrenci where cinsiyet 10. bolum_id si 1 olanlarin listesini getiren sorguyu yaziniz. 10. SELECT * FROM ogrenci WHERE bolum_id=1; 11. Bölümü bilgisayar olanlarin listesini getiren sorguyu yaziniz. 11. SELECT * FROM ogrenci, bolum WHERE ogrenci.bolum_id=bolum.id and bolum.ad="bilgisayar"; 12. Bilgisayar bölümündeki bayan ögrencileri listeleyen sorguyu yaziniz. 12. SELECT * FROM ogrenci, bolum WHERE ogrenci.cinsiyet=false and ogrenci.bolum_id=bolum.id and bolum.ad="bilgisayar"; Veya SELECT * FROM ogrenci, bolum WHERE not ogrenci.cinsiyet and ogrenci.bolum_id=bolum.id and bolum.ad="bilgisayar"; 13. Bilgisayar bölümü 1. ögretim ögrencilerini listeleyen SQL Kodunu yaziniz. 13. SELECT * FROM ogrenci, bolum WHERE ogrenci.no Like "??14*" And ogrenci.bolum_id=bolum.id And bolum.ad="bilgisayar"; 14. 1980 yilinda doganlari listeleyen SQL Kodunu yaziniz. 14. SELECT * from ogrenci where dogum_tarihi>#01/01/1980# and dogum_tarihi <#31/12/1980#; Veya SELECT * FROM ogrenci WHERE dogum_tarihi Between #1/1/1980# And #31/12/1980#; Veya SELECT * from ogrenci where dogum_tarihi like "*1980"; 15. 1980 yili ocak ayinda doganlari listeleyen SQL kodunu yaziniz. 15. SELECT * from ogrenci where dogum_tarihi>#01/01/1980# and dogum_tarihi <#31/01/1980#; Veya SELECT * FROM ogrenci WHERE dogum_tarihi Between #01/01/1980# And #31/01/1980#; Veya SELECT * from ogrenci where dogum_tarihi like "*01-1980"; 16. Burdur veya Bucak li ögrencilerin listesini getiren SQL kodunu yaziniz. 16. SELECT * FROM ogrenci WHERE adres="burdur" or adres="bucak"; 17. Bucak li ögrencilerin bolumlerini listeleyen SQL kodunu yaziniz. 17. SELECT ogrenci.ad, ogrenci.soyadi, ogrenci.adres, bolum.ad FROM ogrenci, bolum WHERE ogrenci.adres="bucak" and ogrenci.bolum_id=bolum.id; 18. Bilgisayar ve pazarlama bölümündeki ögrencileri listeleyen SQL kodunu yaziniz. 18. SELECT * FROM ogrenci, bolum WHERE ogrenci.bolum_id=bolum.id and (bolum.ad="bilgisayar" or bolum.ad="pazarlama"); 19. Ögrencileri yaslarina göre küçükten büyüge dogru siralayan sql kodunu yaziniz. 19. SELECT * from ogrenci order by dogum_tarihi desc; 20. Ögrencileri yaslarina göre büyükten küçüge dogru siralayan sql kodunu yaziniz. 20. SELECT * from ogrenci order by dogum_tarihi asc;
|
|
||||||||||||||||||
| ||||||||||||||||||||
|
|