Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 对“显示结果”列执行某些操作?_Mysql_Sql_Metadata - Fatal编程技术网

Mysql 对“显示结果”列执行某些操作?

Mysql 对“显示结果”列执行某些操作?,mysql,sql,metadata,Mysql,Sql,Metadata,是否可以对ShowColumns查询的结果执行某些操作 例如,将结果行添加到某个表中,并根据它进行选择 以下操作不起作用: SELECT * FROM (SHOW COLUMNS FROM MyTable ) 更新 那么,显示列本身就是一件事吗?如果不能使用显示列来处理数据,那么它会更多地显示有关列的信息。数据类型等 您可以使用这样的语法来处理数据 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='YourDatabas

是否可以对ShowColumns查询的结果执行某些操作

例如,将结果行添加到某个表中,并根据它进行选择

以下操作不起作用:

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来说就是允许数据和表示/实现细节之间的隐式转换。此外,定义与的工作。你到底想做什么?