連接
在具有可供使用的MySQL DBMS和客戶機軟件之后,有必要簡要討
論一下如何連接到數據庫。
MySQL與所有客戶機 — 服務器DBMS一樣,要求在能執行命令之前登
錄到DBMS。登錄名可以與網絡登錄名不相同(假定你使用網絡)。MySQL
在內部保存自己的用戶列表,並且把每個用戶與各種權限關聯起來。
在最初安裝MySQL時,很可能會要求你輸入一個管理登錄(通常為
root )和一個口令。如果你使用的是自己的本地服務器,並且是簡單地
試驗一下MySQL,使用上述登錄就可以了。但現實中,管理登錄受到密
切保護(因為對它的訪問授予了創建表、刪除整個數據庫、更改登錄和
口令等完全的權限)
使用MySQL Administrator MySQL Administrator Users視圖
提供了一個簡單的界面,可用來定義新用戶,包括賦予口令和
訪問權限。
為了連接到MySQL,需要以下信息:
- 主機名(計算機名)——如果連接到本地MySQL服務器,為 localhost;
- 端口(如果使用默認端口3306之外的端口)
- 一個合法的用戶名;
- 用戶口令(如果需要)。
所有這些信息都可以傳遞給 mysql 命令行實用程序,或
輸入到MySQL Administrator和MySQL Query Browser的服務器連接屏幕
使用其他客戶機 如果你使用的客戶機不是這里提到的客戶
機,則為了連接到MySQL,仍然需要提供上述信息。
在連接之后,你就可以訪問你的登錄名能夠訪問的任意數據庫和表
了。
選擇數據庫
在你最初連接到MySQL時,沒有任何數據庫打開供你使用。在你能
執行任意數據庫操作前,需要選擇一個數據庫。為此,可使用 USE 關鍵字。
關鍵字(key word) 作為MySQL語言組成部分的一個保留字。決
不要用關鍵字命名一個表或列。附錄E列出了MySQL的關鍵字。
例如,為了使用 crashcourse 數據庫
USE 語句並不返回任何結果。依賴於使用的客戶機,顯示某種
形式的通知。例如,這里顯示出的 Database changed 消息是
mysql 命令行實用程序在數據庫選擇成功后顯示的
了解數據庫和表
如果你不知道可以使用的數據庫名時怎么辦?這時,MySQL
Administrator和MySQL Query Browser怎樣能顯示可用的數據庫列表?
數據庫、表、列、用戶、權限等的信息被存儲在數據庫和表中(MySQL
使用MySQL來存儲這些信息)。不過,內部的表一般不直接訪問。可用
MySQL的 SHOW 命令來顯示這些信息(MySQL從內部表中提取這些信息)。
請看下面的例子
SHOW DATABASES; 返回可用數據庫的一個列表。包含在這個列
表中的可能是MySQL內部使用的數據庫
為了獲得一個數據庫內的表的列表,使用 SHOW TABLES;
SHOW TABLES; 返回當前選擇的數據庫內可用表的列表。
SHOW 也可以用來顯示表列
SHOW COLUMNS 要 求 給 出一 個 表 名 (這 個 例 子 中的 FROM
customers ),它對每個字段返回一行,行中包含字段名、數據
類型、是否允許 NULL 、鍵信息、默認值以及其他信息(如字段 cust_id
的 auto_increment )。
什么是自動增量? 某些表列需要唯一值。例如,訂單編號、
雇員ID或(如上面例子中所示的)顧客ID。在每個行添加到表
中時,MySQL可以自動地為每個行分配下一個可用編號,不
用在添加一行時手動分配唯一值(這樣做必須記住最后一次使
用的值)。這個功能就是所謂的自動增量。如果需要它,則必
須在用 CREATE 語句創建表時把它作為表定義的組成部分
DESCRIBE 語句 MySQL支持用 DESCRIBE 作為 SHOW COLUMNS
FROM 的一種快捷方式。換句話說, DESCRIBE customers; 是
SHOW COLUMNS FROM customers; 的一種快捷方式
所支持的其他 SHOW 語句還有:
- SHOW STATUS ,用於顯示廣泛的服務器狀態信息;
- SHOW CREATE DATABASE和SHOW CREATE TABLE ,分別用來顯示創
建特定數據庫或表的MySQL語句; - SHOW GRANTS ,用來顯示授予用戶(所有用戶或特定用戶)的安
全權限; - SHOW ERRORS 和 SHOW WARNINGS ,用來顯示服務器錯誤或警告消息
本章介紹了如何連接和登錄MySQL,如何用 USE 選擇數據庫,如何用
SHOW 查看MySQL數據庫、表和內部信息。在這些知識的幫助下,我們可
以進一步深入學習所有重要的 SELECT 語句了