Mysql判断某个数据库中是否包含某个表,与pymysql工具函数

查看某个数据库中的全部表:

sql 复制代码
SELECT table_name
FROM information_schema.tables
WHERE table_schema = '数据库名'

因此查看某个库中的某个表可以使用:

sql 复制代码
SELECT table_name
FROM information_schema.tables
WHERE table_schema = '数据库名'
AND table_name = '表名称';

在pymysql中,可以写一个简单的工具函数,用于查询某个数据库中是否包含某个表:

这里的_query函数请参考博客:python使用pymysql总是超时的解决方案

py 复制代码
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 # 包含这个表
相关推荐
Elastic 中国社区官方博客19 分钟前
使用 cloud-native Elasticsearch 与 ECK 运行
大数据·数据库·elasticsearch·搜索引擎·kubernetes·k8s·全文检索
Mr_hwt_12331 分钟前
基于MyCat 中间件实现mysql集群读写分离与从库负载均衡教程(详细案例教程)
数据库·mysql·中间件·mysql集群
酷ku的森1 小时前
Redis中的Zset数据类型
数据库·redis·缓存
zhong liu bin1 小时前
MySQL数据库面试题整理
数据结构·数据库·mysql
luckys.one6 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
言之。8 小时前
Django中的软删除
数据库·django·sqlite
阿里嘎多哈基米9 小时前
SQL 层面行转列
数据库·sql·状态模式·mapper·行转列
抠脚学代码9 小时前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu
jakeswang9 小时前
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
数据库·mysql
Heliotrope_Sun10 小时前
Redis
数据库·redis·缓存