1、在网上找了许久都没有找到判断表是否存在,然后模糊删除的。但是最后找到了一个曲线救国的方法。
需求:删除表中后缀是 _待删除 的表
1、第一步,找到所有的这样的表,并且拼装好删除表的sql
Select CONCAT( "DROP TABLE IF EXISTS ", table_name, ";" )
FROM information_schema.tables
Where table_name LIKE "%_待删除";
执行结果
2、第二步:去一一执行删除语句,有能力的可以去写一个脚本执行什么的
3、sql解析
3-1 :concat 字符串拼接
3-2 :DROP TABLE IF EXISTS equi_accp_info__待删除; --判断这个表是否存在,如果存在就删除
补充知识:mysql 判断表字段是否存在,然后修改
我就废话不多说了,大家还是直接看代码吧~
-- 判断 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在则添加; 存在则修改字段类型
DELIMITER ??
DROP PROCEDURE IF EXISTS schema_change??
CREATE PROCEDURE schema_change()
<