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

Класс CreateTable

Класс CreateTable представляет DDL-выражение для создания таблицы в базе данных. Он принимает объект таблицы Table первым параметром. Дополнительными параметрами можно передать флаги if_not_exists и bind. Класс используется для генерации SQL-запроса CREATE TABLE и его выполнения через соединение.

Синтаксис

CreateTable(table, [if_not_exists], [bind])

Пример

Давайте создадим объект таблицы и построим для него выражение CreateTable:

from sqlalchemy import MetaData, Table, Column, Integer, String from sqlalchemy.schema import CreateTable metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer), ) stmt = CreateTable(articles) print(stmt)

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

CREATE TABLE articles ( id INTEGER NOT NULL, title VARCHAR, text VARCHAR, status VARCHAR, num INTEGER, PRIMARY KEY (id) )

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String from sqlalchemy.schema import CreateTable engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer), ) with engine.connect() as conn: conn.execute(CreateTable(articles)) conn.commit() print('table created')

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

"table created"

Пример

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

from sqlalchemy import MetaData, Table, Column, Integer, String from sqlalchemy.schema import CreateTable metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), Column('status', String), Column('num', Integer), ) stmt = CreateTable(articles, if_not_exists=True) print(stmt)

Итоговый SQL запрос:

CREATE TABLE IF NOT EXISTS articles ( id INTEGER NOT NULL, title VARCHAR, text VARCHAR, status VARCHAR, num INTEGER, PRIMARY KEY (id) )

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

  • класс DropTable,
    который представляет выражение DROP TABLE
  • класс PrimaryKeyConstraint,
    который задает первичный ключ таблицы
  • класс ForeignKeyConstraint,
    который задает внешний ключ таблицы
  • класс UniqueConstraint,
    который задает уникальность столбцов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить