MySQL根據正規表示式批量刪除表

2021-09-12 17:44:52 字數 840 閱讀 6363

首先用ssh登入了伺服器,登入mysql資料庫:    

mysql -uroot -proot 

注:-u 後面為你的資料庫使用者名稱    -p後面為你的資料庫密碼

然後生成根據正規表示式刪除表的sql語句並儲存:

select concat( 'drop table ', table_name, ';' )  from information_schema.tables 

where table_name regexp 'ss_[0-9]..'  into outfile 'del.sql';;

注:regexp 後面跟的是需要刪除表名的正規表示式

這裡有一些常用的mysql正規表示式規則:

邏輯或: select * from s_user where name regexp 'a|b|c'

特定字元字元:    select * from s_user where name regexp '[abc]123'

匹配範圍:          [0-9]  [a-z]

重複元字元:      * 零個或多個

+ 乙個或多個

? 零個或乙個

指定次數

指定次數範圍

指定次數範圍以上

定位元字元:       ^行首

$行尾任意多個字元:     ..

....更具體的匹配規則可以google一下

這裡的sql檔案預設是匯入到了/var/lib/mysql/del.sql這裡

然後我們在執行del.sql裡面的命令就可以了,如果不放心的話,可以使用vi開啟del.sql看一下裡面的內容:

執行:        source del.sql

mysql正規表示式 MySQL正規表示式

正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...

mysql 正規表示式

已知mysql可以通過 like 來進行模糊匹配。mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配。例項 查詢name欄位中以 st 為開頭的所有資料 mysql select name from person tbl where name re...

MySQL正規表示式

在前面我們已經看到了mysql的模式匹配 like mysql支援另一種型別的模式匹配的操作基於正規表示式和正規表示式運算子。如果知道php或perl,那麼它是非常簡單的,因為這匹配非常相似於指令碼正規表示式。以下是模式的 其可以連同regexp運算子使用。模式什麼樣的模式匹配 開始的乙個字串 結束...