SQL Nedir?

Structured Query Language yani "Yapılandırılmış sorgu dili" anlamındadır.. (RDBMS) Relatianol Database Management System veritabanlarına girmek için kullanılan standart yazılım..Sql kısaca bir veritabanında veri saklamak ve istenildiğinde veriye ulaşmak için gerekli yoldur..


Mysql, Oracle, PostgreSql, Sybase, Microsoft Sql Server ve dahası olarak kullanılan sql veritabanı sistemleri vardır.

Sql Başlangıç. önce varolan veritabanından verileri okuyalım ;)

Bildiğim kadarıyla SQL başlangıç seviyesinde size yardımcı olmaya çalışcağım...

öncelikle şunu belirtelim ki Sql veya MySql arada bir fark yok ibarelerini ben dahil bir çok arkadaş kullansada bazı durumlarda farklı komutlar kullanılabiliyor.
biz ilk etapta bir yada bir çok tablodaki veri nasıl okunur onu öğreneceğiz.

SELECT : SQL in can damarı ve varoluş nedeninin büyük bir kısmını barındıran bu cümlecik veri tabanında yer alan tablolardaki verileri birbiriile ilişki yada ilişkisiz olarak görüntülememizi sağlar.

Yazım Şekli: Select [Tabloadı1/TabloAlias1].[AlanAdı1] [Alias1], [Tabloadı2/TabloAlias2].[AlanAdı2] [Alias2] from [TabloAdı1] TabloAlias1, [TabloAdı2] [TabloAlias2] where [TabloAdı1/TabloAlias1].[AlanAdı1]=[Değer1] [and/or] [Tabloadı2/TabloAlias2].[AlanAdı2] = [Değer2] Order by [Tabloadı1/TabloAlias1].[AlanAdı1], [Tabloadı2/TabloAlias2].[AlanAdı2] [asc/desc]


Bu yazım kodunda [] işaretleri içindeki alanlar tercihli girilen alanlardır. / ile ayırdığım bölümler ise ikisinden biri yada yazılmamış başka seçeneklerinde olduğunu belirtir.

örn: Select User.UserName,Msg.Text,Msg.Date from UserTable User, MessageTable Msg, Where User.UserName='ch' and Msg.UserId=User.UserId Order by Msg.Date Asc
Örneğin hayali olarak Bir MessageBoard daki ch kullanıcısının mesajlarını ve tarihlerini küçükten büyüğe listeleyecek bir Sorgu yazmış olduk.

Dikkat etmemiz gereken en büyük husus yazacağımız sorgulardan birden fazla tablo mevcut ise bunun için ortak bir alan olması birden çok tablonun verilerinin birbirleri ile ilişkilendirilmesini sağlar. yukarıdaki örnekde olan 'Msg.UserId=User.UserId' alan gibi Msg tablosundaki Hangi kullanıcın yazdığını belirten UserId ve User tablosundaki Hangi Kullanıcının hangi UserId ye sahip olduğunu gösteren alanların birleştirilmesi gibi. böylece mesaj listelenirken kayıt var ise ilk satır şöyle görüntülenecek.


UserName Text Date
------------ ---------- --------
ch deneme 09-09-2004

devamı daha sonra....