连接
在具有可供使用的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 语句了