欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python批量刪除MySQL數(shù)據(jù)庫的全部外鍵

 更新時間:2024年04月25日 11:27:00   作者:我向往自由  
這篇文章主要為大家詳細介紹了如何使用Python批量刪除MySQL數(shù)據(jù)庫的全部外鍵,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

我先說下場景,昨天因為我們使用了Java工作流框架flowable,它自動生成了許多工作流相關(guān)的表,但是這些表都有外鍵關(guān)聯(lián),如果單純的使用sql語句去一個一個的刪除外鍵,那會非常麻煩,所以我寫了一個Python腳本來進行批量刪除。

前提是你要有個Python環(huán)境...

先安裝mysql驅(qū)動依賴:

pip install mysql-connector-python

因為代碼非常簡單,所以直接把代碼粘出來,改下你mysql的連接信息,直接右鍵運行即可。

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 默認端口號
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ù)器的實現(xiàn)方法

    python快速建立超簡單的web服務(wù)器的實現(xiàn)方法

    某些條件測試,需要一個簡單的web服務(wù)器測試一下,為此專門去配置個nginx 或者 apache服務(wù)器略顯麻煩,這里就為大家介紹一下使用python快速建立超簡單的web服務(wù)器的方法,需要的朋友可以參考下
    2018-02-02
  • Python中命名元組Namedtuple的使用詳解

    Python中命名元組Namedtuple的使用詳解

    Python支持一種名為“namedtuple()”的容器字典,它存在于模塊“collections”中,下面就跟隨小編一起學習一下Namedtuple的具體使用吧
    2023-09-09
  • python 處理微信對賬單數(shù)據(jù)的實例代碼

    python 處理微信對賬單數(shù)據(jù)的實例代碼

    本文通過實例代碼給大家介紹了python 處理微信對賬單數(shù)據(jù),代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 淺談Pycharm最有必要改的幾個默認設(shè)置項

    淺談Pycharm最有必要改的幾個默認設(shè)置項

    今天小編就為大家分享一篇淺談Pycharm最有必要改的幾個默認設(shè)置項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python中l(wèi)ist.copy方法用法詳解

    python中l(wèi)ist.copy方法用法詳解

    這篇文章主要給大家介紹了關(guān)于python中l(wèi)ist.copy方法使用的相關(guān)資料,文中還介紹了python?list.copy()?和?copy.deepcopy()區(qū)別,需要的朋友可以參考下
    2023-02-02
  • python 畫二維、三維點之間的線段實現(xiàn)方法

    python 畫二維、三維點之間的線段實現(xiàn)方法

    今天小編就為大家分享一篇python 畫二維、三維點之間的線段實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python中字符串與編碼示例代碼

    Python中字符串與編碼示例代碼

    這篇文章主要介紹了Python中字符串與編碼示例代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Python爬蟲 urllib2的使用方法詳解

    Python爬蟲 urllib2的使用方法詳解

    這篇文章主要介紹了Python爬蟲 urllib2的使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python3基于print打印帶顏色字符串

    Python3基于print打印帶顏色字符串

    這篇文章主要介紹了Python3使基于print打印帶顏色字符串,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 基于python實現(xiàn)刪除指定文件類型

    基于python實現(xiàn)刪除指定文件類型

    這篇文章主要介紹了基于python實現(xiàn)刪除指定文件類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論