從本節(jié)開始正式介紹各種SQL語句。本節(jié)介紹有關數(shù)據(jù)庫級的SQL以及相關操作,查看、建立和刪除等操作。
用SHOW顯示已有的數(shù)據(jù)庫
句法:SHOW DATABASES [LIKE wild]
如果使用LIKE wild部分,wild字符串可以是一個使用SQL的“%”和“_”通配符的字符串。
功能:SHOW DATABASES列出在MySQL服務器主機上的數(shù)據(jù)庫。
你可以嘗試下面舉例,觀察輸出結(jié)果,例如:
mysql>show databases;
+----------+
| Database |
+----------+
| first |
| mysql |
| mytest |
| test |
| test1 |
+----------+
mysql>show databases like ‘my%’;
+----------------+
| Database (my%) |
+----------------+
| mysql |
| mytest |
+----------------+
用mysqlshow程序也可以得到已有數(shù)據(jù)庫列表。
用Create Dabase 創(chuàng)建數(shù)據(jù)庫
句法:CREATE DATABASE db_name
功能:CREATE DATABASE用給定的名字創(chuàng)建一個數(shù)據(jù)庫。
如果數(shù)據(jù)庫已經(jīng)存在,發(fā)生一個錯誤。
在MySQL中的數(shù)據(jù)庫實現(xiàn)成包含對應數(shù)據(jù)庫中表的文件的目錄。因為數(shù)據(jù)庫在初始創(chuàng)建時沒有任何表,CREATE DATABASE語句只是在MySQL數(shù)據(jù)目錄下面創(chuàng)建一個目錄。
例如:
mysql>create database myfirst;
然后利用show databases觀察效果。
用DROP DATABASE刪除數(shù)據(jù)庫
句法:DROP DATABASE [IF EXISTS] db_name
功能:DROP DATABASE刪除數(shù)據(jù)庫中的所有表和數(shù)據(jù)庫。要小心地使用這個命令!
DROP DATABASE返回從數(shù)據(jù)庫目錄被刪除的文件的數(shù)目。通常,這3倍于表的數(shù)量,因為每張表對應于一個“.MYD”文件、一個“.MYI”文件和一個“.frm”文件。
在MySQL 3.22或以后版本中,你可以使用關鍵詞IF EXISTS阻止一個錯誤的發(fā)生,如果數(shù)據(jù)庫不存在。
使用mysqladmin工具創(chuàng)建和刪除
在命令行環(huán)境下可以使用mysqladmin創(chuàng)建和刪除數(shù)據(jù)庫。
創(chuàng)建數(shù)據(jù)庫:
shell> mysqladmin create db_name
刪除數(shù)據(jù)庫:
shell> mysqladmin drop db_name
如果出現(xiàn)下面的錯誤:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: YES)'
表示你需要一個可以正常連接的用戶,請指定-u -p選項,具體方法與3.2節(jié)介紹相同,在第七章中你將會學到用戶授權的知識。
直接在數(shù)據(jù)庫目錄中創(chuàng)建或刪除
用上述方法創(chuàng)建數(shù)據(jù)庫,只是MySQL數(shù)據(jù)目錄下面創(chuàng)建一個與數(shù)據(jù)庫同名目錄,同樣刪除數(shù)據(jù)庫是把這個目錄刪除。
所以,你可以直接這么做,創(chuàng)建或刪除數(shù)據(jù)庫,或者給數(shù)據(jù)庫更名。這對備份和恢復備份有一定意義。
用USE選用數(shù)據(jù)庫
句法:USE db_name
USE db_name語句告訴MySQL使用db_name數(shù)據(jù)庫作為隨后的查詢的缺省數(shù)據(jù)庫。數(shù)據(jù)庫保持到會話結(jié)束,或發(fā)出另外一個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客戶程序的命令,所以你可以在命令行最后不加分號,客戶程序可以得到結(jié)果。
總結(jié)
本節(jié)介紹了有關數(shù)據(jù)庫操作的SQL語句、實用程序,其中包括:
SQL語句:CREATE/DROP DATABASE,SHOW DATABASES,USE
程序mysqladmin
直接創(chuàng)建或刪除數(shù)據(jù)庫的目錄
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com