Метод drop класса Table
Метод drop класса Table удаляет таблицу
из базы данных. Первым параметром метод принимает
объект подключения bind, который указывает,
к какой базе данных применять операцию. Вторым
необязательным параметром передается checkfirst,
который при значении True проверяет существование
таблицы перед удалением.
Синтаксис
Table.drop(bind, [checkfirst])
Пример
Давайте создадим таблицу articles и затем
удалим ее методом drop:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
metadata.create_all(engine)
print(articles.exists(engine))
articles.drop(engine)
print(articles.exists(engine))
Результат выполнения кода:
True
False
Пример
Давайте используем параметр checkfirst, чтобы
избежать ошибки при повторном удалении таблицы:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
metadata.create_all(engine)
articles.drop(engine, checkfirst=True)
articles.drop(engine, checkfirst=True)
print(articles.exists(engine))
Результат выполнения кода:
False
Итоговый SQL запрос:
DROP TABLE articles
Смотрите также
-
класс
Table,
который представляет таблицу базы данных -
метод
create,
который создает таблицу в базе данных -
метод
exists,
который проверяет существование таблицы -
метод
tometadata,
который связывает таблицу с метаданными