1、查询数据库行数。
SELECT * FROM information_schema.`TABLES` a WHERE a.`TABLE_SCHEMA` = '数据库名' AND a.`TABLE_NAME` LIKE '表名______';
2、多张表的删除,修改快捷sql写法。基础语法: drop table if EXISTS 表名;
SELECT CONCAT('drop TABLE if exists ',TABLE_NAME,';')
FROM information_schema.`TABLES` a
WHERE a.`TABLE_SCHEMA` = '数据库名'
AND a.`TABLE_NAME` IN ('表名1','表名2');
3、表的重命名,快速生成sql的方式。基础语法:rename table 原表名 to 新表名。
SELECT CONCAT('RENAME TABLE ',TABLE_NAME,' to ',CONCAT(TABLE_NAME,'_;'))
FROM information_schema.`TABLES` a
WHERE a.`TABLE_SCHEMA` = '数据库名'
AND a.`TABLE_NAME` IN ('表名1','表名2');
4、查看碎片化的表数据,并生成收集信息的sql。基础语法:alter table xxx engine = innodb;
SELECT CONCAT('alter table ',table_name,' engine = innodb;')
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'frontend22db'
AND data_free > 0;
5、修改字段名为可空基础语法:
ALTER TABLE 表名 MODIFY 字段名 VARCHAR(20) DEFAULT NULL;
-- 查询语句,批量生成
SELECT CONCAT('alter table ',table_name,' modify ',column_name,' ',
column_type,' DEFAULT NULL;')
FROM information_schema.`COLUMNS`
WHERE TABLE_SCHEMA = 'frontend22db'
AND is_nullable = 'YES';
