MySQL’e Giriş

PHP, MySQL dışında birçok veritabanı yazılımı (PostgreSQL, MsSQL, Oracle, dBase...) ile birlikte sorunsuz çalışabilmesine rağmen en yüksek performans PHP+MySQL+Apache üçlüsünden elde edilmiştir (Bu belgeyi hazırladığım sırada Slackware Linux’un son sürümü olan 8.0 sürümünde PHP ile MySQL desteği gelmektedir, 7.1 sürümünde MySQL yerine PostgreSQL bulunmaktaydı!). Zaten Internet üzerinde bulabileceğiniz hazır PHP betikleri ya da yardım belgelerinin çoğu PHP’yi MySQL ile birlikte ele almaktadır. Benim bilgimde sadece MySQL dahilinde olduğu için, ben de bu belgede PHP+MySQL ikilisini anlatacağım.

Veritabanı Nedir?

Bir veritabanı adından da anlaşılacağı gibi bilgilerin depolandığı hiyerarşik bir yapıdır. Biz web üzerinde kullanıcı adı, şifresi, e-posta adresi gibi bilgileri bu veritabanlarında saklarız. Aynı bilgileri bir dosyaya yazıp gerektiğinde dosyayı açıp bilgileri okutmak da bir çözüm gibi görünse de bu işlem hem daha karmaşık ve zahmetli hem de daha yavaştır. Aslında az çok İngilizce bilen birisi için MySQL kullanmak pek zor olmayacaktır. Ben denemelerimi Linux altında yaptığım için bu belgede de anlatım o doğrultuda olacaktır. Fakat veritabanına bağlandıktan sonra SQL komutları (evet MySQL değil SQL. MySQL ile kullanılan komutlar birçok veritabanı sorgulama dilindekilerle aynıdır) arasında bir fark yoktur. Sadece Linux işletim sistemi altında büyük-küçük harf ayrımı vardır. Denemelerinizi yaptığınız sunucu üzerinde kullanıcı adınızın kullanici ve parolanızın parola olduğunu varsayarak bölüme başlıyorum. Veritanına bir Linux terminalinden bağlanmak için
scription">PHP- Kodu:
mysql –h localhost –u kullanici –p 
komut satırını kullanmanız gerekli. En sondaki -p parametresi bizim kullanıcımız için bir parola tanımlı olduğunu ve yukarıdaki komutu verdikten sonra bu parolayı girmemiz gerektiğini anlatır.
Eğer bir sorun ile karşılaşmadan veritabanına bağlanabildiyseniz karşınıza aşağıdaki gibi bir ekran gelecektir.


description">PHP- Kodu:
mysql
Bu ekran bizim SQL’e doğru bir şekilde bağlandığımızı gösterir. Bir veritabanı hiyerarşisi içinde barındırdığı veritabanlarından ve bu veritabalarının içlerindeki tablolardan oluşur. Linux altındaki MySQL kurulumlarında “test” ve “mysql” isimli veritabanları hazır olarak gelir. Bir veritabanı hiyerarşisinde her kullanıcının kendine ait bir veritabanı vardır ve işlemlerini bu veritabanı altında gerçekleştirir. Yani kendi veritabanı altında tablo oluşturabilir, silebilir, tabloya bilgi ekleyip bilgi çıkarabilir. Bunun dışında her kurulum ile gelen “test” veritabanı tüm kullanıcıların kullanımına açıktır, “mysql” veritabanında ise kullanıcılara ait bilgiler tutulur ve bu veritabanını sadece veritabanı yöneticisi kullanabilir. Benim işlemlerimi yapacağım hayali veritabınımın ismi “base” olacak.



PHP- Kodu:
mysql -h localhost -u kullanici -pEnter Password:mysqlshow   databases;+----------+| Database |+----------+| mysql    || test       |+----------+2 rows in set (0.00 sec)mysql
Yukarıda sistemimizde mevcut veritabanlarını listesini show databases; komutu ile alıyoruz. MySQL’de her komuttan sonra mutlaka ; karakteri kullanılmalıdır. Aşağıda yeni bir veritabanı oluşturuyor ve onu kullanmaya başlıyorum.


PHP- Kodu:
mysqlcreate database base;mysqlshow   databases;+----------+| Database |+----------+| mysql    || test     ||   base     |+----------+3 rows in set (0.00 sec)mysqluse   base;Database changedmysql
Yukarıda base adlı bir veritabanı oluşturdum (create database base ve use base; komutu ile işlem yapacağım veritabanını belirledim. Burada dikkat edilmesi gereken husus bizim istediğimiz zaman bir veritabanı oluşturamayacağımızdır. Veritabanı hiyeraşisine kaydımız yapılırken bize kullanım hakkı verilen veritabanını oluşturabilir ve kullanabiliriz. Yani ben kullanici kullanıcısıyla herhangi adlı bir veritabanı oluşturamam.

Alıntı: www.sosyalistforum.net/php-amp-html-questions/48517-mysql8217e-giris.html