假定在你的家(你的「動物園」)中有很多寵物,並且你想追蹤關於它們各種類型的信息。你可以透過建立表格來保存你的資料並根據所需的資訊裝載他們,然後你可以從表格中檢索資料來回答關於動物不同種類的問題。本節顯示如何做到所有這些事情:
·建立資料庫
·建立資料庫表
·裝載資料到資料庫表
·以各種方法從表中擷取資料
·使用多個表
動物園資料庫很簡單(特意的),但是不難把它想像成可能用到類似資料庫的真實世界情況。例如,農夫可以使用這樣的一個資料庫來追蹤家畜,或者獸醫可以用它來追蹤病畜記錄。從MySQL網址上可以獲得後面章節中將用到的含有部分查詢和樣本資料的動物園分發。有tar壓縮格式 (http://downloads.mysql.com/docs/menagerie-db.tar.gz)和Zip壓縮格式(http://downloads.mysql.com/docs/menagerie-db.zip)。
使用SHOW語句找出伺服器上目前存在什麼資料庫:
mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | | tmp | +----------+
可能你的機器上的資料庫清單是不同的,但是很可能有mysql和test資料庫。 mysql是必要的,因為它描述使用者存取權限,test資料庫經常作為使用者試身手的工作區。
請注意如果沒有SHOW DATABASES權限,則不能看見所有資料庫。
如果test資料庫存在,嘗試存取它:
mysql> USE test Database changed
注意,USE,類似QUIT,不需要一個分號。 (如果你喜歡,你可以用一個分號終止這樣的語句;這無礙)USE語句在使用上也有另一個特殊的地方:它必須在一個單行上給出。
你可以在後面的例子中使用test數據庫(如果你能訪問它),但是你在該數據庫創建的任何東西可以被訪問它的其它人刪除,因此,你應該詢問MySQL管理員許可你使用自己的一個資料庫。假定你想要呼叫你的menagerie,管理者需要執行這樣一條指令:
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
這裡your_mysql_name是分配給你的MySQL使用者名,your_client_host是所連接的伺服器所在的主機。
如果管理員在設定權限時為你建立了資料庫,你可以開始使用它。否則,你需要自己建立資料庫:
mysql> CREATE DATABASE menagerie;
在Unix下,資料庫名稱是區分大小寫的(不像SQL關鍵字),因此你必須總是以menagerie存取資料庫,而不能用Menagerie、MENAGERIE或其它一些變數。對錶名也是這樣的。 (在Windows下,該限制不適用,儘管你必須在一個給定的查詢中使用相同的大小寫來引用資料庫和表。但是,由於多種原因,作為最好的慣例,請務必使用與資料庫建立時的同樣的大小寫。為了使menagerie成為目前的資料庫,請使用這個指令:
mysql> USE menagerie Database changed
資料庫只需要建立一次,但是必須在每次啟動mysql會話時在使用前先選擇它。你可以根據上面的範例執行一個USE語句來實現。也可以在呼叫mysql時,透過命令列選擇資料庫,只需要在提供連線參數之後指定資料庫名稱。例如:
shell> mysql -h host -u user -p menagerie Enter password: ********
注意,剛才顯示的命令列中的menagerie不是你的 密碼。如果你想要在命令列上在-p選項後提供 密碼,則不能插入空格(例如,如-pmypassword,不是-p mypassword)。但是,不建議在命令列輸入密碼,因為這樣會暴露 密碼,能被在機器上登入的其它用戶窺探到。