可以对SHOW COLUMNS查询的结果做些什么吗?
例如,将结果行添加到某个选择表中吗?
以下不起作用:
SELECT * FROM (SHOW COLUMNS FROM MyTable )
更新
那么,SHOW COLUMNS
本身就是一个东西?
答案 0 :(得分:2)
要在SQL中检索作为 resultset 的列信息,可以使用:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='database-name' AND TABLE_NAME='table-name';
您可以对SHOW
语句的结果执行某些操作,但不能使用SQL。 SHOW
语句不是ANSI SQL的一部分,它们是MySQL中的扩展。请注意SHOW Syntax文档中的此评论:
许多MySQL API(例如PHP)使您能够像处理SELECT中的结果一样处理从SHOW语句返回的结果;有关更多信息,请参见第25章,连接器和API或API文档。
此外,您可以使用来自INFORMATION_SCHEMA数据库中的表的查询结果在SQL中工作,您无法轻松地使用SHOW语句的结果。请参见第22章,INFORMATION_SCHEMA表。
SHOW
语句更适合数据库管理员快速检索有关数据库结构的元数据。那就是说,“引擎盖下”'我会假设它查询INFORMATION_SCHEMA.COLUMNS
,但格式化输出更容易阅读。
答案 1 :(得分:1)
您无法使用SHOW COLUMNS
AFAIK处理数据,它会更多地显示有关列的信息。数据类型等。
您可以使用此类语法处理数据。
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='YourDatabase' AND TABLE_NAME='table';;