РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
637 of 711 menu

Метод get_table_names

Метод get_table_names класса Inspector возвращает список имен всех таблиц, присутствующих в базе данных. Первым необязательным параметром метод принимает имя схемы schema, для которой нужно получить список таблиц. Если параметр не указан, используется схема по умолчанию.

Метод возвращает список строк. Если в базе данных нет таблиц, метод вернет пустой список.

Синтаксис

inspector.get_table_names(schema=None)

Пример

Давайте создадим движок и инспектор, а затем получим список таблиц в базе данных:

from sqlalchemy import create_engine, inspect engine = create_engine('sqlite:///:memory:') inspector = inspect(engine) res = inspector.get_table_names() print(res)

Результат выполнения кода:

[]

Пример

Давайте создадим таблицу и проверим, появится ли она в списке таблиц:

from sqlalchemy import create_engine, inspect, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text( 'CREATE TABLE articles (' 'id INTEGER PRIMARY KEY, ' 'title VARCHAR(100)' ')' )) conn.commit() inspector = inspect(engine) res = inspector.get_table_names() print(res)

Результат выполнения кода:

['articles']

Пример

Давайте создадим несколько таблиц и получим их полный список:

from sqlalchemy import create_engine, inspect, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text( 'CREATE TABLE articles (' 'id INTEGER PRIMARY KEY, ' 'title VARCHAR(100)' ')' )) conn.execute(text( 'CREATE TABLE users (' 'id INTEGER PRIMARY KEY, ' 'name VARCHAR(100)' ')' )) conn.execute(text( 'CREATE TABLE comments (' 'id INTEGER PRIMARY KEY, ' 'text VARCHAR(255)' ')' )) conn.commit() inspector = inspect(engine) res = inspector.get_table_names() print(res)

Результат выполнения кода:

['articles', 'comments', 'users']

Пример

Давайте используем метод get_table_names вместе с методом has_table для проверки наличия конкретной таблицы:

from sqlalchemy import create_engine, inspect, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text( 'CREATE TABLE articles (' 'id INTEGER PRIMARY KEY, ' 'title VARCHAR(100)' ')' )) conn.commit() inspector = inspect(engine) tables = inspector.get_table_names() if 'articles' in tables: print('Table articles found') else: print('Table articles not found')

Результат выполнения кода:

"Table articles found"

Смотрите также

  • класс Inspector,
    который предоставляет доступ к метаданным базы данных
  • метод get_columns,
    который возвращает список колонок таблицы
  • метод has_table,
    который проверяет наличие таблицы в базе
  • метод get_view_names,
    который возвращает список имен представлений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить