Запросить таблицы с определенным полем в указанной библиотеке.
-- Примечание: имя поля columnsName имя базы данных dbName
-- AND TABLE_NAME NOT LIKE 'vw%' --> Функция: исключить представления
SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS
WHERE COLUMN_NAME = 'columnName'
AND TABLE_SCHEMA='dbName'
AND TABLE_NAME NOT LIKE 'vw%';
-- Пример: я хочу проверить все таблицы, содержащие поле [id] в базе данных [fengchen]
select distinct TABLE_NAME from information_schema.`COLUMNS`
where COLUMN_NAME='id'
and TABLE_SCHEMA='fengchen'
and TABLE_NAME not like 'vm%';
Запросить все имена таблиц в указанной базе данных
-- Универсальный шаблон
select table_name from information_schema.tables
where table_schema='dbName'
and table_type='base table';
-- Например: я хочу запросить все таблицы в базе данных [fengchen]
select table_name from information_schema.`TABLES`
where TABLE_SCHEMA='fengchen'
and TABLE_TYPE='base table';
Запросить все таблицы в указанной базе данных, в которых нет определенного поля.
-- Универсальный шаблон
SELECT
table_name
FROM
information_schema.TABLES
WHERE
table_schema = 'dbName'
AND table_type = 'base table'
AND TABLE_NAME NOT IN
( SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS
WHERE COLUMN_NAME = 'culumnName'
AND TABLE_SCHEMA = 'dbName'
AND TABLE_NAME NOT LIKE 'vw%' );
-- Например: запросить все таблицы в базе данных [fengchen], в которых нет поля [id].
SELECT
table_name
FROM
information_schema.`TABLES`
WHERE
TABLE_SCHEMA = 'fengchen'
AND TABLE_TYPE = 'base table'
AND TABLE_NAME NOT IN
( SELECT DISTINCT TABLE_NAME FROM information_schema.`COLUMNS`
WHERE COLUMN_NAME = 'id'
AND TABLE_SCHEMA = 'fengchen'
AND TABLE_NAME NOT LIKE 'vm' )
-- Изменить длину поля
alter table report_integral_detail modify
column adjust_name VARCHAR(50);
Изменение длины поля может повлиять на работу приложения. Обязательно измените его в подходящее время и в соответствующем месте.
Если данные уже существуют в вашей таблице, обратите внимание, что изменение длины поля может привести к потере или изменению данных, поэтому перед изменением лучше создать резервную копию данных.
Операция изменения длины поля может занять некоторое время, поэтому старайтесь не закрывать программу и не завершать задачу принудительно во время операции.