我想让所有的mysql表的col名称在php数组?

对此有疑问吗?


当前回答

我在SQL Server中尝试过这个查询,这对我有用:

SELECT name FROM sys.columns WHERE OBJECT_ID = OBJECT_ID('table_name')

其他回答

所有答案中最简单的解决方案:

DESC `table name`

or

DESCRIBE `table name`

or

SHOW COLUMNS FROM `table name`

最好的方法是使用INFORMATION_SCHEMA元数据虚拟数据库。特别是INFORMATION_SCHEMA。列的表…

SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' 
    AND `TABLE_NAME`='yourtablename';

它非常强大,可以给你大量的信息,而不需要解析文本(比如列类型,列是否为空,最大列大小,字符集,等等)…

哦,它是标准SQL(而SHOW…是一个MySQL特定的扩展)…

有关SHOW…使用INFORMATION_SCHEMA表,查看MySQL文档中关于INFORMATION_SCHEMA的一般内容…

似乎有两种方法:

DESCRIBE `tablename`

or

SHOW COLUMNS FROM `tablename`

更多描述请点击:http://dev.mysql.com/doc/refman/5.0/en/describe.html

我在SQL Server中尝试过这个查询,这对我有用:

SELECT name FROM sys.columns WHERE OBJECT_ID = OBJECT_ID('table_name')

当你想检查你的所有表结构与一些文件,然后使用这段代码。在这个查询中,我选择column_name,column_type和table_name以获取更多详细信息。我使用按列的顺序,所以我可以很容易地看到它。

SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' order by DATA_TYPE;

如果你只想检查双类型文件,那么你可以很容易地做到这一点

SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME,DATA_TYPE 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' AND DATA_TYPE like '%bigint%'  order by DATA_TYPE;

如果你想检查哪个字段允许空类型等,那么你可以使用这个

SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME,IS_NULLABLE,DATA_TYPE 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' and DATA_TYPE like '%bigint%' and IS_NULLABLE ='NO' order by COLUMN_TYPE;

你想检查更多,然后认为链接也帮助你。

https://dev.mysql.com/doc/refman/5.7/en/columns-table.html