Veritabanı kullanımı hakkında bilgi sahibi olmak isteyenlere faydası olacağına inanıyorum.
T-SQL veritabanında nasıl veri alışverişi yapılacağının örneklerle anlatımı.
------------------------SELECT Sorgusu-(Veritabanındaki verileri Listeleme)--------------------
SELECT * FROM Categories--Categories tablosundaki tüm kayıtları seç
SELECT CategoriID, CategoriName FROM Categories--Categories tablosundaki CategoriID ve CategoriName alanlarındaki kayıtları seç
SELECT * FROM [Order Details]--Order Details tablosundaki tüm kayıtları seç [] İçerisinde yazılmasının nedeni Order'ın SQL tarafında özel bir parametre olması, parantez içine alınca bu tabloya ait olduğunu belirtiyor
SELECT OrderID, ProductID, (UnitPrice*Quantity*(1-Discount)) as ToplamTutar FROM [Order Details]--Order Details tablosundaki OrderID, ProductID ve UnitPrice'ın Quantity ile çarpımının 1'in Discount alanından çıkarılmasıyla çarpımının sonucunu ToplamTutar adında bir alan oluştur ve içine yaz
SELECT * FROM Products WHERE ProductID=2 OR SupplierID=5Products tablosundan ProductID'si 2 olan veya SupplierID'si 5 olan/ları seç
SELECT * FROM Products WHERE ProductID!=2--Products tablosundan ProductID'si 2 olmayanı/ları seç
SELECT * FROM Products WHERE ProductID <> 3--Products tablosundan PruductID'si 3 olmayanı/ları seç
SELECT * FROM Products WHERE ProductID < 3--Products tablosundan ProductID'si 3'ten küçük olanları seç (3 dahil değil)
SELECT * FROM Products WHERE ProductID <= 3--Products tablosundan PruductID'si 3'ten küçük olanları seç (3 dahil)
SELECT * FROM Products WHERE ProductID > 3--Products tablosundan ProductID'si 3'ten büyük olanları seç (3 dahil değil)
SELECT * FROM Products WHERE ProductID >= 3--Products tablosundan PruductID'si 3'ten büyük olanları seç (3 dahil)
SELECT * FROM Products WHERE ProductID between 15 AND 25--Products tablosundaki ProductID'si 15 ile 25 içerisinde olan tüm kayıtları seç (15 ve 25 dahil)
SELECT * FROM Products WHERE ProductName LIKE '%Cha%'--Products tablosundaki ProductName alanındaki kayıtların içerisinde Cha olan tüm alanları seç
SELECT * FROM Products WHERE ProductName LIKE '%en'--Products tablosundaki ProductName alanındaki kayıtların içerisinde sonu en ile biten tüm alanları seç
SELECT * FROM Products WHERE ProductName LIKE '___i'--Product tablosundaki ProductName alanındaki kayıtların içerisinde dört harfli olan ve dördüncü karakteri i ile biten tüm kayıtları seç (Her _ bir karakter demek)
SELECT * FROM Products WHERE ProductName NOT LIKE '%C%'--Product tablosundaki ProductName alanındaki kayıtların içerisinde C bulunmayan tüm kayıtları seça
SELECT * FROM Products WHERE ProductName LIKE 'Cha[in]%'--Product tablosundaki ProductName alanındaki kayıtların içerisinde Cha ile başlayan ve dörtdüncü karakteri i yada n olan ve bundan sonraki karakterlerin olup olmaması önemli olmayan tüm kayıtları seç
SELECT * FROM Products WHERE ProductName in('Chai','Chang')--Product tablosundaki ProductName içindeki Chai ve Chang yazılı tüm satırları seçSELECT * FROM Products WHERE ProductName LIKE '_A%[c]_[a-f]'--Product tablosundaki ProductName içindeki İlk karakteri önemli değil, ikincisi a olan, sonraki karakterlerden c'ye gelinceye kadar önemsiz olup, c'den sonra bir karakter daha olan ve sonraki karakteri a ile f arasında bir karakter olan, bundan sonra herhangi bir karakteri olmayan tüm kayıtları seç
SELECT * FROM Employees WHERE Region is null--Employees tablosundaki Region alanı null olan tüm alanları seç
SELECT * FROM Employees WHERE Region is not null--Employees tablosundaki Region alanı null olmayan tüm alanları seç
SELECT FirstName + ' ' + LastName as Adi FROM Employees WHERE ReportsTo is null--Employees tablosundaki ReportsTo alanı null olan satırın/ların FirstName ve LastName 'ini Adi diye bir tabloya yaz
SELECT * FROM Products Order by ProductName DESC--Products tablosundaki ProductNamealanındaki kayıtları alfabetik sıralamaya göre tersten başlayarak tümünü listele
SELECT FirstName, LastName FROM Employees ORDER BY FirstName DESC, LastName ASC--Employees tablosundaki FirstName alanındaki kayıtları alfabetik sıralamaya göre tersten listele, eğer aynı değerle eklenmiş kayıt varsa O kayıtları LastName'e göre alfabetik olarak listele
-----------Aggregate Functions--(İşlem sonucunu döndüren fonksiyonlar)------------------
SELECT COUNT(*) FROM Products--Products tablosundaki toplam kayıt sayısını hesapla
SELECT COUNT(Region) FROM Employees--Employees tablosunda Region alanındaki toplam kayıt sayısını hesapla (null olarak eklenen kayıtları saymaz)
SELECT COUNT(*)-COUNT(Region) FROM Employees--Employees tablosundaki toplam kayıt sayısını hesapla ve Region alanındaki toplam kayıttan null olmayanların toplam sayısını çıkart (Yani Region alanındaki null olan alanların toplamını hesapla)
SELECT SUM(Quantity) FROM [Order Details]--Order Details tablosundaki Quantity alanının içindeki verilerin değerini Toplamını döndürür (Matematiksel İşlem)
SELECT AVG(Quantity) FROM [Order Details]--Order Details tablosundaki Quantity alanının içindeki verilerin değerlerinin toplamını alıp her kayıt başına düşen ortalamayı yazar (Matematiksel İşlem)
SELECT MAX(Quantity) FROM [Order Details]--Order Details tablosundaki Quantity alanının içindeki verilerden en büyük değeri getir (Matematiksel işlem)
SELECT MIN(Quantity) FROM [Order Details]--Order Details tablosundaki Quantity alanının içindeki verilerden en küçük değeri getir (Matematiksel işlem)
SELECT Top 10 ProductName FROM Products--Products tablosundaki ProductName alanındaki kayıtlardan üstten 10 taneyi listele
SELECT Top 10 ProductName FROM Products ORDER BY ProductName DESC--Products tablosundaki ProductName alanındaki kayıtlardan alttan 10 taneyi listele
SELECT Top 10 percent ProductName FROM Products--Products tablosundaki ProductName alanındaki kayıtlardan toplam kayıtın %10'nunu üstten başlayarak listele
SELECT RAND()--Her çağırılışta rastgele sayı üretir
SELECT ROUND(236.34567,-1)--Sonuç 240.00000 Noktadan önceki kısımı alıp en yakına yuvarlar.(1-5 arası alta 6-0 arası üste yuvarlar) (-'de noktadan öncekileri +'da noktadan sonraki sayıları yuvarlar)
SELECT LEN('Merhaba')--İçine aldığı değerin karakter uzunluğunu verir.Sonuç 7SELECT SIGN(-23456)--Sayının pozitif, negatif durumunu gösterir . Sonuç -1 döner. (negatif , 1 pozitif)[/PHP]
Mysql 'dede hemen hemen aynıdır.
Php ile nasıl kullanılacağına gelince;
Örnek
$sql = "SELECT * FROM Categories"; //Sql Sorgusu $query = mysql_query($sql) or die (mysql_error()); //Sorguyu çalıştır $assoc = mysql_fetch_assoc($query); //Değerleri al ve yazInsert, Update, Delete konularını işledikten sonra, aldığım notları eklerim
keşke