SQL查看数据表的3种方法(附带实例)
创建完数据表后我们紧接着就要去查看这张表,查看的语句有两种:
查看在数据库中有多少表,需要先使用 use 命令指定要查看的数据库,然后再使用 show tables 命令进行查看。
查看指定表的表结构有两个语句,分别是:
1) 以表格的形式展示表结构:
2) 以 SQL 语句的形式展示表结构:
先看以表格的形式展示表结构,这种方式会以表格的形式展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等。
接着我们再使用 show creat table 命令,以 SQL 语句的形式展示表结构。通过这种方式可以看到更多的信息,例如存储引擎、字符编码等内容,可以在分号前面添加“\g”或者“\G”参数改变内容的展示方式。
- 查看在这个数据库中有多少表;
- 查看指定表的表结构。
查看在数据库中有多少表,需要先使用 use 命令指定要查看的数据库,然后再使用 show tables 命令进行查看。
MariaDB [test01]> show databases; +---------------+ | Database | +---------------+ | information_schema | | mysql | | performance_schema| | sys | | test01 | +---------------+ 5 rows in set (0.001 sec) MariaDB [test01]> use test01; Database changed MariaDB [test01]> show tables; +---------------+ | Tables_in_test01 | +---------------+ | stu_score | +---------------+ 1 row in set (0.000 sec) MariaDB [test01]>
查看指定表的表结构有两个语句,分别是:
1) 以表格的形式展示表结构:
DESCRIBE 表名;简写为:
DESC 表名;
2) 以 SQL 语句的形式展示表结构:
SHOW CREATE TABLE 表名;
先看以表格的形式展示表结构,这种方式会以表格的形式展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等。
MariaDB [test01]> desc stu_score; +-------------------+-----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+-----------------+ | stu_id | int(11) | NO | | NULL | | | name | varchar(20) | NO | PRI | NULL | | | english | char(3) | NO | | NULL | | | mathematics| char(3) | YES | | NULL | | | geography | char(3) | NO | | NULL | | +-------------------+-----------------+ 5 rows in set (0.002 sec)在这张表格中,各个字段的含义如下:
- Field:字段名称/列名。
- Type:数据类型。
- Null:该列是否允许存储空值。
- Key:该列是否配置了索引,例如,主键(PRI)、唯一索引(UNI)、普通的 btree 索引(MUL)等。
- Default:列的默认值,有的话显示其值,没有的话为NULL。
- Extra:列的其他相关信息,例如 AUTO_INCREMENT(自增长)等。
接着我们再使用 show creat table 命令,以 SQL 语句的形式展示表结构。通过这种方式可以看到更多的信息,例如存储引擎、字符编码等内容,可以在分号前面添加“\g”或者“\G”参数改变内容的展示方式。
MariaDB [test01]> show create table stu_score \G; *************************** 1. row *************************** Table: stu_score Create Table: CREATE TABLE `stu_score` ( `stu_id` int(11) NOT NULL, `name` varchar(20) NOT NULL, `english` char(3) NOT NULL, `mathematics` char(3) DEFAULT NULL, `geography` char(3) NOT NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 1 row in set (0.000 sec) MariaDB [test01]>