CEIL(kolonlsabit) :
Verilen değerden büyük en yakın tamsayıyı döndürür.
database'den bilgi alma
//database'den bilgi alma
$baglanti = mysql_connect("localhost","username","password")
or die ("Database servera baglanIlamadI...");
$database = mysql_select_db("Database Ismi", $baglanti) or die("Database secilemedi...");
$sorgu = "select * from table_ismi";
$sonuc = mysql_query($sorgu) or die("Sorgulama yapIlamadI...");
while ($row = mysql_fetch_object($sonuc))
{
$numara = $row->field_ismi;
echo "Numara = $numara";
}
mysql_free_result($sonuc);
mysql_close($baglanti);
database'e baglanma
//database'e baglanma
$db_host="localhost";
$db_kullaniciadi="kullanici_adiniz";
$db_kullanicisifresi="sifreniz";
$link=mysql_connect("$db_host","$db_kullaniciadi","$db_kullanicisifresi")
or die("Hata!");
mysql_close($link);
DECODE
Bu komut ile kolon isimlerini koşullara bağlayarak verilerin durumuna gôre değişik kolon isimlerini seçmek
mümkündür. Yapısal dillerdeki 'if-then-else' yapısının ilkel bir ômeğidir.
DECODE(kolon/ifade,ara1,sonuc1,[ara2,sonuc2, ...,]default)
SELECT ENAME,JOB,
DECODE(JOB,'CLERK','WORKER','MANAGER','BOSS','UNDIFIENED')
DECODE_JOB FROM EMP
ENAME JOB DECODE_JOB
SMITH CLERK WORKER
ALLEN SALESMAN UNDIFIENED
WARD SALESMAN UNDIFIENED
JONES MANAGER BOSS
MARTIN SALESMAN UNDIFIENED
BLAKE MANAGER BOSS
CLARK MANAGER BOSS
SCOTT ANALYST UNDIFIENED
KING PRESIDENT UNDIFIENED
TURNER SALESMAN UNDIFIENED
ADAMS CLERK WORKER
JAMES CLERK WORKER
FORD ANALYST UNDIFIENED
MILLER CLERK WORKER
decode
Tablo içindeki verileri belirtilen değerler ile değiştirir. Büyük/küçük harf duyarlı olarak çalışır.
Örneğin kullanıcı bilgilerini içeren people tablosunda, statu sütunu engineer, manager, president şeklinde veriler içersin.
SELECT statu, decode(statu,'engineer','mühendis',
1 'manager','yönetici',
2 'president','Başkan') yetki
3* FROM people
statü yetki
--------- ---------
engineer mühendis
manager yönetici
president Başkan
Delete Deyimi
Tablo içindeki verileri belirtilen değerler ile değiştirir. Büyük/küçük harf duyarlı olarak çalışır.
Örneğin kullanıcı bilgilerini içeren people tablosunda, statu sütunu engineer, manager, president şeklinde veriler içersin.
SELECT statu, decode(statu,'engineer','mühendis',
1 'manager','yönetici',
2 'president','Başkan') yetki
3* FROM people
statü yetki
--------- ---------
engineer mühendis
manager yönetici
president Başkan
Delete Deyimi
Arama şartı belirtilen kayıtları siler.
Kullanım şekli:
Delete * From [tablo] where arama şartı;
Örnekler:
Delete * from isim where adi='murat';
Adi alani murat olan tüm kayitlari siler.
Delete * from isim where posta=null;
Posta alanı boş olan tüm kayıtları siler.
DISTINCT ifadesi
Eğer seçilen kolon aynı satırdan birden fazla getiriyorsa, bunlardan fazla olan satırları atmak mümkündür.
SELECT DISTICT DEPTNO FROM EMP;
Bu sorgu bir bölümde birden fazla çalışan olduğu halde çalışanlar tablosundan sadece bölüm numaralarını seçmekte ve tekkarlı satırları elemektedir.
database'e baglanma
//database'e baglanma
$db_host="localhost";
$db_kullaniciadi="kullanici_adiniz";
$db_kullanicisifresi="sifreniz";
$link=mysql_connect("$db_host","$db_kullaniciadi","$db_kullanicisifresi")
or die("Hata!");
mysql_close($link);
DISTINCT tekrarlı kayıtlardan sadece bir tane getirmek
SELECT DISTINCT adi FROM öğrenci
Field Ekleme ve Silme
Tablo Ekleme:
ALTER TABLE tablo_adi ADD kolon_adi alan_turu
Kolon Silme:
ALTER TABLE
tablo_adi DROP COLUMN kolon_adi
FLOOR
FLOOR(kolonlsabit) : Verilen değerden küçük en yakın tamsayıyı döndürür
gelen kayıtlara satır numarası ile göstermek
$sql = "SELECT name FROM ogrenci";
$result = mysql_query($sql);
$thenumber = 1;
while ($row = mysql_fetch_array ($result)) {
echo $thenumber . ' - ' . $row['adi'];
$thenumber++;
}
greatest
Listedeki en büyük değeri döndürür.
greatest(163,34,546,1405,8723) "en büyük"
en büyük 8732
GROUP BY ifadesi
GROUP BY ifadesi ile sorgulanan satırlar belirli guruplara ayrılarak bu gruplar üzerinde grup fonksiyonları kullanılır.
SELECT JOB,AVG(SAL) FROM EMP
GROUP BY JOB;
J
JOB AVG(SAL)
ANALYST 3000
CLERK 1037.5
MANAGER 2758.3333
PRESIDENT 5000
SALESMAN 1400
Her iş için ayrı ayrı ne kadar ortalama maaş verildiğini hesaplar.
SELECT DEPTNO,JOB,AVG(SAL) FROM EMP
GROUP BY DEPTNO,JOB;
DEPT NO JOB AVG(SAL)
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 ANALYST 3000
20 CLERK 950
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 1400
9 satırları seçildi.
Her bölümdeki farklı işler için ne kadar ortalama maaş verildiğini hesaplar. Grup fonksiyonları ile birlikte kullanılan kolon isimleri mutlaka GROUP BY ifadesi içinde yer almalıdır. Tersi durumda hatalı bir SQL cümlesi yazılmış olur.
GROUP BY kayıtları gruplayarak adetlerini bulmak
SELECT count(*) as toplam, sinif FROM `okul` group by sinif
okuldaki sınıf adedini getirir
Grup Fonksiyonlan
Grup fonksiyonları veri tabanından seçilen bir dizi satır üzerinde işlem yapar ve sonuç olarak kendisine
yüklenmiş olan göreve göre özet bir bilgi üretir. AVG([DISTINCTIALL] kolon) : Verilen kolon değerlerinin
ortalamasını bulur.
COUNT([DISTINCTIALL] kolonl*): Verilen kolonun NULL olmayanlarının sayısını getirir. Eğer * kullanılırsa toplam kaç satır sorgulandığı bulunur.
MAX([DISTINCTIALL] kolon) : Maximum değeri getirir.
MIN((DISTINCTIALL] kolon) : Minimum değeri getirir.
SUM([DISTINCTIALL] kolon) : Verilen kolon toplamını bulur.
SELECT COUNT(*) FROM EMP WHERE DEPTNO = 20;
20 numaralı bölümde kaç kişi olduğunu bulur.