我想让所有的mysql表的col名称在php数组?
对此有疑问吗?
我想让所有的mysql表的col名称在php数组?
对此有疑问吗?
当前回答
当你想检查你的所有表结构与一些文件,然后使用这段代码。在这个查询中,我选择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
其他回答
我以前做过这种事。
SELECT column_name
FROM information_schema.columns
WHERE table_name='insert table name here';
如果你只需要字段名和类型(可能是为了方便复制粘贴到Excel中):
SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='databasenamegoeshere'
AND DATA_TYPE='decimal' and TABLE_NAME = 'tablenamegoeshere'
删除
DATA_TYPE='decimal'
如果需要所有数据类型
我在SQL Server中尝试过这个查询,这对我有用:
SELECT name FROM sys.columns WHERE OBJECT_ID = OBJECT_ID('table_name')
不确定这是否是你想要的,但这对我来说很管用:
$query = query("DESC YourTable");
$col_names = array_column($query, 'Field');
这将返回表或数组中的列名/变量名作为字符串的简单数组,这是我动态构建MySQL查询所需要的。令我沮丧的是,我根本不知道如何在PHP中很好地索引数组,所以我不确定如何处理来自DESC或SHOW的结果。希望我的回答对像我这样的初学者有帮助!
print_r($col_names);
当你想检查你的所有表结构与一些文件,然后使用这段代码。在这个查询中,我选择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