查询指定库拥有某字段的表
-- 注释: columnName 字段名 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%';
-- 举例:我要查数据库[fengchen]中包含字段[id]的所有表
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);
修改字段长度可能会影响到应用程序的操作,请确保在适当的时间和地点进行修改。
如果你的表中已经存在数据,需要注意修改字段长度可能会导致数据丢失或者改变,因此在修改前最好先备份数据。
修改字段长度的操作可能会花费一定的时间,因此请确保在操作期间不要关闭程序或者强制终止任务。