我有成千上万张数据库表。一些表名以_History
结尾。
例如:
abc_History
bcd_History
123_History
我如何查找所有表名以_History
结尾的表。
类似这样:
SELECT
table_name
FROM sys.tables WHERE table_name LIKE '_History%'
并且
error : Invalid column name 'table_name'.
我有成千上万张数据库表。一些表名以_History
结尾。
例如:
abc_History
bcd_History
123_History
我如何查找所有表名以_History
结尾的表。
类似这样:
SELECT
table_name
FROM sys.tables WHERE table_name LIKE '_History%'
并且
error : Invalid column name 'table_name'.
试一试:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.tables
WHERE TABLE_NAME LIKE '%_History'
或者
SELECT name
FROM sys.tables
WHERE name LIKE '%_History'
感谢 @Saharsh-shah。
要在同一查询中获取所有列名的表名,请使用以下代码:
SELECT
`TABLE_NAME`,
group_concat(`COLUMN_NAME` separator ',') AS `COLUMNS`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_NAME` IN(
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.tables
WHERE `TABLE_NAME` LIKE '%_History'
)
GROUP BY `TABLE_NAME`
你可以使用以下方法非常简单地将其推入多维 PHP 数组中:
$tables['columns'] = explode(',', $tables['columns']);