python - 如何从 SQLAlchemy 中的现有表中获取列名和类型?

标签 python sql sql-server-2008 orm sqlalchemy

假设我有表users,我想知道列名是什么以及每列的类型是什么。

我是这样连接的;

connectstring = ('mssql+pyodbc:///?odbc_connect=DRIVER%3D%7BSQL'
                     '+Server%7D%3B+server%3D.....')

engine = sqlalchemy.create_engine(connectstring).connect()
md = sqlalchemy.MetaData()
table = sqlalchemy.Table('users', md, autoload=True, autoload_with=engine)
columns = table.c

如果我打电话

for c in columns:
            print type(columns)

我得到输出

<class 'sqlalchemy.sql.base.ImmutableColumnCollection'>

为表中的每一列打印一次。 此外,

print columns 

打印

['users.column_name_1', 'users.column_name_2', 'users.column_name_3'....]

是否可以在不包含表名的情况下获取列名?

最佳答案

列有 nametype 属性

for c in columns:
    print c.name, c.type

关于python - 如何从 SQLAlchemy 中的现有表中获取列名和类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940682/

相关文章:

python - 在查找表中查找范围内的值

python - 为字典实现自定义键,以便同一类的 2 个实例匹配

mysql - 何时在 SQL 查询中使用标识符

sql - 在 PostgreSQL 中添加负间隔

sql-server-2008 - SQL Server 2008 : What is lazy schema validation?

python - 古代或 future 观察者的进动、自行和纪元

python - pytest ScopeMismatch 错误 : how to use fixtures properly

php - 警告:mysql_result()期望参数1为资源,给定对象

sql - 如何测试SQL脚本? (数据完整性/迁移测试)

sql-server-2008 - 如何让sql server 2008自动完成?