Derste işlediğimiz konu. Aldığım notları paylaşıyorum.

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=5
Products 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ç 7


SELECT 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 yaz
Insert, Update, Delete konularını işledikten sonra, aldığım notları eklerim