Zihni Özgürlük

unsigned Nedir

Tüm integer tipler için kullanılabilir. Bir alan unsigned olarak işaretlendiğinde sadece pozitif değer alabilir.
Örneğin tinyint alan unsigned olarak işaretlendiğinde 0 ile 255 arasında bir değer alabilir. Normalde tinyint bir alan -128 ile 127 arasında bir değer alabilir.

Index Kullanımı

Belirli sutunlardaki değerleri hızlıca bulmak için kullanılır. Eğer sutun index olarak tanımlanmamışsa mysql ilk kayıttan aranan kayıta kadar tüm satırları tarar. Eğer sutun index olarak tanımlanmışsa mysql rastgele arama yapabilir, bu da sorgunun hızlanmasını sağlar.

Örneğin, öğrenciler tablosu aşağıdaki gibi olsun. Sorgularımızda adi alanını çok fazla kullandığımızdan bu kolonu indexleyelim.


mysql > ALTER TABLE ogrenciler ADD INDEX(adi)

+-----+-----+------+

| id  | adi |notu    |

+-----+-----+------+

| 123 |Veli |60    |

| 124 |Veli |70    |

| 125 |Ali  |80    |

| 126 |Ali  |30    |

| 127 |Hasan|61    |

+-----+-----+------+

HAVING Kullanımı

Having cümleciği ile grup kriterleri tanımlanır, gruplanmış kolonlardaki veriler where cümleciği ile filtrelenemez, bunun yerine having cünleciği kullanılır.


Örneğin, öğrenciler tablosu aşağıdaki gibi olsun.

+-----+-----+------+

| id  | adi |notu  |

+-----+-----+------+

| 123 |Veli |60    |

| 124 |Veli |70    |

| 125 |Ali  |80    |

| 126 |Ali  |30    |

| 127 |Hasan|61    |

+-----+-----+------+

not ortalaması 60 dan büyük olan öğrencileri bulmak isteyelim.

mysql> SELECT adi, AVG(notu) FROM ogrenciler GROUP BY adi HAVING AVG(notu) > 60

+-----+------+

| adi |notu  |

+-----+------+

|Hasan|61    |

|Veli |65    |

+-----+------+

AVG Fonksiyonu

AVG([DISTINCT] expr)

expr ile verilen kolondaki değerlerin aritmetik ortalamasını döndürür. DISTINCT parametresi opsiyoneldir, verilirse kolondaki benzersiz değerlerin aritmetik ortalaması alınır. Eşleşen satır bulunamazsa null döndürür.


Öğrenciler tablosu aşağıdaki gibi olsun.

+-----+-----+------+

| id  | adi |notu  |

+-----+-----+------+

| 123 |Veli |60.5  |

| 124 |Veli |73.5  |

| 125 |Ali  |87.5  |

| 126 |Ali  |45.5  |

| 127 |Hasan|55.5  |

+-----+-----+------+

her öğrencinin not ortalamasını bulmak isteyelim.

mysql> SELECT adi, AVG(notu) FROM ogrenciler GROUP BY adi

+-----+------+

| adi |notu  |

+-----+------+

|Ali  |66.5  |

|Hasan|55.5  |

|Veli |67.5  |

+-----+------+

preg_match() Fonksiyonu

Sözdizimi:

1
int preg_match ( string desen, string metin,  array [eslesmeler] )

desen parametresi ile verilen metin bloğunu, metin içinde arar.
Bulunan eşleşmeleri eslesmeler dizisine doldurur. Aranan metin bloğu bulunursa 1, bulunamazsa 0 döndürür.

Örnek:

Aşağıdaki örnekte, düzenli ifadeler yardımıyla 300,5 rakamını metinde alıyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
$metin= "Microsoftun değeri 300,5 milyar dolardır. ";
// \d+ ile herhangi bir ondalik sayıdan bir veya daha fazla kere olacağını, bize 300'ü verir
// sonra bir virgül olacağını
// sonra \d ile herhangi bir ondalık sayıdan bir tane olmasını istiyoruz.
$desen = "/\d+,\d/";
if(preg_match($desen,$metin,$eslesmeler))
{
print $eslesmeler[0];//Çıktı:300,5
}
else
{
print "Eşleşme bulunamadı.";
}