Anasayfa

Mevcut kayıtları sorgulamak için mysql de select ifadesini kullanıyoruz. mysql e consoldan balganiyorum

# cmd

# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.22-community-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

daha sonra use ile kullanmak istediğim tablonun adını vererek tabloya geçiş yapiyorum

mysql> use telefon;
Database changed

daha sonra show tables dediğimde bana mevcut tabloları gösteriyor

mysql> show tables;
+-------------------+
| Tables_in_telefon |
+-------------------+
| telefonlar        |
+-------------------+
1 row in set (0.00 sec)

İşte bu tabloların içinde verileri getirip göstermek için select ifadesini kullanıyoruz. select ifadesinin genel kullanımı şöyledir. select boşluk getirmek istediğim alanların isimleri. daha sonra from diyerek tablonun ismini vermemiz gerekir.İşte bu şekilde select dedikten sonra alanların isimleri ve daha sonra from diyip tablo ismini vererek kayıtları getirebiliriz. Dört kayıt döndüğünü ve bunların isim ve soyisim değerlerini karşıma getirdi.


mysql> select isim,soyisim from telefonlar;
+----------+------------+
| isim     | soyisim    |
+----------+------------+
| Suleyman | Demirkeser |
| Suleyman | NULL |
| Suleyman | Demirkeser |
| Suleyman | NULL |
+----------+------------+

4 row in set (0.00 sec)

Eğerki daha fazla alan varsa yine virgül atmak suretiyle bunları getirebiliirm.

mysql> select id,isim,soyisim from telefonlar;
+----+----------+------------+
| id | isim     | soyisim    |
+----+----------+------------+
|  1 | Suleyman | Demirkeser |
|  2 | Suleyman | NULL |
|  3 | Suleyman | Demirkeser |
|  7 | Suleyman | NULL |
+----+----------+------------+
4 row in set (0.00 sec)

Gelen kayıtların burdaki alan sırası benim selecte verdiğim alan sırası ile aynıdır. Yani burdaki sırayı ters çevirerek sıranın değişmesini sağlayabilirim

mysql> select isim,soyisim,id from telefonlar;
+----------+------------+----+
| isim     | soyisim    | id |
+----------+------------+----+
| Suleyman | Demirkeser |  1 |
| Suleyman | NULL|  2 |
| Suleyman | Demirkeser |  3 |
| Suleyman | NULL |  7 |
+----------+------------+----+
4 row in set (0.00 sec)

Buraya gelen kayıtlar doğal veritabanı sırasıyle gelirler. Bir tablodaki tüm alanları seçmek için ise selecten sonra alan isimleri değilde yıldız ifadesini kullanabilirim.

select * from tablo adı dediğimde o tablodaki tüm kayıtlar karşıma gelecektir.

mysql> select * from telefonlar;
+----+----------+------------+--------+
| id | isim     | soyisim    | numara |
+----+----------+------------+--------+
|  1 | Suleyman | Demirkeser | NULL   |
|  2 | Suleyman | NULL | NULL   |
|  3 | Suleyman | Demirkeser | NULL   |
|  7 | Suleyman | NULL | NULL   |
+----+----------+------------+--------+
4 row in set (0.00 sec)

Select ifadesinde where ifadesini kullanarak gelen kayıtlarda sınırlandırma yapabilirim. where ifadesinden sonra yazdığım koşullarla gelen kayıtlardan sadece bu koşula uyanlar görünecektir. Yani diğer tabirle bu koşula uyan kayıtlar getirilecektir.

Mesela id si üç ten büyük olan kayıtları görmek istiyorsam select yıldız from dedim ki tüm alanlar gelecek telefonlar tablosundan seçim işlemini yapıyorum ve id alanı üçten büyük olan değerleri seçiyorum.evet tek kayıt geldi

mysql> select * from telefonlar where id>3;
+----+----------+------------+--------+
| id | isim     | soyisim    | numara |
+----+----------+------------+--------+
|  7 | Suleyman | NULL | NULL   |
+----+----------+------------+--------+
1 row in set (0.00 sec)

Üçten büyük ve eşit olan kayıtları listeleyebilirim.

mysql> select * from telefonlar where id>=3;
+----+----------+------------+--------+
| id | isim     | soyisim    | numara |
+----+----------+------------+--------+
|  3 | Suleyman | Demirkeser | NULL   |
|  7 | Suleyman | NULL | NULL   |
+----+----------+------------+--------+
  2row in set (0.00 sec)

Veya üçe eşit olan kayıtları listeleyebilirim

mysql> select * from telefonlar where id = 3;
+----+----------+------------+--------+
| id | isim     | soyisim    | numara |
+----+----------+------------+--------+
|  3 | Suleyman | Demirkeser | NULL   |
+----+----------+------------+--------+
1  row in set (0.00 sec)

İşte where kısmında verdiğim kritere göre birden fazla kayıtı getirebilirim. burdaki where ifadesi çok farklı değerler alabilir. herhangi bir where ifadesi yazmazsam bana mevcut olan tüm kayıtları verdiğim alanlarla getirecektir. yani select * from tablolar tüm alanları kapsadığı ve herhangi bir paremetre olarak koşul koymadığım için o tablodaki tüm kayıtları dönderir.


Sitenize Aşağıdaki kodlari ekleyerek videoyu izletebilirsiniz
Bu Sayfayı İmleyebilirsiniz : Bookmark and Share
Videoya Henüz Yorum Yazılmamış
İlgili Dosya Bulunmamaktadır
Adınız, Soyadınız
Mail
Telefon
Adres
Referans

Kullanıcı Girişi

Kullanıcı Adı :
Şifre :
Ücretsiz Üyelik Şifre Hatırlatma
Sitede bulunan Tüm dökümanların izinsiz kopyalanması yasaktır. ProgramlamaTv.com 2008
Hizmet Sözleşmesi - Gizlilik İlkesi