sql >> データベース >  >> RDS >> Mysql

SQLAlchemy-テーブルのリストを取得する

    すべてのテーブルはtablesに収集されます SQLAlchemyMetaDataオブジェクトの属性。これらのテーブルの名前のリストを取得するには:

    >>> metadata.tables.keys()
    ['posts', 'comments', 'users']
    

    宣言型拡張機能を使用している場合は、メタデータを自分で管理していない可能性があります。幸い、メタデータはまだベースクラスに存在しています。

    >>> Base = sqlalchemy.ext.declarative.declarative_base()
    >>> Base.metadata
    MetaData(None)
    

    データベースにどのテーブルが存在するかを把握しようとしている場合は、SQLAlchemyにまだ通知していないテーブルの中でも、テーブルリフレクションを使用できます。次に、SQLAlchemyはデータベースを検査し、欠落しているすべてのテーブルでメタデータを更新します。

    >>> metadata.reflect(engine)
    

    Postgresの場合、複数のスキーマがある場合は、エンジン内のすべてのスキーマをループする必要があります。

    from sqlalchemy import inspect
    inspector = inspect(engine)
    schemas = inspector.get_schema_names()
    
    for schema in schemas:
        print("schema: %s" % schema)
        for table_name in inspector.get_table_names(schema=schema):
            for column in inspector.get_columns(table_name, schema=schema):
                print("Column: %s" % column)
    


    1. ビッグデータ分析を理解する

    2. 2つの選択が同等かどうかを確認します

    3. 1を表示するcURLとPHP

    4. 間違ったMySQL更新クエリ後の回復?