Php Veritabanı (PhpMyAdmin) ve SQL Komutları

phpmyadmin-sql

Php Veritabanı Kullanımı

Php veritabanı işlemleri web siteleri dinamik hale getirmek için kullanılır.  Bir siteyi dinamik yapmak için veritabanı gereklidir. Web siteleri barındığı bilgileri, içerikleri veritabanlarının tablolarında saklar.

Php Programlama Wamp Server Kurulumu başlıklı yazıda bilgisayarımıza nasıl sunucu kuracağımızdan bahsetmiştik. Eğer bilgisayarınız sunucu kurulu değilse konuya göz atarak bir sunucu kurmalısınız.

Sunucuyu kurduğunuzu varsayıyorum ve kaldığımız yerden devam edelim. Öncelikle veritabanı işlemlerini yapacağımız phpMyAdmin arayüzü hakkında kısa bilgiler vereceğim.

Web tarayıcımızın adres çubuğuna http://localhost/phpmyadmin/ yazarak phpmyadmin giriş sayfasını açıyoruz.

PhpMyAdmin Giriş Ekranı

Yukarıdaki gibi bir ekran bizi karşılayacaktır. Kullanıcı adı varsayılan olarak root‘tur. Şifre girmeye gerek yoktur. Phpmyadmine giriş yaptığımızda bizi bilgisayarımıza kurulu sunucu hakkında bilgi veren ve veri tabanlarımızın listelendiği bir anasayfa karşılıyor. Aşağıdaki ekran görüntüsü üzerindeki numaralardan listedeki karşılığını görebilirsiniz.

PhpMyAdmin Anasayfa

PhpMyAdmin Giriş Sayfası Listesi

  1. Oluşturduğumuz veritabanları ve phpmyadminin kendi veri tabanları burada listelenir. Veritabanı isminin solundaki + işareti ile genişleterek veritabanı içindeki tabloları da görebiliriz.
  2. Veritabanları menüsünde yine veritabanlarının listesi var. Ayrıca yeni veritabanı oluşturmak için küçük bir form var. Alt başlıkta inceleyeceğiz.
  3. SQL menüsü SQL kodları yazabileceğimiz bir sayfadır. Burada SQL kodları ile çalışabiliriz. 
  4. Durum menüsü pek önemli değil. MySql sunucu hakkında bazı istatistikler sağlayan bir sayfa.
  5. Kullanıcı Hesapları sayfası veritabanı için bir kullanıcı oluşturmamızı sağlıyor. Burada oluşturduğumuz kullanıcıya istediğimiz yetkiyi verebiliriz. Bunu alt başlıkta inceleyeceğiz.
  6. Dışa Aktar menüsü veritabanımızı yedek almak için kullanılan bir menüdür. Burada bir kaç farklı dışarı aktarma seçeneği vardır. Genelde SQL olarak dışa aktarma kullanılır.
  7. İçe Aktar menüsü ise yedek aldığımız veritabanını tekrar geri yüklemek için kullanılan sayfadır.
  8. Ayarlar menüsü PhpMyAdmin ile ilgili ayarlar yapmamızı sağlayan, kendi içerisinde alt menüleri bulunan ayarlar sayfasıdır.
  9. Kopya Etme menüsü hakkında pek bir fikrim yok. Açıkçası ne olduğunu da merak etmedim. Galiba yedeklerin kopyalandığı sunucu ile ilgili bir menü.
  10. Değişkenler menüsü PhpMyAdmin değişkenlerinin listelendiği ve düzenlenip, değiştirilebildiği bir sayfa.
  11. Karakter Grupları PhpMyAdmin ile birlikte gelen karakter gruplarının listelendiği bir sayfa.
  12. Motorlar bu menüde PhpMyAdmin ile birlikte gelen depolama motorlarının listesi var.
  13. Eklentiler menüsünde ise PhpMyAdmin ile birlikte gelen eklentilerin olduğu liste var.

PhpMyAdmin İle Php Veritabanı Oluşturma

PhpMyAdmin de iki şekilde veritabanı oluşturabiliriz. Bu başlık altında listedeki ikinci maddeye göre veritabanı oluşturmayı göstereceğim. Diğer yöntem listede üçüncü madde SQL kodları ile oluşturma onu konunun ilerleyen bölümünde anlatacağım.

PhpMyAdmin Veritabanı Oluşturma Ekranı

Yukarıda veritabanları menüsünden örnek bir veritabanı oluşturduk. Bu şekilde basitçe oluşturmak mümkün. Veritabanı oluşturulduktan sonra tablo oluşturma sayfası karşımıza gelir.

PhpMyAdmin Tablo Oluşturma Ekranı

Yukarıdaki resimde tablo oluşturma sayfası görünmektedir. Görselin en üstündeki gri alanda Sunucu: MySQL:3306 >> Veritabanı: veritabani şeklinde bir yazı var buradan hangi veritabanı üzerinde işlem yapıldığını görebilirsiniz.

PhpMyAdmin Tablo Sütunları

Yukarıda 4 sütunlu bir üyeler tablosu oluşturdum. Burada kısaca şunlardan bahsedeyim.

Özellik Açıklama
Adı Sütun ismini ifade eder.
Türü Sütunun saklayacağı veri tipini ifade eder.
Uzunluk/Değer Sütunun saklayacağı verinin uzunluğu ifade eder.  Veri girilen değerden uzunsa hata oluşur. 
Varsayılan Sütunun varsayılan olarak davranışını belirler.
Karşılaştırma Sütunun karakter grubunu belirler. veritabanını oluştururken seçtiğimiz karakter grubu varsayılandır.
Boş Sütunun boş geçilip, geçilemeyeceğini belirler. İşaretli ise boş geçilebilir.
A_I Auto Increment otomatik artırma. Genellikle ID sütunlarında Birincil Anahtar belirlemek için işaretlenir.

Yüzeysel olarak veritabanı ve tablo oluşturma bu şekilde. Oluşturduğumuz veritabanının listedeki ağaç yapısı aşağıdaki gibidir.Veri Tabanı Ağaç Yapısı

Veritabanındaki tablolar aşağıdaki gibi listelenir.Veritabanı İçindeki Tablolar

Yukarıdaki sayfada oluşturduğumuz veritabanı üzerinde işlemler yapmak mümkündür. Tabloları tek tek içe/dışa aktarma, SQL komutları çalıştırma, veritabanı ile ilgili ayarlar yapma menülerde mevcuttur. Bu özellikleri kurcalayarak öğrenmeniz daha faydalı olacaktır.

PhpMyAdmin İle Kullanıcı Oluşturma

Kullanıcılar oluşturduğumuz veritabanlarını belirlediğimiz yetkiler çerçevesinde yönetmek için oluşturulur. Tıpkı Windows da kullanıcı oluşturma gibi düşünebilir. Kullanıcı belirlenen yetkiler dışında hiç bir işlem yapamaz ya da belirlenen veritabanı dışında diğer veritabanlarına erişemez.

PhpMyAdmin Kullanıcı Listesi

Yukarıda PhpMyAdminde oluşturulmuş kullanıcıların listesi mevcut. Bu sayfadan mevcut kullanıcıyı düzenleyebilir ya da Kullanıcı hesabı ekle linkine tıklayarak yeni kullanıcı tanımlayabilirsiniz. Yeni kullanıcı nasıl tanımlanır ekran görüntüleri ile birlikte kısaca bahsedeceğim.

PhpMyAdmin Yeni Kullanıcı Oluşturma Ekranı

Yukarıdaki ekran görüntüsü kullanıcı oluşturma sayfasıdır. Bu sayfada kullanıcı giriş bilgileri ve kullanıcı yetkileri vardır. Bu sayfayı incelediğinizde fare imleci ile üzerine geldiğiniz alan hakkında kısa bir bilgilendirme yaptığı için buradaki terimlerin tek tek açıklamasını yapmayacağım. Buradaki amaç sadece bu sayfanın ne işe yaradığını anlatmak.

PhpMyAdmin Kullanıcı Genel Yetkileri

Yukarıdaki ekran görüntüsünde deneme adında bir kullanıcı oluşturdum. Bu kullanıcı hesabına sadece veriyi görüntüleme ve veri ekleme yetkisi verdim. Bu yetki geneldir. Serverdaki tüm veritabanları üzerinde bu kullanıcı bu yetkiye sahiptir. Ancak farklı veritabanı farklı yetki vermek mümkündür.

PhpMyAdmin Kullanıcı Veritabanı Belirleme

Öncelikle Kullanıcı Hesapları menüsünde yetkisini düzenlemek istediğimiz hesabın Yetkileri Düzenle linkine tıklıyoruz ve veritabanı sekmesini açıyoruz ve yukarıdaki gibi yetki vermek istediğimiz veritabanını seçiyoruz. 

PhpMyAdmin Kullanıcı Veritabanı Yetkisi Belirleme

Veritabanını seçtikten sonra yukarıdaki gibi bir ekran gelecektir. Bu ekrande kullanıcının seçtiğimiz veritabını üzerindeki yetkilerini belirliyoruz. Kullanıcı seçtiğimiz veritabanı üzerinde belirlenen yetkiler dışında işlem yapamaz.

Kullanıcının sahip olduğu yetkiler Kullanıcı Hesapları menüsünde yukardaki gibi görünür.

Genel olarak veritabanı, tablo oluşturma ve kullanıcı oluşturma hakkında bilgiler verdim. Artık bu veritabanı üzerinde SQL komutları ile nasıl işlem yapacağımıza geçelim.

PhpMyAdmin İle SQL Komutları

PhpMyAdmin, mySQL veritabanı sunucu ile çalışmaktadır ve standart SQL dilini kullanır. Php veritabanı işlemlerini yapabilmek için kesinlikle SQL dili hakkında bilgi sahibi olmak gerekir. 

CREATE DATABASE

Veritabanı oluşturmak için kullanılan sql komutudur.

CREATE DATABASE ornek_vt;

CREATE TABLE

Veritabanı içinde tablo oluşturmak için kullanılan sql komutudur.

CREATE TABLE `uyeler` (
  `uye_id` int(11) NOT NULL AUTO_INCREMENT,
  `uye_kullanici_adi` varchar(15) NOT NULL,
  `uye_sifre` varchar(20) NOT NULL,
  `uye_eposta` varchar(50) NOT NULL,
  PRIMARY KEY (`uye_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

Yukarıdaki komutlar günümüzde pek sık kullanılıyor mu bilmiyorum. Bu komutları en son bu konu için kullandım. Konunun temeli bunlar olduğu için basit örnekler verdim. En sık kullanılan sorgular ile devam ediyoruz.

Tabloya Veri Ekleme (INSERT)

Tabloya yeni veriler eklemek için kullanılır. Söz dizim aşağıdaki gibidir.

INSERT INTO tablo_adi (sütun1,sütun2,…) VALUES (veri1, veri2, …);

Bu komut ile tablo bir veya daha fazla veri ekleyebiliriz. Tabloya veriler sütun1 = veri1, sütun2 = veri2 şeklinde eşleşerek kayıt edilir. Sütun sırasını karıştırmamak önemli. Tablodaki sütun NOT NULL olarak işaretlendi ise yani boş bırakılamaz işaretlendi ise o sütun için  veri gönderilmediğinde sorgu çalışmayacaktır. Eğer veri kaydı zorunlu değilse varsayılan olarak her zaman NULL seçmeyi unutmayın.

INSERT komutu ile eklenen veri tablonun her zaman sonuna eklenir.

Örnek kullanım:

Yukarıdaki örneklerde üyeler tablosu oluşturmuştuk şimdi bu tabloya INSERT sorgu ile bir kaç tane üye ekleyelim.

Bir veri ekleme.

INSERT INTO uyeler (uye_kullanici_adi, uye_sifre, uye_eposta) VALUES ("Mustafa", "654321", "eposta@mustafaazak.com");

Birden fazla veri ekleme.

INSERT INTO uyeler (uye_kullanici_adi, uye_sifre, uye_eposta) VALUES 
("Mustafa", "654321", "eposta@mustafaazak.com"),
("Hasan", "123456", "hasan@eposta.com"), 
("Mehmet", "me12met", "mehmet12@gmail.com");

Aynı anda bir ya da daha fazla veri eklenebileceğini söylemiştik örnekte her iki kullanımı da gösterdik. Tablomuzu oluştururken dört tane sütun vardı ancak uye_id sütunu otomatik artırma seçili olduğu olduğu için otomatik değer alacaktır. Birden fazla veri eklerken dikkat edilmesi gereken iki parantez arası sütun kadar veri girdik ve virgül ile ayırdık. Satırların yan yana ya da alt alta yazılması önemli değil alt alta daha düzgün görüneceği için alt alta yazdım.

Tabloda Veri Güncelleme (UPDATE)

Tablodaki mevcut veriyi düzenlemek için kullanılan bir komuttur. Söz dizimi aşağıdaki gibidir.

UPDATE tablo_adi SET sütun1 = ‘veri1’, sütun2 = ‘veri2’,… WHERE koşul

Kısaca WHERE teriminden bahsedeyim sorguda bir koşul belirtmek için kullanılır. Örneğin WHERE adi = ‘hasan’ yazdığımızda tabloda adı verisi hasan olan tüm kayıtlar bu sorgudan etkilenir.

Örnek kullanım:

UPDATE uyeler SET uye_kullanici_adi = "Hasan Ali", uye_sifre = "hasan_123" WHERE uye_eposta = "hasan@eposta.com";

Yukarıdaki örnekte üye epostası hasan@eposta.com olan tüm verilerin kullanıcı adı ve şifrelerini sorguda belirtildiği gibi değiştirdik.

Tablodan Veri Silme (DELETE)

Tablodaki veriyi silmek için kullanılır. Tablodaki tüm veriler tek satır kod ile silinebilir ya da WHERE terimi ile koşul belirterek bir veya daha fazla veri silinebilir. Söz dizimi aşağıdaki gibidir.

DELETE FROM tablo_adi WHERE koşul;

Sorgu kullanımını örnek üzerinden inceleyelim.

Örnek kullanım:

/*Aşağıdaki sorgu ile üyeler tablosundaki tüm veriler silinebilir */
DELETE FROM uyeler
/*Aşağıdaki sorgu ile kullanıcı adı Mehmet olan tüm kayıtlar silinir.*/
DELETE FROM uyeler WHERE uye_kullanici_adi = 'Mehmet';

Genel kullanımı yukardaki gibidir. 

Tablodan Veri Getirme (SELECT)

Tablodaki tüm verileri getirmek için ya da WHERE terimi ile koşula bağlı veriler getirmek için kullanılır. Söz dizimi aşağıdaki gibidir.

SELECT * FROM tablo_adi;

Yukarıdaki söz diziminde (*) yıldız tüm sütunların getir anlamında kullanılmaktadır. Eğer belirli sütunları getirmek istiyorsak söz dizimi aşağıdaki gibi olacaktır.

SELECT sütun1, sütun2,sütun5 FROM tablo_adi;

Örnek kullanım:

/* Üyeler tablosundaki tüm veriler getirilir */
SELECT * FROM uyeler

/*Üyeler tablosunda kullanıcı adı Hasan olanlar getirilir. */
SELECT * FROM uyeler WHERE uye_kullanici_adi = "Hasan";

/*Üyeler tablosunda kullanıcı adı Mehmet olanların Epostaları getirilir.*/
SELECT uye_eposta FROM uyeler WHERE uye_kullanici_adi = "Mehmet";

/*Üyeler tablosunda tüm kullanıcıların Epostaları getirilir.*/
SELECT uye_eposta FROM uyeler;

Genel olarak SQL sorguların bu şekilde tabi ki bu kadar basit değil SQL de daha birçok terim var ancak yazı fazla uzayacağı için onlara bu konuda değinmeyeceğim. Belki sonra ayrı başlık altında anlatırım.

PhpMyAdmin ara yüzünde ekleme, silme, güncelleme işlemleri yapılabilmektedir. Ancak bu işlemler program akışında yapılacağı için oraya hiç girmiyorum, zaten oldukça basit işlemler kurcalayarak bile bulabilirsiniz.

 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir