【发布时间】:2013-06-11 23:52:09
【问题描述】:
我有一个相当大的 MySQL 数据库,里面有几十个表。我正在删除一些遗留数据,并且正在寻找一种快速的方法来在整个数据库 schema 中搜索字符串(而不是在数据本身中)。我正在寻找具有特定字符串的列。是否有内置的方法来执行此操作,或者我应该只编写一个 sql 脚本来转储架构并使用 php 搜索它?
【问题讨论】:
-
你检查 information_schema 了吗?
我有一个相当大的 MySQL 数据库,里面有几十个表。我正在删除一些遗留数据,并且正在寻找一种快速的方法来在整个数据库 schema 中搜索字符串(而不是在数据本身中)。我正在寻找具有特定字符串的列。是否有内置的方法来执行此操作,或者我应该只编写一个 sql 脚本来转储架构并使用 php 搜索它?
【问题讨论】:
您可以使用 INFORMATION_SCHEMA 表找出每个表的列。
SELECT
`COLUMN_NAME`
FROM
`INFORMATION_SCHEMA`.`COLUMNS`
WHERE
`TABLE_SCHEMA` = 'database_name'
AND
`TABLE_NAME` LIKE '%search%'
更多信息在这里:http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
【讨论】:
information_schema,所以我真的不知道它有什么用途。感谢您的教育。