查询sql数据库结构信息的命令

哈,你刚说的这些数据库查询命令还真是五花八门啊。
我之前在使用SQLServer的时候,就是用那个sp_help来查表的基本信息,挺方便的。
不过,我自己踩过的坑是,有时候忘记写表名或者拼写错了,结果系统就给我返回一堆乱七八糟的信息,让人头都大了。

上周有个客人问我,怎么在MySQL里查看一个表的详细结构,我那时候就告诉他用DESCRIBE或者SHOW COLUMNS FROM命令。
这俩命令简单又实用,就是有时候得记得表名得是正确的。

至于Oracle,我印象中是用USER_TABLES和USER_TAB_COLUMNS这些视图来查询表和列的信息。
不过,我自己不太确定这些视图是不是只能查询当前用户拥有的表,如果是的话,那得注意一下权限问题。

PostgreSQL的话,我一般用psql命令行工具里的d命令来查看表结构,挺快手的。
不过,information_schema视图那也是挺强大的,可以查到很多细节。

你说的那个查询,看起来是挺复杂的,涉及到多个系统视图和连接。
我猜这是为了获取尽可能多的信息,比如列名、数据类型、标识列、主键、空值、默认值、描述和外键关系等。
不过,这种复杂的查询有时候也会让人眼花缭乱,得仔细核对每个字段。

反正你看着办,根据你自己的需求来选择合适的命令和视图。
如果遇到具体的问题,随时可以问我,我还在想这个问题呢。

查看表结构的sql语句是什么

Oracle: desc表名; selectfromuser_tab_columnswheretable_name='大写表名';
MySQL: desc表名; showcreatetable表名;
注意: Oracle表名大写。
MySQL表名看系统。

查看表结构的sql语句

DESC 表名是查看表结构的快捷方式。
直接用 DESC t_teacher 就行。

DESCRIBE 也是一样,就是完整写法。
结果没啥区别。

比如我上周处理 t_teacher 表,就是直接敲 DESC t_teacher,回车就有结果。

字段名、数据类型、NULL、键类型、默认值,这些信息全出来了。

想看完整建表语句?用 SHOW CREATE TABLE t_teacher。

这个会显示索引、引擎之类的细节。
上周我用这个确认过 t_teacher 的 InnoDB 引擎设置。

权限不够看不了表结构。
这是硬性要求。

表名大小写看系统设置。
Linux 默认区分,Windows 不区分。

不确定表名?先用 SHOW TABLES LIKE 'pattern' 确认一下。

最简单就是 DESC 表名。
复杂需求用 SHOW CREATE TABLE。

Navicat、phpMyAdmin 都能跑这些命令。
你自己试试看。