Mysql
 sql >> база данни >  >> RDS >> Mysql

SQLAlchemy - Получаване на списък с таблици

Всички таблици са събрани в tables атрибут на обекта SQLAlchemy MetaData. За да получите списък с имената на тези таблици:

>>> 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Търся еквивалента на dictcursor в flaskext.mysql

  2. Как да съхранявате данните в unicode на хинди език

  3. PHP/mysql получава броя на засегнатите редове на израза UPDATE

  4. Как да избера по набор от начални знаци?

  5. Няколко колони в МАЧ ПРОТИВ