從本節開始正式介紹各種SQL語句。本節介紹有關數據庫級的SQL以及相關操作,查看、建立和刪除等操作。
用SHOW顯示已有的數據庫
句法:SHOW DATABASES [LIKE wild]
如果使用LIKE wild部分,wild字符串可以是一個使用SQL的“%”和“_”通配符的字符串。
功能:SHOW DATABASES列出在MySQL服務器主機上的數據庫。
你可以嘗試下面舉例,觀察輸出結果,例如:
MySQL>show databases;
+----------+
| Database |
+----------+
| first |
| MySQL |
| mytest |
| test |
| test1 |
+----------+
MySQL>show databases like ‘my%’;
+----------------+
| Database (my%) |
+----------------+
| MySQL |
| mytest |
+----------------+
用MySQLshow程序也可以得到已有數據庫列表。
用Create Dabase 創建數據庫
句法:CREATE DATABASE db_name
功能:CREATE DATABASE用給定的名字創建一個數據庫。
如果數據庫已經存在,發生一個錯誤。
在MySQL中的數據庫實現成包含對應數據庫中表的文件的目錄。因為數據庫在初始創建時沒有任何表,CREATE DATABASE語句只是在MySQL數據目錄下面創建一個目錄。
例如:
MySQL>create database myfirst;
然後利用show databases觀察效果。
用DROP DATABASE刪除數據庫
句法:DROP DATABASE [IF EXISTS] db_name
功能:DROP DATABASE刪除數據庫中的所有表和數據庫。要小心地使用這個命令!
DROP DATABASE返回從數據庫目錄被刪除的文件的數目。通常,這3倍於表的數量,因為每張表對應於一個“.MYD”文件、一個“.MYI”文件和一個“.frm”文件。
在MySQL 3.22或以後版本中,你可以使用關鍵詞IF EXISTS阻止一個錯誤的發生,如果數據庫不存在。
使用MySQLadmin工具創建和刪除
在命令行環境下可以使用MySQLadmin創建和刪除數據庫。
創建數據庫:
shell> MySQLadmin create db_name
刪除數據庫:
shell> MySQLadmin drop db_name
如果出現下面的錯誤:
MySQLadmin: connect to server at 'localhost' failed
error: 'Access denIEd for user: 'root@localhost' (Using passWord: YES)'
表示你需要一個可以正常連接的用戶,請指定-u -p選項,具體方法與3.2節介紹相同,在第七章中你將會學到用戶授權的知識。
直接在數據庫目錄中創建或刪除
用上述方法創建數據庫,只是MySQL數據目錄下面創建一個與數據庫同名目錄,同樣刪除數據庫是把這個目錄刪除。
所以,你可以直接這麼做,創建或刪除數據庫,或者給數據庫更名。這對備份和恢復備份有一定意義。
用USE選用數據庫
句法:USE db_name
USE db_name語句告訴MySQL使用db_name數據庫作為隨後的查詢的缺省數據庫。數據庫保持到會話結束,或發出另外一個USE語句:
MySQL> USE db1;
MySQL> SELECT count(*) FROM mytable; # selects from db1.mytable
MySQL> USE db2;
MySQL> SELECT count(*) FROM mytable; # selects from db2.mytable
如果你不是用USE語句,那麼上面的例子應該寫成:
MySQL> SELECT count(*) FROM db1.mytable;
MySQL> SELECT count(*) FROM db2.mytable;
由於use也是一個MySQL客戶程序的命令,所以你可以在命令行最後不加分號,客戶程序可以得到結果。
總結
本節介紹了有關數據庫操作的SQL語句、實用程序,其中包括:
SQL語句:CREATE/DROP DATABASE,SHOW DATABASES,USE
程序MySQLadmin
直接創建或刪除數據庫的目錄