使用数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_test |
| db_test_db |
| mysql |
| performance_schema |
| sys |
| test001 |
| test002 |
| test_create |
| test_create_char |
| test_db |
| test_db_d |
| test_db_ddd |
| test_time_type |
+--------------------+
14 rows in set (0.01 sec)
mysql> use test_db;
Database changed
查看当前数据库下的所有表
mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| e_diff |
| es_diff |
| s_diff |
| vc_diff |
+-------------------+
4 rows in set (0.00 sec)
查看表结构
DESC - 以表格的形式展示表结构
DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下:
DESCRIBE <表名>;
或简写成:
DESC <表名>;
实例
mysql> desc e_diff;
+-------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------------+------+-----+---------+-------+
| e | enum('a','b','c') | YES | | NULL | |
+-------+-------------------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> DESCRIBE es_diff;
+-------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------------------+------+-----+---------+-------+
| e | enum('a','b','c') | YES | | NULL | |
| s | set('a','b','c','d','e') | YES | | NULL | |
+-------+--------------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
其中,各个字段的含义如下:
- Null:表示该列是否可以存储 NULL 值。
- Key:表示该列是否已编制索引。PRI 表示该列是表主键的一部分,UNI 表示该列是 UNIQUE 索引的一部分,MUL 表示在列中某个给定值允许出现多次。
- Default:表示该列是否有默认值,如果有,值是多少。
- Extra:表示可以获取的与给定列有关的附加信息,如 AUTO_INCREMENT 等。
SHOW CREATE TABLE - 以SQL语句的形式展示表结构
SHOW CREATE TABLE 命令会以 SQL 语句的形式来展示表信息。和 DESCRIBE 相比,SHOW CREATE TABLE 展示的内容更加丰富,它可以查看表的存储引擎和字符编码;另外,你还可以通过 \g
或者 \G
参数来控制展示格式。
- \g 的作用是分号和在sql语句中写’;’是等效的
- \G 的作用是将查到的结构旋转90度变成纵向
SHOW CREATE TABLE 的语法格式如下:
SHOW CREATE TABLE <表名>;
SHOW CREATE TABLE <表名> \g
SHOW CREATE TABLE <表名> \G
在 SHOW CREATE TABLE 语句的结尾处(分号前面)添加\g
或者\G
参数可以改变展示形式
实例
mysql> show create table vc_diff;
+---------+------------------------------------------------------------+
| Table | Create Table |
+---------+------------------------------------------------------------+
| vc_diff | CREATE TABLE `vc_diff` (
`v` varchar(4) DEFAULT NULL,
`c` char(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |
+---------+--------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show create table vc_diff \g
+---------+------------------------------------------------------------+
| Table | Create Table |
+---------+------------------------------------------------------------+
| vc_diff | CREATE TABLE `vc_diff` (
`v` varchar(4) DEFAULT NULL,
`c` char(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |
+---------+--------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show create table vc_diff \G
*************************** 1. row ***************************
Table: vc_diff
Create Table: CREATE TABLE `vc_diff` (
`v` varchar(4) DEFAULT NULL,
`c` char(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)