文章目录

  • 3.1连接
  • 3.2连接数据库
  • USE关键字
  • 3.3了解数据库和表
  • SHOW DATABASES关键字
  • SHOW TABLES关键字
  • SHOW COLUMNS form 表名;
  • DESCRIBE语句
  • 其他的show语句


3.1连接

为了连接到MySql需要

  1. 主机名(计算机名)—如果连接到本地MySql服务器,为localhost
  2. 端口(默认3306)
  3. 用户名
  4. 用户口令(密码)

3.2连接数据库

mysql -u root -p

USE关键字

起初连接 mysql -u root -p 时没有任何数据库打开去提供使用,在执行任意数据库操作之前,需要选择一个数据库,USE

比如,为了使用aaa数据库,执行如下操作

输入:use aaa;

输出:Database changed

USE语句不返回任何结果,依赖使用的客户机显示某种形式的通知,如Database changed消息是mysql命令行实用程序选择成功后显示的

3.3了解数据库和表

一开始并不知道我有什么可以去use 去使用的数据库,则先进行如下操作

SHOW DATABASES关键字

输入SHOW DATABASES;

输出:

+--------------------+
| Database           |
+--------------------+
| aaa                |
| consumption        |
| dtcmsdb4           |
| guli               |
| information_schema |
| mall               |
| mybatis_plus       |
| mysql              |
| performance_schema |
| PhotoEdit          |
| springcloud        |
| sys                |
| test               |
+--------------------+
13 rows in set (0.00 sec)

SHOW DATABASES;返回的可用的数据库的一个列表。包含在这个列表中的可能是MySql内部使用的数据库也可能是你自己创建的数据库

SHOW TABLES关键字

为了获得数据库内的表和列表,使用SHOW TABLES;(以information_schema 为例)

输入

  1. 使用 USE
use information_schema;
  1. 使用SHOW TABLES;
show tables;

输出

+---------------------------------------+
| Tables_in_information_schema          |
+---------------------------------------+
| ADMINISTRABLE_ROLE_AUTHORIZATIONS     |
| APPLICABLE_ROLES                      |
| CHARACTER_SETS                        |
| CHECK_CONSTRAINTS                     |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLLATIONS                            |
| COLUMN_PRIVILEGES                     |
| COLUMN_STATISTICS                     |
| COLUMNS                               |
| COLUMNS_EXTENSIONS                    |
| ENABLED_ROLES                         |
| ENGINES                               |
| EVENTS                                |
| FILES                                 |
| INNODB_BUFFER_PAGE                    |
| INNODB_BUFFER_PAGE_LRU                |
+---------------------------------------+

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

SHOW COLUMNS form 表名;

  1. 使用 USE
use aaa;
  1. 使用SHOW TABLES;
show tables;

输出

+---------------+
| Tables_in_aaa |
+---------------+
| BookInfo      |
| BookType      |
| BorrowList    |
| CardType      |
| ReaderCard    |
+---------------+
5 rows in set (0.00 sec)
  1. 使用 SHOW COLUMNS form 表名;
show columns from BookInfo;

输出

mysql> show columns from BookInfo;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| bookid       | varchar(50) | NO   | PRI | NULL    |       |
| bookname     | varchar(50) | NO   |     | NULL    |       |
| author       | varchar(50) | YES  |     | NULL    |       |
| press        | varchar(50) | YES  |     | NULL    |       |
| booklocation | varchar(50) | YES  |     | NULL    |       |
| price        | float       | YES  |     | NULL    |       |
| booktypeid   | varchar(50) | YES  | MUL | NULL    |       |
| total        | int         | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

SHOW COLUMNS要求给一个表名(例子中的from BookInfo),会对每个字段返回一行,行中包括字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息

什么是自动增量

一些表列需要唯一值,例如订单编号、聘员id或者顾客id。在每个行添加到表中时,MySql会自动为每个行自动地为每个行分配下一个可用编号,不用在添加下一行的时候手动分配唯一值——自动增量

DESCRIBE语句

DESCRIBE BookInfo; = show columns from BookInfo;

MySql支持用DESCRIBE来作为 show columns from的一种快捷方式

其他的show语句

  1. show status用于显示服务器的状态信息
  2. show create databaseshow create table分别用于显示创建特定的数据库或者表的MySql语句
  3. show grants 用于显示授权用户(所有用户或者特定用户)的安全权限
  4. show errorsshow warnings用于显示服务器错误或者警告消息