假定在你的家(你的“動物園”)中有很多寵物,并且你想跟蹤關(guān)于它們各種類型的信息。你可以通過創(chuàng)建表來保存你的數(shù)據(jù)并根據(jù)所需要的信息裝載他們,然后你可以從表中檢索數(shù)據(jù)來回答關(guān)于動物不同種類的問題。本節(jié)顯示如何做到所有這些事情:
·創(chuàng)建數(shù)據(jù)庫
·創(chuàng)建數(shù)據(jù)庫表
·裝載數(shù)據(jù)到數(shù)據(jù)庫表
·以各種方法從表中檢索數(shù)據(jù)
·使用多個表
動物園數(shù)據(jù)庫很簡單(特意的),但是不難把它想象成可能用到類似數(shù)據(jù)庫的真實世界情況。例如,農(nóng)夫可以使用這樣的一個數(shù)據(jù)庫來追蹤家畜,或者獸醫(yī)可以用它跟蹤病畜記錄。從mysql網(wǎng)址上可以獲得后面章節(jié)中將用到的含有部分查詢和樣例數(shù)據(jù)的動物園分發(fā)。有tar壓縮格式?(http://www.php.cn/)和Zip壓縮格式(http://www.php.cn/)。
使用SHOW語句找出服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:
mysql>?SHOW?DATABASES;?+----------+ |?Database?| +----------+ |?mysql????| |?test?????| |?tmp??????| +----------+
可能你的機器上的數(shù)據(jù)庫列表是不同的,但是很可能有mysql和test數(shù)據(jù)庫。mysql是必需的,因為它描述用戶訪問權(quán)限,test數(shù)據(jù)庫經(jīng)常作為用戶試身手的工作區(qū)。
請注意如果沒有SHOW DATABASES權(quán)限,則不能看見所有數(shù)據(jù)庫。
如果test數(shù)據(jù)庫存在,嘗試訪問它:
mysql>?USE?test?Database?changed
注意,USE,類似QUIT,不需要一個分號。(如果你喜歡,你可以用一個分號終止這樣的語句;這無礙)USE語句在使用上也有另外一個特殊的地方:它必須在一個單行上給出。
你可以在后面的例子中使用test數(shù)據(jù)庫(如果你能訪問它),但是你在該數(shù)據(jù)庫創(chuàng)建的任何東西可以被訪問它的其它人刪除,因此,你應(yīng)該詢問MySQL管理員許可你使用自己的一個數(shù)據(jù)庫。假定你想要調(diào)用你的menagerie,管理員需要執(zhí)行這樣一條命令:
mysql>?GRANT?ALL?ON?menagerie.*?TO?'your_mysql_name'@'your_client_host';
這里your_mysql_name是分配給你的MySQL用戶名,your_client_host是所連接的服務(wù)器所在的主機。
如果管理員在設(shè)置權(quán)限時為你創(chuàng)建了數(shù)據(jù)庫,你可以開始使用它。否則,你需要自己創(chuàng)建數(shù)據(jù)庫:
mysql>?CREATE?DATABASE?menagerie;
在Unix下,數(shù)據(jù)庫名稱是區(qū)分大小寫的(不像SQL關(guān)鍵字),因此你必須總是以menagerie訪問數(shù)據(jù)庫,而不能用Menagerie、MENAGERIE或其它一些變量。對表名也是這樣的。(在Windows下,該限制不適用,盡管你必須在一個給定的查詢中使用同樣的大小寫來引用數(shù)據(jù)庫和表。但是,由于多種原因,作為最好的慣例,一定要使用與數(shù)據(jù)庫創(chuàng)建時的同樣的大小寫。)
創(chuàng)建數(shù)據(jù)庫并不表示選定并使用它,你必須明確地操作。為了使menagerie成為當(dāng)前的數(shù)據(jù)庫,使用這個命令:
mysql>?USE?menagerie?Database?changed
數(shù)據(jù)庫只需要創(chuàng)建一次,但是必須在每次啟動mysql會話時在使用前先選擇它。你可以根據(jù)上面的例子執(zhí)行一個USE語句來實現(xiàn)。還可以在調(diào)用mysql時,通過命令行選擇數(shù)據(jù)庫,只需要在提供連接參數(shù)之后指定數(shù)據(jù)庫名稱。例如:
shell>?mysql?-h?host?-u?user?-p?menagerie?Enter?password:?********
注意,剛才顯示的命令行中的menagerie不是你的 密碼。如果你想要在命令行上在-p選項后提供 密碼,則不能插入空格(例如,如-pmypassword,不是-p mypassword)。但是,不建議在命令行輸入密碼,因為這樣會暴露 密碼,能被在機器上登錄的其它用戶窺探到。
?以上就是MySQL入門教程3 —— 創(chuàng)建、選擇并使用數(shù)據(jù)庫的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(www.php.cn)!?