DDL¶
Data Definition Language builders for tables, indexes, views, and schemas.
Base¶
- class sqlspec.builder.DDLBuilder[source]¶
Bases:
QueryBuilderBase class for DDL builders (CREATE, DROP, ALTER, etc).
- build(dialect=None)[source]¶
Builds the SQL query string and parameters.
Tables¶
- class sqlspec.builder.CreateTable[source]¶
Bases:
DDLBuilderBuilder for CREATE TABLE statements with columns and constraints.
- property columns: list[ColumnDefinition]¶
Get the list of column definitions for this table.
- Returns:
List of ColumnDefinition objects.
- column(name, dtype, default=None, not_null=False, primary_key=False, unique=False, auto_increment=False, comment=None, check=None, generated=None, collate=None)[source]¶
Add a column definition to the table.
- Return type:
Self
- class sqlspec.builder.CreateTableAsSelect[source]¶
Bases:
DDLBuilderBuilder for CREATE TABLE [IF NOT EXISTS] ... AS SELECT ... (CTAS).
- - name(table_name
str): Set the table name.
- - if_not_exists()
Add IF NOT EXISTS.
- - columns(*cols
str): Set explicit column list (optional).
- - as_select(select_query)
Set the SELECT source (SQL, SelectBuilder, or str).
- class sqlspec.builder.AlterTable[source]¶
Bases:
DDLBuilderBuilder for ALTER TABLE operations.
- add_column(name, dtype, default=None, not_null=False, unique=False, comment=None, after=None, first=False)[source]¶
Add a new column to the table.
- Return type:
Self
- alter_column_type(name, new_type, using=None)[source]¶
Change the type of an existing column.
- Return type:
Self
- add_constraint(constraint_type, columns=None, name=None, references_table=None, references_columns=None, condition=None, on_delete=None, on_update=None)[source]¶
Add a constraint to the table.
- Parameters:
constraint_type¶ (
str) -- Type of constraint ('PRIMARY KEY', 'FOREIGN KEY', 'UNIQUE', 'CHECK')columns¶ (
str|list[str] |None) -- Column(s) for the constraint (not needed for CHECK)references_table¶ (
str|None) -- Table referenced by foreign keyreferences_columns¶ (
str|list[str] |None) -- Columns referenced by foreign keycondition¶ (
str|ColumnExpression|None) -- CHECK constraint condition
- Return type:
Self
- class sqlspec.builder.DropTable[source]¶
Bases:
DDLBuilder,_DropDDLMixinBuilder for DROP TABLE [IF EXISTS] ... [CASCADE|RESTRICT].
- class sqlspec.builder.RenameTable[source]¶
Bases:
DDLBuilderBuilder for ALTER TABLE ... RENAME TO ... statements.
- class sqlspec.builder.Truncate[source]¶
Bases:
DDLBuilderBuilder for TRUNCATE TABLE ... [CASCADE|RESTRICT] [RESTART IDENTITY|CONTINUE IDENTITY].
Column and Constraint Definitions¶
- class sqlspec.builder._ddl.ColumnDefinition[source]¶
Bases:
objectColumn definition for CREATE TABLE.
- class sqlspec.builder._ddl.ConstraintDefinition[source]¶
Bases:
objectConstraint definition for CREATE TABLE.
Indexes¶
- class sqlspec.builder.CreateIndex[source]¶
Bases:
DDLBuilderBuilder for CREATE [UNIQUE] INDEX [IF NOT EXISTS] ... ON ... (...).
- class sqlspec.builder.DropIndex[source]¶
Bases:
DDLBuilder,_DropDDLMixinBuilder for DROP INDEX [IF EXISTS] ... [ON table] [CASCADE|RESTRICT].
Views¶
- class sqlspec.builder.CreateView[source]¶
Bases:
DDLBuilderBuilder for CREATE VIEW [IF NOT EXISTS] ... AS SELECT ...
- class sqlspec.builder.CreateMaterializedView[source]¶
Bases:
DDLBuilderBuilder for CREATE MATERIALIZED VIEW [IF NOT EXISTS] ... AS SELECT ...
- class sqlspec.builder.DropView[source]¶
Bases:
DDLBuilder,_DropDDLMixinBuilder for DROP VIEW [IF EXISTS] ... [CASCADE|RESTRICT].
- class sqlspec.builder.DropMaterializedView[source]¶
Bases:
DDLBuilder,_DropDDLMixinBuilder for DROP MATERIALIZED VIEW [IF EXISTS] ... [CASCADE|RESTRICT].
Schemas¶
- class sqlspec.builder.CreateSchema[source]¶
Bases:
DDLBuilderBuilder for CREATE SCHEMA [IF NOT EXISTS] schema_name [AUTHORIZATION user_name].
- class sqlspec.builder.DropSchema[source]¶
Bases:
DDLBuilder,_DropDDLMixinBuilder for DROP SCHEMA [IF EXISTS] ... [CASCADE|RESTRICT].