SELECT * FROM information_schema.columns WHERE table_schema = 'db_name';
SELECT * FROM information_schema.columns WHERE table_schema = 'db_name' ORDER BY TABLE_NAME, ORDINAL_POSITION;
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, COLUMN_COMMENT, ORDINAL_POSITION FROM information_schema.columns WHERE table_schema = 'db_name' ORDER BY TABLE_NAME, ORDINAL_POSITION;
SELECT * FROM information_schema.columns WHERE table_schema != 'information_schema';
USE information_schema;
SELECT TABLE_NAME 'Table', COLUMN_NAME 'Field', COLUMN_TYPE 'Type', IS_NULLABLE 'Null',
COLUMN_KEY 'Key', COLUMN_DEFAULT 'Default', EXTRA 'Extra'
FROM information_schema.columns
WHERE table_schema = 'your_db'
ORDER BY TABLE_NAME;
8条答案
按热度按时间a2mppw5e1#
没有一个语句可以一次
describe
所有表。下面是一些选项:字符串
zfycwa2u2#
要显式指定每个表,请执行以下操作:
字符串
oyxsuwqo3#
我使用Linux的方式。首先创建一个~/.my.cnf来存储mysql的用户名和密码。接下来使用下面的片段并在linux终端中运行它。
生成表列表,过滤表头和awk生成列。然后,使用相同的方法DESC table_name。
字符串
tmb3ates4#
这是@AlexShaffer的优秀评论的变体,修改后反映了Mac终端的mysql监视器在被要求描述一个表时的输出。
字符串
6mzjoqzu5#
请像下面这样创建bash脚本,它会提示您详细信息。
仅限Linux- BASH插件-describe-all-tables.sh
字符串
用法- */bin/sh describe-all-tables.sh *
j7dteeu86#
字符串
sgtfey8w7#
不确定是否有一种方法可以像在mysql提示符下运行命令时那样以“table”格式显示结果,但这应该描述了所有垂直格式的表。
字符串
zfycwa2u8#
默认情况下,Mysql不描述数据库中的所有表。主要原因数据库的主要意图只是分散权力和照顾元数据,但不索引数据。
**连接数据库:**mysql [-u username] [-h hostname] database-name
**要列出所有数据库,请在MySQL提示符中键入:**show databases
**然后选择合适的数据库:**使用MyDB;
**列出数据库中的所有表:**显示表;
描述表:desc table-name或describe table-name