sqlalchemy获取数据库名、表名、字段名、字段类型

示例程序:

复制代码
import configparser as cparser
from sqlalchemy import create_engine
import sqlalchemy

class ConnConfig():
    def __init__(self):
        # --------- 读取config.ini配置文件 ---------------
        cf = cparser.ConfigParser()
        cf.read('配置文件路径', encoding='UTF-8')
        self.HOST = cf.get("mysqlconf", "host")
        self.PORT = cf.get("mysqlconf", "port")
        self.USERNAME = cf.get("mysqlconf", "user")
        self.PASSWORD = cf.get("mysqlconf", "password")
        self.DATABASE = cf.get("mysqlconf", "db_name")
        self.DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}'.format(self.USERNAME, self.PASSWORD, self.HOST, self.PORT,
                                                              self.DATABASE)
        # 创建引擎
        self.engine = create_engine(self.DB_URI)
cf = ConnConfig()

# 获取数据库名列表
insp = sqlalchemy.inspect(cf.engine)
print(insp.get_schema_names())
# 获取表名列表
tables = cf.engine.table_names()
print(tables)
# 获取表字段列表
md = sqlalchemy.MetaData()
table  = sqlalchemy.Table('表名', md, autoload=True, autoload_with=cf.engine)
print(table.c)
print(table.c.字段名.type)
复制代码

 

posted @   -零  阅读(3435)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2019-11-09 Go defer使用
2019-11-09 Go Select使用
2019-11-09 Go 缓冲信道
点击右上角即可分享
微信分享提示