【问题标题】:Listing indices using sqlalchemy使用 sqlalchemy 列出索引
【发布时间】:2011-04-09 12:26:49
【问题描述】:

是否可以使用 sqlalchemy 列出数据库中的所有索引?

【问题讨论】:

    标签: python sql indexing sqlalchemy


    【解决方案1】:

    yes.

    from sqlalchemy import create_engine
    from sqlalchemy.engine import reflection
    engine = create_engine('...')
    insp = reflection.Inspector.from_engine(engine)
    for name in insp.get_table_names():
        for index in insp.get_indexes(name):
            print index
    

    【讨论】:

    • 尝试使用它时遇到问题:>>> engine = create_engine('mysql://[my_abs_path]/app.db') [long dump] ModuleNotFoundError: No module named 'MySQLdb'
    • @SamuelBourque 这是一个不同的问题 - SQLAlchemy 仍然需要安装数据库 python 绑定才能连接。您的连接 url 似乎使用 mysql 但给出了一个 sqlite 数据库的路径?要使用 mysql,我建议安装 oursql 然后使用 engine = create_engine('mysql+oursql://scott:tiger@localhost/foo')
    • @SamuelBourque 你需要安装一个 mysql 模块来与数据库服务器通信。 pip install mysqlclient 应该可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2014-01-17
    • 2019-01-30
    • 2014-08-21
    • 2011-10-01
    相关资源
    最近更新 更多