Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用SQL Alchemy从现有模式中列出表中的列_Python_Mysql_Sqlalchemy_Automap - Fatal编程技术网

Python 使用SQL Alchemy从现有模式中列出表中的列

Python 使用SQL Alchemy从现有模式中列出表中的列,python,mysql,sqlalchemy,automap,Python,Mysql,Sqlalchemy,Automap,(我认为)一个简单的问题——如何使用SQL Alchemy automap扩展在现有mysql数据库的模式(重要的是)中列出表的列 这就是我一直在尝试的(尝试遵循以下文档: ): 从这一点上,我可以“看到”所有表(例如Base.classes.table1,Base.classes.table2等),并且可以“看到”特定表中的列作为每个表的属性(例如Base.classes.table1.column1,Base.classes.column2) 问题是,是否有一种简单的方法来列出表中的列?(或

(我认为)一个简单的问题——如何使用SQL Alchemy automap扩展在现有mysql数据库的模式(重要的是)中列出表的列

这就是我一直在尝试的(尝试遵循以下文档: ):

从这一点上,我可以“看到”所有表(例如
Base.classes.table1
Base.classes.table2
等),并且可以“看到”特定表中的列作为每个表的属性(例如
Base.classes.table1.column1
Base.classes.column2

问题是,是否有一种简单的方法来列出表中的列?(或者确实是架构中的表?)。。
在“表1”中显示列的一些重要信息
。。。也许我遗漏了一些明显/基本的东西


一条可能与此相关的评论——我既是mysql管理员/用户又是python用户,已经有好几年了,我只是刚刚涉足ORM领域。也许我的速度很慢,但我发现SQL Alchemy的文档非常难以理解——似乎有堆积如山的文档(以及全新的使用词汇)。。。或者也许我只是以一种完全错误的方式思考ORM——因此,任何不是来自SQL炼金术的基本指南等——都将不胜感激。也许是类似于“SQL用户的SQL炼金术”——如果存在这样的东西

答案基本上包含在Ilja Everilä的问题链接中。 将标记为重复-但以下是我问题的直接答案:

Base.classes.table1.\u\u table\u.columns
将为您提供列信息(作为SQL Alchemy
ImmutableColumnCollection
对象,它有一些方法)

其中一种方法将生成列名称列表,具体如下:

Base.classes.table1.\u表\u.columns.keys()


…基本上,我缺少的主要内容是“魔力”
\uuu table\uuuu
属性/对象。

答案基本上包含在Ilja Everilä的问题链接中。 将标记为重复-但以下是我问题的直接答案:

Base.classes.table1.\u\u table\u.columns
将为您提供列信息(作为SQL Alchemy
ImmutableColumnCollection
对象,它有一些方法)

其中一种方法将生成列名称列表,具体如下:

Base.classes.table1.\u表\u.columns.keys()


…基本上,我缺少的主要内容是“magic”
\uuuu table\uuuu
属性/对象。

对于您的相关评论,SQLAlchemy是一个巨大的库,因此文档非常丰富。试着从基础开始,比如,先教自己一个有用的子集。请注意,您看到的不是表,而是自动生成的映射类,属性
Base.classes
提示了这些映射类。对于您的相关评论,SQLAlchemy是一个巨大的库,因此文档非常庞大。试着从基础开始,比如,先教自己一个有用的子集。请注意,您看到的不是表,而是自动生成的映射类,属性
Base.classes
提示了这些映射类。
metadata = MetaData()
metadata.reflect(engine)

Base = automap_base(metadata=metadata)
Base.prepare()