Mysqlはデータベースに特定のテーブルが含まれているかどうかを判断し、pymysqlツール関数を使用します。

データベース内のすべてのテーブルを表示します。

SELECT table_name
FROM information_schema.tables
WHERE table_schema = '数据库名'

したがって、ライブラリ内のテーブルを表示するには、次のように使用できます。

SELECT table_name
FROM information_schema.tables
WHERE table_schema = '数据库名'
AND table_name = '表名称';

pymysql では、テーブルがデータベースに含まれているかどうかをクエリする簡単なユーティリティ関数を作成できます。

ここの _query 関数については、ブログを参照してください: The solution that Python always time out when using pymysql

from utils.sql_utils import _query


def sql_exists(database, table_name):
    sql_info = _query(f"""
        SELECT table_name
        FROM information_schema.tables
        WHERE table_schema = '{
      
      database}'
        AND table_name = '{
      
      table_name}';
    """, fetchone=True)
    if sql_info is None:
        return False # 不包含这个表
    else:
        return True # 包含这个表

おすすめ

転載: blog.csdn.net/weixin_35757704/article/details/132694958