【结论】:
- show命令只能显示数据库、表格的名称概览,无法显示表格的具体模样;
- 想要看定义好的表格细节,请用select命令;
- 想要看定义好的表格结构,请用desc命令;
(一)问题描述:
在定义好表之后,想要看整张表的样子,写了如下语句:
create table department(
dep_name char(20) NOT NULL,
dep_id int PRIMARY KEY AUTO_INCREMENT,
dep_sex char(2),
dep_status char(6) DEFAULT '在职',
dep_incard int UNIQUE);
show table depaetment; #该句报错
报错描述如下:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'department' at line 1 0.000 sec
【Error Code: 1064】主要原因是语法出错,故检查语法。
(二)问题排查:
查阅show的常见命令与用法,整理如下:
show databases;
#显示所有数据库名称;
show tables;
#显示某一数据库中所有表的名称(注:在调用该语句前,须提前指定好数据库:use 数据库名);
show processlist;
#显示当前正在执行的线程;
由此推测,show的功能不在于展示定义表的细节,而在于对数据库、表格、工作状态信息进行概览。且并无show table 表格名 的SQL语句;
(三)问题的解决:
我还是希望能够看见自己定义的表的样子,查阅后发现select语句可以做到:
select 字段名 from 表格名;
# 查看指定表格的某一字段,当字段名处填*时,可以查看该表格的所有字段;
select 字段名 from 表格名 where 限制条件;
# 查看指定表格的某一字段中,满足限制条件的记录;
使用select语句后查询结果如下:
由于我只是定义了表,而没有往里面写数据,因此当前表内的各个字段记录为空。
除此以外,如果想要看到自己定义的表的结构(即表内有什么字段?字段的数据类型?字段的约束条件是什么?),可以通过desc语句实现:
desc 表格名;
# 查询指定的表格结构。(注:查询前也需要先指定好对应的数据库:use 数据库);
查询结果如下: