Ответ 1
используйте базу данных INFORMATION_SCHEMA и ее таблицы.
например:
SELECT *
FROM information_schema.columns
WHERE table_schema = 'MY_DATABASE'
AND column_name IN ( 'MY_COLUMN_NAME' );
Есть ли способ поиска в базе данных, если имя столбца/имя поля существует в таблице в mysql?
используйте базу данных INFORMATION_SCHEMA и ее таблицы.
например:
SELECT *
FROM information_schema.columns
WHERE table_schema = 'MY_DATABASE'
AND column_name IN ( 'MY_COLUMN_NAME' );
SHOW COLUMNS FROM tablename LIKE 'columnname'
получайте удовольствие!: -)
UPDATE:
Как указано в комментариях, это ищет только одну таблицу, а не всю базу данных (каждая таблица). В этом случае обратитесь к ответу DhruvPathak.
Если вы хотите выполнить поиск во всей базе данных, попробуйте
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND COLUMN_NAME = 'column_name'
И если вы хотите выполнить поиск в конкретной таблице, попробуйте
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'
Если вы хотите, чтобы поиск двух или более столбцов, используйте следующие ниже.
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';