
Mysql ile ilk başta database oluşturmamız gerekiyor. İşte database
oluşturabilmek için. Create database, show database, use database ve
drop database komutlarını tek tek inceleyeceğiz.
Hepsinden önce komut satırını açarak mysql diyerek mysql client imla mysql serverima bağlanıyorum.
İlk başta show databases diyerek mevcut veritabanlarımı görebilirim.
mysql> show databases;
+-------------+
| Database |
+-------------+
| mysql |
| oturum |
| personel |
| pktwebcore3 |
| telefon |
| test |
+-------------+
6 rows in set (0.00 sec)
Şuan
görüldügü gibi mysql oturum personel gibi bir kaç veritabanımız
oluşturulmuş durumda. Mysql veritabanı bunların ana veritabanı olan.
yani bizim direk müdahale etmememiz gereken bir veritabanıdır. Bunun
haricindeki veritabanları bizim oluşturduğumuz ve kullanabildiğimiz
veritabanları içinde yer aliyor.
İşte burda herhangi bir
veritabanı oluşturabilmek için create database dedikten sonra
veritabanı adını yazıyorum. Mesela deneme adında bir veritabanı
oluşturmak istiyorsam. Create database deneme; şeklinde komutu yazmam
gerekiyor.
mysql> create database deneme;
Query OK, 1 row affected (0.09 sec)
Evet query miz sorunsuz çalıştı. show databases dediğimizde oluşturduğumz veritabanında artık burda yer aldığını görüyorum.
mysql> show databases;
+-------------+
| Database |
+-------------+
| deneme |
| mysql |
| oturum |
| personel |
| pktwebcore3 |
| telefon |
| test |
+-------------+
7 rows in set (0.00 sec)
Biz
bu veritabanının var olup olmadığını kontrol etmeden tekrar oluşturmaya
çalışsaydık Veritabanı zaten mevcut bundan dolayı oluşturamıyorum hata
mesajını alabilirdik.
mysql> create database deneme;
ERROR 1007 (HY000): Can't create database 'deneme'; database exists
Create database fonksiyonumuza ekstradan opsiyonel bir parametre ekleyerek komutumuzun hata vermesini engelleyebiliriz.
mysql> create database if not exists deneme;
Query OK, 0 rows affected, 1 warning (0.00 sec)
If
not exists eğerki verdigimiz veritabanı mevcut degilse oluşturma
işlemini gerçekleştircektir. Bundan dolayı bu komutu çalıştırdığımızda
1 uyarı oluştu. Yalnız bu uyarı olduğu için yazdığımız komutları kesmez
sadece bize uyarı vermiş olur.
İşte burda veritabanı mevcutsa
oluşturmamasını veya veritabanı oluşturmak istediğimizde var olup
olmadığının kontrolünü gerçekleştirebiliriz.
Bunun haricinde
bu veritabanını kullanmak istiyorsam. Use boşluk veritabanı adı
şeklinde yazarak Aktif veritabanımı değiştirebilirim.
mysql> use deneme;
Database changed
mysql
e ilk bağlandığımızda herhangi aktif bir veritabanı yoktur. Doğal
olarak verdiğimiz sqlleri çalıştırırken veritabanınıda belirtmemiz
gerekir. İşte belirli bir veritabanında çalışabilmek için use boşluk
veritabanı söylerek bu veritabanını aktif hale getirebiliriz. Eğer ki
bu veritabanını içindeki tüm tablolarla ve tüm yapılarla iptal etmemiz
gerekiyorsa bu seferde drop database komutunu kullanırız.
Kullanım formatı drop database den sonra veritabanı adını yazarız.
mysql> drop database deneme;
Query OK, 0 rows affected (0.00 sec)
Enter a bastığımızda veritabanı tamamen yok oldu. Yine show databases diyerek
mysql> show databases;
+-------------+
| Database |
+-------------+
| mysql |
| oturum |
| personel |
| pktwebcore3 |
| telefon |
| test |
+-------------+
6 rows in set (0.00 sec)
Veritabanını
sistemden kaldırıldığını görüyoruz. Yalnız dikkat etmeliyiz ki bu işlem
tehlikeli olabilir çünkü dosyayı tamamen imha ettiği için geri dönüşü
yoktur.
Bu arada dikkat ederseniz komutu yazmadan önceki komuta gidebiliyorum. Bunun için yön tuşlarını kullanıyorum.
Veritabanının aslında varolmadığını ve drop bunu kaldırma işlemi yapmaya çalıştığımızı düşünelim.
mysql> drop database deneme;
ERROR 1008 (HY000): Can't drop database 'deneme'; database doesn't exist
Bu
komutu çalıştırdığımızda veritabanı mevcut olmadığı için bize direk
hata verecektir. İşte bu kontrolün yapılarak komutun çalıştırılmasını
istersek create de oluşturduğumuz gibi bu sefer if exists opsiyonel
parametresinide komutumuza ekleriz.
mysql> drop database if exists deneme;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Veritabanı olmaması durumunda herhangi bir hata üretilmeyecek yalnız uyarı ile bize belirtilecektir.
İşte
konuyu toparlayacak olursak create database komutunu if not exist
opsiyonel olmak üzere yazmak suretiyle veritabanı oluşturabiliriz.
mysql> create database if not exists deneme;
Query OK, 1 row affected (0.09 sec)
Daha sonra show databases ile mevcut veritabanlarını görebiliriz.
mysql> show databases;
+-------------+
| Database |
+-------------+
| deneme |
| mysql |
| oturum |
| personel |
| pktwebcore3 |
| telefon |
| test |
+-------------+
7 rows in set (0.00 sec)
sonra use ile mevcut çalışma veritabanımızı değiştirebiliriz.
mysql> use deneme;
Database changed
ve drop database if exist opsiyonel olmak üzere bu veritabanını düşürebiliriz.
mysql> drop database if exists deneme;
Query OK, 0 rows affected (0.00 sec)
Mysql ile veritabanı üzerinde yapabilecegimiz temel kullanma, oluşturma ve silme işlemleri bundan ibaret