使用Python批量刪除MySQL數(shù)據(jù)庫的全部外鍵
我先說下場景,昨天因?yàn)槲覀兪褂昧薐ava工作流框架flowable,它自動(dòng)生成了許多工作流相關(guān)的表,但是這些表都有外鍵關(guān)聯(lián),如果單純的使用sql語句去一個(gè)一個(gè)的刪除外鍵,那會(huì)非常麻煩,所以我寫了一個(gè)Python腳本來進(jìn)行批量刪除。
前提是你要有個(gè)Python環(huán)境...
先安裝mysql驅(qū)動(dòng)依賴:
pip install mysql-connector-python
因?yàn)榇a非常簡單,所以直接把代碼粘出來,改下你mysql的連接信息,直接右鍵運(yùn)行即可。
import mysql.connector def delete_foreign_keys(host, port, user, password, database): try: # 連接到數(shù)據(jù)庫 conn = mysql.connector.connect( host=host, port=port, user=user, password=password, database=database ) cursor = conn.cursor() # 查詢外鍵約束 cursor.execute(""" SELECT CONSTRAINT_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE UNIQUE_CONSTRAINT_SCHEMA = %s; """, (database,)) foreign_keys = cursor.fetchall() # 生成刪除外鍵約束的 SQL 語句并執(zhí)行 for fk in foreign_keys: constraint_name, table_name = fk cursor.execute(f"ALTER TABLE {table_name} DROP FOREIGN KEY {constraint_name};") print(f"Deleted foreign key constraint {constraint_name} from table {table_name}") conn.commit() print("All foreign key constraints deleted successfully!") except mysql.connector.Error as error: print("Error while connecting to MySQL", error) finally: if conn.is_connected(): cursor.close() conn.close() print("MySQL connection is closed") # 設(shè)置數(shù)據(jù)庫連接參數(shù) host = '127.0.0.1' port = 3306 # MySQL 默認(rèn)端口號 user = 'root' password = 'root' database = 'mydatabase' # 調(diào)用函數(shù)刪除外鍵約束 delete_foreign_keys(host, port, user, password, database)
到此這篇關(guān)于使用Python批量刪除MySQL數(shù)據(jù)庫的全部外鍵的文章就介紹到這了,更多相關(guān)Python刪除MySQL外鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python快速建立超簡單的web服務(wù)器的實(shí)現(xiàn)方法
某些條件測試,需要一個(gè)簡單的web服務(wù)器測試一下,為此專門去配置個(gè)nginx 或者 apache服務(wù)器略顯麻煩,這里就為大家介紹一下使用python快速建立超簡單的web服務(wù)器的方法,需要的朋友可以參考下2018-02-02python 處理微信對賬單數(shù)據(jù)的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了python 處理微信對賬單數(shù)據(jù),代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07淺談Pycharm最有必要改的幾個(gè)默認(rèn)設(shè)置項(xiàng)
今天小編就為大家分享一篇淺談Pycharm最有必要改的幾個(gè)默認(rèn)設(shè)置項(xiàng),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python 畫二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 畫二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07