Interface TableCreateBuilder
-
- All Superinterfaces:
SQLBuilder
public interface TableCreateBuilder extends SQLBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default TableCreateBuilder
addAutoIncrementColumn(@NotNull java.lang.String columnName)
为该表添加一个INT类型的自增主键列default TableCreateBuilder
addAutoIncrementColumn(@NotNull java.lang.String columnName, boolean asPrimaryKey)
为该表添加一个INT类型的自增列default TableCreateBuilder
addAutoIncrementColumn(@NotNull java.lang.String columnName, boolean asPrimaryKey, boolean unsigned)
为该表添加一个INT类型的自增主键列TableCreateBuilder
addAutoIncrementColumn(@NotNull java.lang.String columnName, @Nullable NumberType numberType, boolean asPrimaryKey, boolean unsigned)
为该表添加一个自增列TableCreateBuilder
addColumn(@NotNull java.lang.String column)
为该表添加一个列default TableCreateBuilder
addColumn(@NotNull java.lang.String columnName, @NotNull java.lang.String settings)
为该表添加一个列default TableCreateBuilder
addColumn(@NotNull java.lang.String columnName, @NotNull java.lang.String settings, @NotNull java.lang.String comments)
为该表添加一个列default TableCreateBuilder
addForeignKey(@NotNull java.lang.String tableColumn, @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定自参照外键(即自参照完整性)。default TableCreateBuilder
addForeignKey(@NotNull java.lang.String tableColumn, @NotNull java.lang.String foreignTable, @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定外键。default TableCreateBuilder
addForeignKey(@NotNull java.lang.String tableColumn, @Nullable java.lang.String constraintName, @NotNull java.lang.String foreignTable, @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定外键。TableCreateBuilder
addForeignKey(@NotNull java.lang.String tableColumn, @Nullable java.lang.String constraintName, @NotNull java.lang.String foreignTable, @NotNull java.lang.String foreignColumn, @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule)
以本表位从表,为表中某列设定外键。SQLUpdateAction<java.lang.Integer>
build()
将现有条件构建完整的SQL语句用于执行。default java.lang.String
defaultTablesSettings()
@NotNull java.lang.String
getTableName()
@NotNull java.lang.String
getTableSettings()
得到表的设定。TableCreateBuilder
setColumns(@NotNull java.lang.String... columns)
直接设定表的所有列信息TableCreateBuilder
setIndex(@NotNull IndexType type, @Nullable java.lang.String indexName, @NotNull java.lang.String columnName, @NotNull java.lang.String... moreColumns)
设定表中的某列为索引或键。default TableCreateBuilder
setIndex(@NotNull java.lang.String columnName, @NotNull IndexType type)
设定表中的某列为索引或键。TableCreateBuilder
setTableComment(@Nullable java.lang.String comment)
设定表的标注,一般用于解释该表的作用。TableCreateBuilder
setTableSettings(@NotNull java.lang.String settings)
-
Methods inherited from interface cc.carm.lib.easysql.api.SQLBuilder
getManager
-
-
-
-
Method Detail
-
build
SQLUpdateAction<java.lang.Integer> build()
将现有条件构建完整的SQL语句用于执行。- Returns:
SQLUpdateAction
-
getTableName
@NotNull @NotNull java.lang.String getTableName()
-
getTableSettings
@NotNull @NotNull java.lang.String getTableSettings()
得到表的设定。若未使用
setTableSettings(String)
方法则会采用defaultTablesSettings()
。- Returns:
- TableSettings
-
setTableSettings
TableCreateBuilder setTableSettings(@NotNull @NotNull java.lang.String settings)
-
setTableComment
TableCreateBuilder setTableComment(@Nullable @Nullable java.lang.String comment)
设定表的标注,一般用于解释该表的作用。- Parameters:
comment
- 表标注- Returns:
TableCreateBuilder
-
setColumns
TableCreateBuilder setColumns(@NotNull @NotNull java.lang.String... columns)
直接设定表的所有列信息- Parameters:
columns
- 列的相关信息 (包括列设定)- Returns:
TableCreateBuilder
-
addColumn
TableCreateBuilder addColumn(@NotNull @NotNull java.lang.String column)
为该表添加一个列- Parameters:
column
- 列的相关信息
如 `uuid` VARCHAR(36) NOT NULL UNIQUE KEY- Returns:
TableCreateBuilder
-
addColumn
default TableCreateBuilder addColumn(@NotNull @NotNull java.lang.String columnName, @NotNull @NotNull java.lang.String settings)
为该表添加一个列- Parameters:
columnName
- 列名settings
- 列的设定
如 VARCHAR(36) NOT NULL UNIQUE KEY- Returns:
TableCreateBuilder
-
addColumn
default TableCreateBuilder addColumn(@NotNull @NotNull java.lang.String columnName, @NotNull @NotNull java.lang.String settings, @NotNull @NotNull java.lang.String comments)
为该表添加一个列- Parameters:
columnName
- 列名settings
- 列的设定
如 VARCHAR(36) NOT NULL UNIQUE KEYcomments
- 列的注解,用于解释该列数据的作用- Returns:
TableCreateBuilder
-
addAutoIncrementColumn
TableCreateBuilder addAutoIncrementColumn(@NotNull @NotNull java.lang.String columnName, @Nullable @Nullable NumberType numberType, boolean asPrimaryKey, boolean unsigned)
为该表添加一个自增列自增列强制要求为数字类型,非空,且为UNIQUE。
注意:一个表只允许有一个自增列!
- Parameters:
columnName
- 列名numberType
- 数字类型,若省缺则为NumberType.INT
asPrimaryKey
- 是否为主键,若为false则设定为唯一键unsigned
- 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)- Returns:
TableCreateBuilder
-
addAutoIncrementColumn
default TableCreateBuilder addAutoIncrementColumn(@NotNull @NotNull java.lang.String columnName, boolean asPrimaryKey, boolean unsigned)
为该表添加一个INT类型的自增主键列自增列强制要求为数字类型,非空,且为UNIQUE。
注意:一个表只允许有一个自增列!
- Parameters:
columnName
- 列名asPrimaryKey
- 是否为主键,若为false则设定为唯一键unsigned
- 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)- Returns:
TableCreateBuilder
-
addAutoIncrementColumn
default TableCreateBuilder addAutoIncrementColumn(@NotNull @NotNull java.lang.String columnName, boolean asPrimaryKey)
为该表添加一个INT类型的自增列自增列强制要求为数字类型,非空,且为UNIQUE。
注意:一个表只允许有一个自增列!
- Parameters:
columnName
- 列名asPrimaryKey
- 是否为主键,若为false则设定为唯一键- Returns:
TableCreateBuilder
-
addAutoIncrementColumn
default TableCreateBuilder addAutoIncrementColumn(@NotNull @NotNull java.lang.String columnName)
为该表添加一个INT类型的自增主键列自增列强制要求为数字类型,非空,且为UNIQUE。
注意:一个表只允许有一个自增列!
- Parameters:
columnName
- 列名- Returns:
TableCreateBuilder
-
setIndex
default TableCreateBuilder setIndex(@NotNull @NotNull java.lang.String columnName, @NotNull @NotNull IndexType type)
设定表中的某列为索引或键。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE 和DELETE。
因此,请合理的设计索引。- Parameters:
type
- 索引类型columnName
- 索引包含的列- Returns:
TableCreateBuilder
-
setIndex
TableCreateBuilder setIndex(@NotNull @NotNull IndexType type, @Nullable @Nullable java.lang.String indexName, @NotNull @NotNull java.lang.String columnName, @NotNull @NotNull java.lang.String... moreColumns)
设定表中的某列为索引或键。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE 和DELETE。
因此,请合理的设计索引。- Parameters:
type
- 索引类型indexName
- 索引名称,缺省时将根据第一个索引列赋一个名称columnName
- 索引包含的列moreColumns
- 联合索引需要包含的列- Returns:
TableCreateBuilder
-
addForeignKey
default TableCreateBuilder addForeignKey(@NotNull @NotNull java.lang.String tableColumn, @NotNull @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定自参照外键(即自参照完整性)。外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。- Parameters:
tableColumn
- 本表中的列foreignColumn
- 外键关联表中对应的关联列,必须为目标表的主键,即IndexType.PRIMARY_KEY
- Returns:
TableCreateBuilder
-
addForeignKey
default TableCreateBuilder addForeignKey(@NotNull @NotNull java.lang.String tableColumn, @NotNull @NotNull java.lang.String foreignTable, @NotNull @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定外键。外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。- Parameters:
tableColumn
- 本表中的列foreignTable
- 外键关联主表,必须为已存在的表或本表,且必须有主键。foreignColumn
- 外键关联主表中对应的关联列,须满足1. 为主表的主键,即
IndexType.PRIMARY_KEY
2. 数据类型必须和所要建立主键的列的数据类型相同。
- Returns:
TableCreateBuilder
-
addForeignKey
default TableCreateBuilder addForeignKey(@NotNull @NotNull java.lang.String tableColumn, @Nullable @Nullable java.lang.String constraintName, @NotNull @NotNull java.lang.String foreignTable, @NotNull @NotNull java.lang.String foreignColumn)
以本表位从表,为表中某列设定外键。外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。- Parameters:
tableColumn
- 本表中的列constraintName
- 约束名,缺省时将使用参数自动生成,如 fk_[tableColumn]_[foreignTable]foreignTable
- 外键关联主表,必须为已存在的表或本表,且必须有主键。foreignColumn
- 外键关联主表中对应的关联列,须满足1. 为主表的主键,即
IndexType.PRIMARY_KEY
2. 数据类型必须和所要建立主键的列的数据类型相同。
- Returns:
TableCreateBuilder
-
addForeignKey
TableCreateBuilder addForeignKey(@NotNull @NotNull java.lang.String tableColumn, @Nullable @Nullable java.lang.String constraintName, @NotNull @NotNull java.lang.String foreignTable, @NotNull @NotNull java.lang.String foreignColumn, @Nullable @Nullable ForeignKeyRule updateRule, @Nullable @Nullable ForeignKeyRule deleteRule)
以本表位从表,为表中某列设定外键。外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。- Parameters:
tableColumn
- 本表中的列constraintName
- 约束名,缺省时将使用参数自动生成,如 fk_[tableColumn]_[foreignTable]foreignTable
- 外键关联主表,必须为已存在的表或本表,且必须有主键。foreignColumn
- 外键关联主表中对应的关联列,须满足1. 为主表的主键,即
IndexType.PRIMARY_KEY
2. 数据类型必须和所要建立主键的列的数据类型相同。
updateRule
- 在外键被更新时采用的规则,缺省时默认为ForeignKeyRule.RESTRICT
deleteRule
- 在外键被删除时采用的规则,缺省时默认为ForeignKeyRule.RESTRICT
- Returns:
TableCreateBuilder
-
defaultTablesSettings
default java.lang.String defaultTablesSettings()
-
-