Anasayfa FORUMLAR Üye Girişi Dosyalar Dersler İpuçları Yardımcı Araçlar Hakkımızda
KİMLER BAĞLI
Toplam Üye: 32638
Aktif Üye: 0
Aktif Ziyaretçi: 820
Üye Adı
Şifre
Beni Hatırla
          Yeni Üye KayıtYeni Üye Kayıt
          Şifremi UnuttumŞifremi Unuttum
FORUMLAR
 Resim albümü kurayım dedi..
(7934 okuma, 5 yanıt)
 dns ayarı..
(6707 okuma, 4 yanıt)
 Sql Değişken Değiştirme Y..
(8565 okuma, 5 yanıt)
 iki ayrı tablodan veri çe..
(6228 okuma, 2 yanıt)
 Önemli Hata! Acil Yardım ..
(7809 okuma, 6 yanıt)
 PhpMyAdmin tabloları ve a..
(6403 okuma, 4 yanıt)
 Forumlara yazılan yazılar..
(4407 okuma, 1 yanıt)
 Bul ve Değiştir..
(5682 okuma, 2 yanıt)
 mysql Nedir..
(4670 okuma, 1 yanıt)
 localde mysql veritabanın..
(3831 okuma, 0 yanıt)
 Fatal error: Call to unde..
(4053 okuma, 0 yanıt)
 PhpMyadmin surum sorunu?..
(5317 okuma, 2 yanıt)
 phpmyadmin izin..
(5224 okuma, 1 yanıt)
 backslash işareti yani \r..
(4976 okuma, 1 yanıt)
 Phpmyadminde kopyalama..
(6157 okuma, 2 yanıt)
 phpmyadminden Büyükharf k..
(5492 okuma, 2 yanıt)
 BackSlash "\" i..
(3994 okuma, 0 yanıt)
 Dosyalar veri tabanından ..
(9063 okuma, 6 yanıt)
 phpmyadmin..
(4476 okuma, 1 yanıt)
 DreamWeaver ve WampServer..
(4481 okuma, 0 yanıt)
 Controlpanelde mail hesab..
(4938 okuma, 1 yanıt)
 başak sitedeki sql sorgus..
(4686 okuma, 1 yanıt)
 Warning: mysql_fetch_arra..
(8861 okuma, 8 yanıt)
 Hata!..
(3782 okuma, 0 yanıt)
 çoklu dil için hangi kara..
(5259 okuma, 2 yanıt)
 forum yazaılan msj veri t..
(4202 okuma, 0 yanıt)
 Tablo onarma seçenekleri ..
(4100 okuma, 0 yanıt)
 PHPmyadmin sorunu..
(8083 okuma, 5 yanıt)
 Db'ye Veri Eklemek..
(7412 okuma, 4 yanıt)
 mysql ve derleyici progra..
(8498 okuma, 7 yanıt)
 Mysql de tablo içine tabl..
(5250 okuma, 1 yanıt)
 SSH İle Db Pratik Olarak ..
(5598 okuma, 2 yanıt)
 syntax error..
(4392 okuma, 0 yanıt)
 aşırı derecede MySQL ve i..
(5795 okuma, 2 yanıt)
 WampServer 2.0f Çıktı..
(4370 okuma, 0 yanıt)
 localde kurulu siteye hos..
(6289 okuma, 3 yanıt)
 mysql dan veri çekmede ha..
(5290 okuma, 7 yanıt)
 Sizce bu SQL i phpMyAdmin..
(5802 okuma, 2 yanıt)
 Mysql de bunu nasıl yapar..
(10725 okuma, 9 yanıt)
 siteyi komple silme..
(7872 okuma, 6 yanıt)
 bir veritabanını taşımak ..
(4336 okuma, 0 yanıt)
 Yonetim panelinden alinmi..
(6600 okuma, 3 yanıt)
 sql de iki order by kulla..
(4757 okuma, 3 yanıt)
 MySQL'ye Nasıl Birden Faz..
(4630 okuma, 0 yanıt)
 sql hangi karekter grubu ..
(6622 okuma, 4 yanıt)
 sql analiz..
(4017 okuma, 0 yanıt)
 Sql ile ilgili bir sorun(..
(5320 okuma, 2 yanıt)
 phpMyAdmin..
(8939 okuma, 5 yanıt)
 Ufak bi sql kod isteği..
(6669 okuma, 4 yanıt)
 sql ile ilgili soru?..
(7081 okuma, 4 yanıt)
Netopsiyon Online: Forums
Netopsiyon Online :: Başlık görüntüleniyor - Sql de sık kullanılan komutlar(faydalı)
 AramaArama   RütbelerRütbeliler   ProfilProfil   GirişGiriş 


Sql de sık kullanılan komutlar(faydalı)

 
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> MySQL & phpMyAdmin
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
seyranli
Mesaj: 1000+
Mesaj: 1000+





Kayıt: May 16, 2005
Mesajlar: 3511
Konum: oradan

MesajTarih: 2005-11-10, 14:06:04    Mesaj konusu: Sql de sık kullanılan komutlar(faydalı) Alıntıyla Cevap Gönder

SQL (Structured Query Language) veri tabanlarındaki verileri işlemek için kullanılan yapısal sorgulama dilidir.

Bu dil YARDIMıyla veritabanlarındaki tüm işlemler yapılabilir. Backup almadan tutunda bir tabloya veri girmeye varıncaya kadar herşey.

SQL’i şu anda piyasada bulunan hemen hemen her veritabanında kullanabilirsiniz. SQL’de her veritabanında kullanılan ortak ifadeler olmasına karşın, veritabanlarının kendine özgü ifadeleri de vardır. Mesela Oracle’da SQL ile yapabildiğiniz bazı şeyleri başka veritabanlarında yapamayabilirsiniz.

SQL temel olarak şu ifadelerle kullanılır. SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING, UPDATE, DELETE, INSERT.

Burada kullandığımız SQL cümleleri ISCI adlı bir tablo üzerine yazılmıştır. Alanlar ISCI_NO, ISCI_ADI, YAS, GIRIS_TARIHI, MAAS.

SELECT: Tablodan seçmek istediğimiz alanları belirtmek için kullanılır. Eğer tablodan tüm alanları seçmek istiyorsak o zaman alan isimleri yerine * işareti konur.

FROM: Üzerinde işlem yapılacak tablo/tabloları belirtmek için kullanılır.

WHERE: Tablodan eğer tüm kayıtları değilde istediğimiz bazı kayıtları elde etmek istiyorsak, örnekte maaşı 250 milyondan fazla olan işçilerin numarası ve adi gibi, o zaman buraya istediğimiz kriteri yazarız.

SELECT ISCI_NO, ISCI_ADI
FROM ISCI
WHERE MAAS>250000000



DISTINCT: Birbirinin aynı olan satırların listelenmemesi için bu ifade kullanılır. Mesela ISCI tablosunda bulunan birbirinin aynı olmayan isimleri listelemek istersek

SELECT DISTINCT ISCI_ADI
FROM ISCI

şeklinde bir SQL ifadesi yazarız.



IN: Koşul belirtirken kullanırız. Mesela ismi AHMET, ALİ veya MUSTAFA olan işçilerin bilgilerini listelemek için

SELECT *
FROM ISCI
WHERE ISCI_ADI=’AHMET’ OR ISCI_ADI=’ALİ’ OR ISCI_ADI=’MUSTAFA’

şeklinde bir ifade kullanırız. Bunun yerine

SELECT *
FROM ISCI
WHERE ISCI_ADI IN (’AHMET’ ,’ALİ’ ,’MUSTAFA’)

ifadesini de kullanabiliriz. Yani listenin içindeki herhangi bir değerin bulunması kayıtın seçilmesi için yeterlidir.

LIKE: Eğer aradığımız kayıtın bulunması için tam bir karşılaştırma yapamıyorsak o zaman kullanırız. Mesela isminin baş harfi A ile başlayan isimleri bulmak için

SELECT *
FROM ISCI
WHERE ISCI_ADI LIKE ‘A%’ ifadesi kullanılır.

% işareti uzunluğu önemsiz olmak üzere yazıldığı yere her türlü ifade gelebilir anlamındadır.

? işareti ise bir karakter olmak üzere her türlü değeri alabilir anlamındadır. Mesela isminin sondan üçüncü harfi A, ve son harfi Z olan kayıtları listelemek istersek sondan ikinci harfin ne olduğu önemli değildir. O zaman o harf yerine aşağıda görüldüğü üzere ? işaretini kullanırız.

SELECT *
FROM ISCI
WHERE ISCI_ADI LIKE ‘%A?Z’ ifadesi kullanılır.



BETWEEN: Koşul belirtirken iki değer arasını belirtmek için kullanılır. Örnek: Yaşı 30 ile 40 arasındaki işçilerin kayıtlarını listelemek için

SELECT *
FROM ISCI
WHERE YAS BETWEEN 30 AND 40

ifadesi kullanılır. Bunu aynı zamanda aşağıdaki ifade ile de yapabilirsiniz. BETWEEN yazım kolaylığı sağlar.

SELECT *
FROM ISCI
WHERE YAS>=30 AND YAS<=40



SUM: Seçilen değerlerin toplamını bulur. İşçilerin aldığı toplam ücreti görmek için

SELECT SUM(UCRET)
FROM ISCI

ifadesi kullanılır.

MAX, MIN, AVG: Verilen değerin en büyüğünü, en küçüğünü ve ortalamasını bulur. 1999 yılında giren işçilerin en yüksek ücretinin, en düşük ücretinin ve ortalamasının ne kadar olduğunu öğrenmek istersek aşağıdaki ifadeyi kullanırız.

SELECT MAX(UCRET), MIN(UCRET), AVG(UCRET)
FROM ISCI
WHERE GIRIS_TARIHI>’01.01.1999’

MAX en büyük değeri, MIN en küçük değeri, AVG ise seçilen değerlerin ortalmasını bulur.



ORDER BY: Tablodan seçtiğimiz kayıtları sıralamak için kullanılır. Yukardaki örnekte isimleri alfabetik sıra ile görmek istersek

SELECT DISTINCT ISCI_ADI
FROM ISCI
ORDER BY ISCI_ADI

yazarız. Eğer sıralamayı tersine çevirmek istersek

SELECT DISTINCT ISCI_ADI
FROM ISCI
ORDER BY ISCI_ADI DESC

yazarız.

GROUP BY: Genelde istatistik amaçlar için kullanılır. Mesela hangi tarihte kaç işçinin işe alındığını bulmak için

SELECT GIRIS_TARIHI,COUNT(*)
FROM ISCI
GROUP BY GIRIS_TARIHI

yazmanız yeterli olacaktır. Bu ifade size gün bazında kaç işçinin işe alındığını gösterecektir. Eğer belli bir tarihten önce ya da sonrasını isterseniz veya sadece sayının 10’dan büyük olduğu günleri görmek isterseniz o zaman ifadeyi şu şekilde yazmak gerekir

SELECT GIRIS_TARIHI,COUNT(*)
FROM ISCI
WHERE GIRIS_TARIHI>’01.01.1999’
GROUP BY GIRIS_TARIHI
HAVING COUNT(*)>10

HAVING, grup fonksiyonlarının kriterleri için kullanılır. SUM, COUNT vb. gibi.



UPDATE: Tabloda bulunan bir istediğiniz bir veya daha fazla alanın güncellenmesi amacıyla kullanılır. Mesela işçilerin maaşlarına % 20 zam yapıldığını düşünürsek aşağıdaki ifade ile bunu tabloda gerçekleştirebiliriz.

UPDATE ISCI
SET MAAS=MAAS*1.2

Eğer maaşlarla birlikte aldıkları primleri de %20 oranında artırmak isterseniz

UPDATE ISCI
SET MAAS=MAAS*1.2 , PRIM=PRIM*1.2

şeklinde bir ifade kullanılır. Aynı zamanda WHERE ifadesini kullanarak sadece belli kayıtlar üzerinde güncelleme yapabilirsiniz.






DELETE: Tabloda bulunan kayıtları silmek için kullanılır. Eğer

DELETE FROM ISCI

derseniz tüm kayıtları gönderirsiniz. DELETE ifadesini kullanırken dikkatli olun. Buradada yine WHERE ifadesini kullanarak sadece belli kritere uyan kayıtların silinmesini sağlayabilirsiniz. Kötü bir örnek ama olsun, patron 45 yaşından büyük işçileri işten attı (burası Türkiye, olmaz demeyin) ve kayıtlarının silinmesi isteniyor. O zaman

DELETE FROM ISCI
WHERE YAS>45

ifadesi kullanılır.

INSERT: Tablolara veri girişi yapmak amacıyla kullanılır.

INSERT INTO ISCI (ISCI_NO,ADI,SOYADI) VALUES (1000,’AHMET’,’SAVAŞ’);

Eğer giriş yaparken tablonun bütün alanları kullanılacaksa alan isimlerini vermeye gerek yoktur.

Not: UPDATE, DELETE ve INSERT ifadelerini kullanırken dikkatli olmalısınız. Eğer SQL tabanlı bir veri tabanı kullanıyorsanız bu ifadeleri veritabanlarının kendi tool’ları üzerinde kullanın. Çünkü Delphi ile gelen SQL Explorer’da transact.gif (959 bytes) işaretine basmayı unutursanız yaptığınız işlemin geri dönüşü olmayabilir. Yani en son yaptığınız işlemi Rollback yapamazsınız ve eğer gerçek veritabanı üzerinde yaptıysanız işlemi başınız bayağı ağrıyabilir veya o iş yerinde yazdığınız son SQL ifadesi olabilir. :-))



İKİ TABLODAN BİRDEN KAYIT SEÇMEK

İşçilerin kimlik bilgilerinin ISCI_KIMLIK tablosunda tutulduğunu kabul ederek bizden KDZ.EREGLİ doğumlu olanların listesinin istendiğini varsayalım. Tablolar birbirine ISCI_NO alanı üzerinden ilişkili olsun.

SELECT A.ISCI_NO, A.ISCI_ADI, B.DOGUM_YERI
FROM ISCI A, ISCI_KIMLIK B
WHERE B.DOGUM_YERI=’KDZ.EREGLI’
AND A.ISCI_NO=B.ISCI_NO

şeklinde bir ifade yazarak listemizi elde edebiliriz. Burada WHERE koşuluna yazdığınız sıranın pek bir önemi yoktur. Her şartta aynı sonuçları elde ederseniz. Fakat performans açısından biraz farkeder. Yukardaki ifade

SELECT A.ISCI_NO, A.ISCI_ADI, B.DOGUM_YERI
FROM ISCI A, ISCI_KIMLIK B
WHERE A.ISCI_NO=B.ISCI_NO
B.DOGUM_YERI=’KDZ.EREGLI’

ifadesinden daha hızlı çalışır. Çünkü ilk ifadede önce doğum yeri KDZ.EREGLI olan kayıtlar seçilir daha bu kayıtlara işçi tablosu birleştirilir. Sonraki ifadede ise önce tüm kayıtlar birleştirilir, bunların arasından doğum yeri KDZ.EREGLI olanlar seçilir.



NOT: Alıntıdır
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Bu Site Google Adsense ile Gelir Elde Ediyor









Tarih: 2024-04-20, 07:43:44    Mesaj konusu: Forum Arası Reklamlar


Başa dön
HunTürk
Mesaj: 1000+
Mesaj: 1000+





Kayıt: Apr 17, 2005
Mesajlar: 1279
Konum: ANKARA

MesajTarih: 2005-11-10, 14:10:46    Mesaj konusu: Alıntıyla Cevap Gönder

sağol güzel döküman
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Önceki mesajları göster:   
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> MySQL & phpMyAdmin Tüm zamanlar GMT + 3 Saat
1. sayfa (Toplam 1 sayfa)

 
Geçiş Yap:  
Bu forumda yeni başlıklar açamazsınız
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız

Benzer Konular

Başlık Yazar Forum Cevaplar Tarih
Yeni mesaj yok mavimsn de kullanılan forum eklentisi Sonsuzluk Php Nuke Modülleri 7 2008-06-26, 13:34:28 Son Mesajı Görüntüle
Yeni mesaj yok Netopsiyon'da Kullanılan Yazı Editörü miles Öneri ve Görüşleriniz 13 2008-06-11, 15:53:58 Son Mesajı Görüntüle
Yeni mesaj yok açılış sayfası yap sık kullanılan ekl... rootcr4ck Php-Nuke 1 2008-04-18, 12:54:20 Son Mesajı Görüntüle
Yeni mesaj yok Komutlar gözükmüyor niden? okancelk Php-Nuke 13 2008-01-16, 16:06:08 Son Mesajı Görüntüle
Yeni mesaj yok Faydalı Linkler Blok Deneyin gonlumungulu Php-Nuke 0 2007-10-13, 14:08:03 Son Mesajı Görüntüle

Copyright © 2002-2024 Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. - Bütün hakları saklıdır!
Bu site Netopsiyon.com.tr Sunucularında Barındırılmaktadır.
Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. Netopsiyon Copyright