Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQLAlchemy - Mendapatkan daftar tabel

Semua tabel dikumpulkan dalam tables atribut objek SQLAlchemy MetaData. Untuk mendapatkan daftar nama tabel tersebut:

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

Jika Anda menggunakan ekstensi deklaratif, Anda mungkin tidak mengelola metadata sendiri. Untungnya, metadata masih ada di kelas dasar,

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

Jika Anda mencoba mencari tahu tabel apa yang ada di database Anda, bahkan di antara tabel yang belum Anda beri tahu SQLAlchemy, Anda bisa menggunakan refleksi tabel. SQLAlchemy kemudian akan memeriksa database dan memperbarui metadata dengan semua tabel yang hilang.

>>> metadata.reflect(engine)

Untuk Postgres, jika Anda memiliki banyak skema, Anda harus mengulang semua skema di mesin:

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. Pilih dan tampilkan hanya catatan duplikat di MySQL

  2. MySQL Inner Join Query Beberapa Tabel

  3. Cara menonaktifkan opsi only_full_group_by di Laravel

  4. Fungsi agregat di MySQL - daftar (seperti LISTAGG di Oracle)

  5. Adakah yang tahu arti di balik pesan kesalahan php ini?