MySQL必知必会——第三章使用MySQL

使用MySQL

本章将学习如何连接和登录到MySQL,如何执行MySQL语句,以及如何获得数据库和表的信息。

连接

MySQL与所有客户机-服务器DBMS一样,要求在能执行命令之前登录到DBMS。MySQL在内部保存自己的用户列表,并且把每个用户与各种权限关联起来。

连接到MySQL,需要以下信息:

  • 主机名(计算机名)——如果连接到本地MySQL服务器,为localhost。
  • 端口(如果使用默认端口3306以外的端口)。
  • 一个合法的用户名。
  • 用户口令(如果需要)

选择数据库

连接MySQL后,需要选择一个数据库来执行数据库操作。我们可以使用USE关键字。

关键字:作为MySQL语言组成部分的一个保留字。绝不要用关键字命名一个表或列。

例如,我们使用名为crashcourse的数据库:

mysql> USE crashcourse;
Database changed

USE语句不返回任何结果,只显示某种形式的通知。例如,显示Database changed消息表示数据库选择成功。

必须先使用USE打开数据库,才能读取其中的数据!


了解数据库和表

数据库、表、列、用户、权限等信息被存储在数据库和表中(MySQL存在名为MySQL的数据库来存储这些信息)。但内部的表一般不直接访问,可以用MySQL的SHOW命令来显示这些信息。

显示MySQL中存储的数据库,可使用SHOW DATABASES;。

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| course             |
| crashcourse        |
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
8 rows in set (0.01 sec)

SHOW DATABASES; 返回可用数据库的一个列表。

使用USE选择完数据库后,我们可用SHOW TABLES;来显示数据库中存储的表。

mysql> SHOW TABLES;
+-----------------------+
| Tables_in_crashcourse |
+-----------------------+
| customers             |
| orderitems            |
| orders                |
| productnotes          |
| products              |
| vendors               |
+-----------------------+
6 rows in set (0.01 sec)

SHOW TABLES; 返回当前选择的数据库内可用表的列表。

我们也可以用SHOW COLUMNS FROM ‘表名’;来显示对应表中的列信息。

mysql> SHOW COLUMNS FROM customers;
+--------------+-----------+------+-----+---------+----------------+
| Field        | Type      | Null | Key | Default | Extra          |
+--------------+-----------+------+-----+---------+----------------+
| cust_id      | int       | NO   | PRI | NULL    | auto_increment |
| cust_name    | char(50)  | NO   |     | NULL    |                |
| cust_address | char(50)  | YES  |     | NULL    |                |
| cust_city    | char(50)  | YES  |     | NULL    |                |
| cust_state   | char(5)   | YES  |     | NULL    |                |
| cust_zip     | char(10)  | YES  |     | NULL    |                |
| cust_country | char(50)  | YES  |     | NULL    |                |
| cust_contact | char(50)  | YES  |     | NULL    |                |
| cust_email   | char(255) | YES  |     | NULL    |                |
+--------------+-----------+------+-----+---------+----------------+
9 rows in set (0.01 sec)
  • SHOW COLUMNS要求给出一个表名,它对每个字段返回一行,行中信息包括字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息。
  • 自动增量(auto_increment) 某些表需要唯一值,例如订单编号等。在每个行添加到表中时,MySQL可用自动地为每个行分配下一个可用编号,不用手动分配唯一值。这就是自动增量,使用自动增量需要在创建表时,把它作为表定义的组成部分。
  • DESCRIBE语句 MySQL支持用DESCRIBE替换SHOW COLUMNS FROM。例如SHOW COLUMNS FROM customers;可换成DESCRIBE customers;

其他SHOW语句:

  • SHOW STATUS 显示广泛的服务器状态信息。
  • SHOW GRANTS 显示授予用户的安全权限。
  • SHOW ERRORS和SHOW WARNINGS 显示服务器错误和警告消息。

更多的SHOW语句可以通过HELP SHOW来获取。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>