Php Veritabanı (PhpMyAdmin) ve SQL Komutları - Mustafa Azak
Web tarayıcımızın adres çubuğuna http://localhost/phpmyadmin/ yazarak phpmyadmin giriş sayfasını açıyoruz.
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 Giriş Sayfası Listesi
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.
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.
SQL menüsü SQL kodları yazabileceğimiz bir sayfadır. Burada SQL kodları ile çalışabiliriz.
Durum menüsü pek önemli değil. MySql sunucu hakkında bazı istatistikler sağlayan bir sayfa.
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.
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.
İçe Aktar menüsü ise yedek aldığımız veritabanını tekrar geri yüklemek için kullanılan sayfadır.
Ayarlar menüsü PhpMyAdmin ile ilgili ayarlar yapmamızı sağlayan, kendi içerisinde alt menüleri bulunan ayarlar sayfasıdır.
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ü.
Değişkenler menüsü PhpMyAdmin değişkenlerinin listelendiği ve düzenlenip, değiştirilebildiği bir sayfa.
Karakter Grupları PhpMyAdmin ile birlikte gelen karakter gruplarının listelendiği bir sayfa.
Motorlar bu menüde PhpMyAdmin ile birlikte gelen depolama motorlarının listesi var.
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.
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.
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.
Yukarıda 4 sütunlu bir üyeler tablosu oluşturdum. Burada kısaca şunlardan bahsedeyim.
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.
Veritabanındaki tablolar aşağıdaki gibi listelenir.
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.
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.
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.
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.
Ö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.
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.
Veritabanı oluşturmak için kullanılan sql komutudur.
CREATE DATABASE ornek_vt;
Veritabanı içinde tablo oluşturmak için kullanılan sql komutudur.
`uye_kullanici_adi` varchar(15) NOT NULL,
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.
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.
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.
Sorgu kullanımını örnek üzerinden inceleyelim.
/*Aşağıdaki sorgu ile üyeler tablosundaki tüm veriler silinebilir */
/*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.
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;
/* Üyeler tablosundaki tüm veriler getirilir */
/*Ü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.
Yazar Mustafa AzakYayın tarihi 17 Mart 2019 16 Mart 2019 Kategoriler PhpEtiketler php
Önceki Önceki yazı: Php Zaman Fonksiyonları (Tarih ve Saat)
Sonraki Sonraki yazı: Php PDO Kullanımı (PHP Data Objects)