Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQLAlchemy - Pobieranie listy tabel

Wszystkie tabele są zebrane w tables atrybut obiektu SQLAlchemy MetaData. Aby uzyskać listę nazw tych tabel:

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

Jeśli używasz rozszerzenia deklaratywnego, prawdopodobnie sam nie zarządzasz metadanymi. Na szczęście metadane są nadal obecne w klasie bazowej,

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

Jeśli próbujesz dowiedzieć się, jakie tabele znajdują się w Twojej bazie danych, nawet wśród tych, o których jeszcze nawet nie powiedziałeś SQLAlchemy, możesz użyć odbicia tabel. SQLAlchemy sprawdzi następnie bazę danych i zaktualizuje metadane o wszystkie brakujące tabele.

>>> metadata.reflect(engine)

W przypadku Postgresa, jeśli masz wiele schematów, musisz przejść przez wszystkie schematy w silniku:

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. Jak zapobiec wstrzykiwaniu sql za pomocą php i mysql?

  2. MySQL w 2018 roku:co jest w wersji 8.0 i inne obserwacje

  3. Wstaw tam, gdzie nie istnieje — bez klucza podstawowego

  4. Mysql dołącz do stołów

  5. Jak uruchomić skrypt powłoki po ponownym uruchomieniu?