Mysql 对“显示结果”列执行某些操作?
是否可以对ShowColumns查询的结果执行某些操作 例如,将结果行添加到某个表中,并根据它进行选择 以下操作不起作用:Mysql 对“显示结果”列执行某些操作?,mysql,sql,metadata,Mysql,Sql,Metadata,是否可以对ShowColumns查询的结果执行某些操作 例如,将结果行添加到某个表中,并根据它进行选择 以下操作不起作用: SELECT * FROM (SHOW COLUMNS FROM MyTable ) 更新 那么,显示列本身就是一件事吗?如果不能使用显示列来处理数据,那么它会更多地显示有关列的信息。数据类型等 您可以使用这样的语法来处理数据 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='YourDatabas
SELECT * FROM (SHOW COLUMNS FROM MyTable )
更新
那么,显示列本身就是一件事吗?如果不能使用显示列来处理数据,那么它会更多地显示有关列的信息。数据类型等 您可以使用这样的语法来处理数据
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='YourDatabase' AND TABLE_NAME='table';;
要将列信息检索为SQL中可操作的结果集,请使用:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='database-name' AND TABLE_NAME='table-name';
您可以对SHOW语句的结果进行处理,但不能使用SQL。SHOW语句不是ansisql的一部分,它们是MySQL中的一个扩展。请注意以下文档中的注释:
许多MySQL API(如PHP)允许您将SHOW语句返回的结果视为SELECT语句的结果集;有关更多信息,请参阅第25章连接器和API或API文档
此外,您还可以在SQL中处理对INFORMATION_SCHEMA数据库中的表进行查询的结果,而这对于SHOW语句的结果来说是不容易做到的。参见第22章,信息和模式表
SHOW语句更适合数据库管理员快速检索有关数据库结构的元数据。也就是说,“在引擎盖下”,我假设它查询信息SCHEMA.COLUMNS,但格式化输出以便于阅读。请举例说明您的用例。还不清楚。有什么原因不能使用SHOW TABLES,或者这只是一个糟糕的设计吗?@Dims糟糕的设计对于RDBMS来说就是允许数据和表示/实现细节之间的隐式转换。此外,定义与的工作。你到底想做什么?