mysql判斷表是否存在然后批量刪除的操作
1、在網(wǎng)上找了許久都沒(méi)有找到判斷表是否存在,然后模糊刪除的。但是最后找到了一個(gè)曲線救國(guó)的方法。
需求:刪除表中后綴是 _待刪除 的表
1、第一步,找到所有的這樣的表,并且拼裝好刪除表的sql
Select CONCAT( 'DROP TABLE IF EXISTS ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE '%_待刪除';
執(zhí)行結(jié)果
2、第二步:去一一執(zhí)行刪除語(yǔ)句,有能力的可以去寫(xiě)一個(gè)腳本執(zhí)行什么的
3、sql解析
3-1 :concat 字符串拼接
3-2 :DROP TABLE IF EXISTS equi_accp_info__待刪除; --判斷這個(gè)表是否存在,如果存在就刪除
補(bǔ)充知識(shí):mysql 判斷表字段是否存在,然后修改
我就廢話不多說(shuō)了,大家還是直接看代碼吧~
-- 判斷 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在則添加; 存在則修改字段類(lèi)型 DELIMITER ?? DROP PROCEDURE IF EXISTS schema_change?? CREATE PROCEDURE schema_change() BEGIN IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'vrv_paw_rule' AND column_name = 'thresholdMin') THEN ALTER TABLE vrv_paw_rule ADD COLUMN thresholdMin BIGINT; ELSE ALTER TABLE vrv_paw_rule MODIFY COLUMN thresholdMin BIGINT ; END IF; END?? DELIMITER ; CALL schema_change();
delimit命令:
就是告訴mysql解釋器,該段命令是否已經(jīng)結(jié)束了,mysql是否可以執(zhí)行了,即改變輸入結(jié)束符。
默認(rèn)情況下,delimiter是分號(hào)“;”。
在命令行客戶端中,如果有一行命令以分號(hào)結(jié)束,
那么回車(chē)后,mysql將會(huì)執(zhí)行該命令。
但有時(shí)候,不希望MySQL這么做。因?yàn)榭赡茌斎胼^多的語(yǔ)句,且語(yǔ)句中包含有分號(hào)。
默認(rèn)情況下,不可能等到用戶把這些語(yǔ)句全部輸入完之后,再執(zhí)行整段語(yǔ)句。
因?yàn)閙ysql一遇到分號(hào),它就要自動(dòng)執(zhí)行。
這種情況下,就可以使用delimiter,把delimiter后面換成其它符號(hào),如//或$$。
此時(shí),delimiter作用就是對(duì)整個(gè)小段語(yǔ)句做一個(gè)簡(jiǎn)單的封裝。
此命令多用在定義子程序,觸發(fā)程序等mysql自己內(nèi)嵌小程序中。
以上這篇mysql判斷表是否存在然后批量刪除的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql-connector-java與mysql版本的對(duì)應(yīng)關(guān)系說(shuō)明
這篇文章主要介紹了mysql-connector-java與mysql版本的對(duì)應(yīng)關(guān)系說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Mysql 默認(rèn)字符集設(shè)置方法(免安裝版)
有些時(shí)候我們?cè)谑褂梅前惭b版的mysql是需要設(shè)置默認(rèn)字符集的時(shí)候,就需要這樣的修改了。安裝版的可以選擇的。2009-03-03mysql慢查詢操作實(shí)例分析【開(kāi)啟、測(cè)試、確認(rèn)等】
這篇文章主要介紹了mysql慢查詢操作,結(jié)合實(shí)例形式分析了mysql慢查詢操作中的開(kāi)啟、測(cè)試、確認(rèn)等實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-12-12Dbeaver連接不上mysql數(shù)據(jù)庫(kù)(Access denied for user&nb
本文主要介紹了Dbeaver連接不上mysql數(shù)據(jù)庫(kù)(Access denied for user ‘root‘@‘localhost‘),嘗試了很多方法,下面就來(lái)介紹一下,感興趣的可以了解一下2024-04-04MySQL 5.7升級(jí)8.0后出現(xiàn)排序規(guī)則問(wèn)題的解決方案匯總
MySQL 5.7.34 升級(jí)到 8.0.32 后部分查詢語(yǔ)句報(bào)錯(cuò)如下,ERROR 1267 (HY000),比較操作中使用不同的字符集或排序規(guī)則通常會(huì)觸發(fā)此問(wèn)題,所以本文給大家介紹了MySQL 5.7升級(jí)8.0后出現(xiàn)排序規(guī)則問(wèn)題的解決方案匯總,需要的朋友可以參考下2024-06-06Express連接MySQL及數(shù)據(jù)庫(kù)連接池技術(shù)實(shí)例
數(shù)據(jù)庫(kù)連接池是程序啟動(dòng)時(shí)建立足夠數(shù)量的數(shù)據(jù)庫(kù)連接對(duì)象,并將這些連接對(duì)象組成一個(gè)池,由程序動(dòng)態(tài)地對(duì)池中的連接對(duì)象進(jìn)行申請(qǐng)、使用和釋放,本文重點(diǎn)給大家介紹Express連接MySQL及數(shù)據(jù)庫(kù)連接池技術(shù),感興趣的朋友一起看看吧2022-02-02Mysql數(shù)據(jù)庫(kù)分庫(kù)分表全面瓦解
物理服務(wù)機(jī)的CPU、內(nèi)存、存儲(chǔ)設(shè)備、連接數(shù)等資源有限,某個(gè)時(shí)段大量連接同時(shí)執(zhí)行操作,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)在處理上遇到性能瓶頸。為了解決這個(gè)問(wèn)題,行業(yè)先驅(qū)門(mén)充分發(fā)揚(yáng)了分而治之的思想,對(duì)大庫(kù)表進(jìn)行分割2022-01-01