【MySQL】#2 - 不能通过show命令看到定义表格的样子
【结论】:
- 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 数据库);
查询结果如下: