Mysql Kullanımı - MySql Webmaster bilgi bankası, knowledge base Webmaster Araçları

AnaSayfa > MySql > Mysql Kullanımı
Kategori: MySql
Gönderen: Admin
Tarih: 2008-10-19
Puan: 6   Puan:6 | Katılımcı:5 | Katılımcı : 5
Okunma: 4412
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

mySQL Programının Kullanımı

Unix kullanıcısı root için aşağıdaki satırlar aynı anlama gelmektedir.

cclub:~# mysql -h localhost -u root
cclub:~# mysql -h localhost
cclub:~# mysql -u root
cclub:~# mysql

Aşağıda mySQL'in kullanımı ile ilgili örnekler bulunmaktadır.

cclub:~# mysql -u root -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 68 to server version: 3.22.24

Type 'help' for help.

mysql> create databse deneme;
Query OK, 0 rows affected (0.00 sec)
mysql>

create database deneme; komutu ile yeni bir database oluşturduk. Artık
denemelerimizi bu database'te yapabiliriz.

cclub:~# mysql -u root -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 68 to server version: 3.22.24

Type 'help' for help.

mysql> create table deneme_1
-> (
-> numara integer,
-> );
Query OK, 0 rows affected (0.03 sec)

mysql>

mySQL programının tamamında SQL komutları kullanilabilmektedir. Yukarıdaki
örnekte yeni bir tablo açmak için create table cümleciğini kullandık.

cclub:~# mysql -u root -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 68 to server version: 3.22.24

Type 'help' for help.

mysql> use deneme;
Database changed
mysql> insert into deneme_1 (numara) values 1000;
Query OK, 0 rows affected (0.01 sec)
mysql> insert into deneme_1 (numara) values 2;
Query OK, 0 rows affected (0.02 sec)
mysql> insert into deneme_1 (numara) values 2;
Query OK, 0 rows affected (0.02 sec)
mysql> insert into deneme_1 (numara) values 2;
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql>
mysql>
mysql>
mysql> select * from deneme.deneme_1;
+--------+
| numara |
+--------+
| 1000 |
| 2 |
| 2 |
| 2 |
+--------+
4 rows in set (0.01 sec)
mysql>
mysql>
mysql>
mysql>
mysql> insert into deneme.deneme_1 (numara) values (5);
Query OK, 1 row affected (0.00 sec)
mysql> select * from deneme.deneme_1;
+--------+
| numara |
+--------+
| 1000 |
| 2 |
| 2 |
| 2 |
| 5 |
+--------+
5 rows in set (0.00 sec)
mysql>

Burada yaptığımız işlem daha önce açtığımız deneme adlı database'teki deneme_1
adlı tabloya çeşitli insert ve select cümlelerini uygulamaktı.

mysql> delete from deneme_1 where numara=2;
Query OK, 3 rows affected (0.09 sec)

mysql> select * from deneme_1 ;
+--------+
| numara |
+--------+
| 1000 |
| 5 |
+--------+
2 rows in set (0.01 sec)

mysql>

Tablomuzda 5 kayıt vardı. Bunlardan 2 olanlarını sildik. Bu kayıtlar silindiği
için tabloda şu an 2 kayıt bulunmaktadır.

mysql> select * from user;
ERROR 1146: Table 'deneme.user' doesn't exist

Burada bu hatayı vermesi doğaldır. Çünkü deneme database'inde user adlı bir tablo
yoktur. User adlı tablo mysql database'inde bulunmaktadır. mySQL'in özellikleri
arasında; o an üzerinde çalışmadığımız bir database'te de herhangi bir işlemi
yapabilmesidir. Bu durumda , tablo adı belirtirken [database_adi].[tablo_adi] şeklinde
belirtmeliyiz. Aşağıdaki örnek için bu yöntemin kullanılabileceği gibi "use mysql;"
cümleciği ile mysql database i seçilip istenilen işlem yapılıp tekrar "use deneme"
ile eski çalıştığımız database e geçme yöntemini de kullabilirdik.

mysql> select * from mysql.user where user='root';
+-----------+------+------------------+-------------+-------------+-------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv |
+-----------+------+------------------+-------------+-------------+-------------+
| localhost | root | 7a2f0e5f21e11de1 | Y | Y | Y |
+-----------+------+------------------+-------------+-------------+-------------+
+-------------+-------------+-----------+-------------+---------------+--------------+
| Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv |
+-------------+-------------+-----------+-------------+---------------+--------------+
| Y | Y | Y | Y | Y | Y |
+-------------+-------------+-----------+-------------+---------------+--------------+
+-----------+------------+-----------------+------------+------------+
| File_priv | Grant_priv | References_priv | Index_priv | Alter_priv |
+-----------+------------+-----------------+------------+------------+
| Y | Y | Y | Y | Y |
+-----------+------------+-----------------+------------+------------+

Not: Normalde bu satırlar yan yanadır. Ama ekrana sığmadığı için 3 parçaya
bölerek yerleştirdim.

Aşağıda LIKE ile ilgili cümlecikler bulunmaktadır.

mysql> select user from mysql.user where user like "o";
Empty set (0.00 sec)

mysql> select user from mysql.user where user like "o&";
Empty set (0.00 sec)

mysql> select user from mysql.user where user like "o%";
Empty set (0.02 sec)

mysql> select user from mysql.user where user like "%o%";
+------+
| user |
+------+
| root |
+------+
1 row in set (0.01 sec)

mysql> select user from mysql.user where user like "%r";
Empty set (0.00 sec)

mysql> select user from mysql.user where user like "%r%";
+------+
| user |
+------+
| root |
+------+
1 row in set (0.01 sec)

mysql>

Ayrıca mySQL programının -e parametresi vardır. Bu parametrenin yanında yazdığınız
mySQL
cümleciği direk çalıştırılıp, sonucu görüntülenir.

Aşağıda mySQL server in Türkçe karakter desteğini test etmek için yaptığım bir tabloda
Türkçe de bulunan özel karakterleri yani "işüğçö" ve bunların büyüklerini görüyoruz.

cclub:~# mysql -p -e "select * from deneme.deneme_2"
Enter password:
+--------+--------------+
| numara | adi |
+--------+--------------+
| 1 | işüğçö |
| 2 | ğĞüÜşŞiİçÇöÖ |
+--------+--------------+

Ayrica bunu mysql deki komutlarla da destegini ölçebiliriz.

mysql> select UPPER('igügöç');
+-----------------+
| UPPER('iğüşöç') |
+-----------------+
| İŞÜĞÖÇ |
+-----------------+
1 row in set (0.01 sec)

mySQL'deki UPPER fonksiyonu parantez içinde verilen string i büyük harfe çevirir.

mysql> select LOWER('İŞÜĞÖÇ');
+-----------------+
| LOWER('İŞÜĞÖÇ') |
+-----------------+
| işüğöç |
+-----------------+
1 row in set (0.01 sec)
mysql>

mySQL'deki LOWER fonksiyonu parantez içinde verilen string i küçük harfe çevirir.

Bunlardan başka mySQL'de, EXP(X), yani e^X, LOG(X),LOG10(X) gibi matematiksel
fonksiyonlar da bulunmaktadır.

mysql> select EXP(1);
+----------+
| EXP(1) |
+----------+
| 2.718282 |
+----------+
1 row in set (0.00 sec)

mysql> select EXP(2);
+----------+
| EXP(2) |
+----------+
| 7.389056 |
+----------+
1 row in set (0.00 sec)

mysql> select LOG(10);
+----------+
| LOG(10) |
+----------+
| 2.302585 |
+----------+
1 row in set (0.01 sec)

mysql> select LOG(7.389056);
+---------------+
| LOG(7.389056) |
+---------------+
| 2.000000 |
+---------------+
1 row in set (0.00 sec)

mysql> select MOD(29,9);
+-----------+
| MOD(29,9) |
+-----------+
| 2 |
+-----------+
1 row in set (0.31 sec)



Yorumlar
Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin!
Yorum Ekleme Aparatı
Yorum Eklemek için lütfen sol menuden giris yapınız..
Toplam 0 yorum listelendi.