可以在SELECT语句中嵌入DESCRIBE语法吗?

Jim*_*imZ 17 mysql sql select information-schema describe

在MySQL中,语法DESCRIBE可以显示表的结构,但不能嵌入到正常的语句中; 有一些棘手的方法吗?

例如,这显示了table1作为表返回的结构(但SQL语句不这么认为)

DESCRIBE `table1`
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

SELECT * FROM (DESCRIBE `table1`)
Run Code Online (Sandbox Code Playgroud)

有没有办法启用它?

我想加入DESCRIBE语法创建的"表" ,我该怎么做?

Sah*_*hah 19

您可以使用INFORMATION_SCHEMA的COLUMNS表来获得预期结果,作为DESCRIBE表选项的替代解决方案.

试试这个:

SELECT COLUMN_NAME AS `Field`, COLUMN_TYPE AS `Type`, IS_NULLABLE AS `NULL`, 
       COLUMN_KEY AS `Key`, COLUMN_DEFAULT AS `Default`, EXTRA AS `Extra`
FROM information_schema.COLUMNS  
WHERE TABLE_SCHEMA = 'schemaName' AND TABLE_NAME = 'table1';
Run Code Online (Sandbox Code Playgroud)


Aar*_*ler 9

输出DESCRIBE看起来像一个表,但DESCRIBE实际上不是一个查询,因此不能被视为例如SELECT语句中的子查询.