开发手册 欢迎您!
软件开发者资料库

H2数据库 - Alter

H2数据库更改 - 从简单和简单的步骤学习H2数据库从基本到高级概念,包括简介,安装,数据操作选择,插入,更新,删除,备份,调用,解释,合并,显示,数据定义创建,更改,删除,截断,提交,授予,保存点,回滚,JDBC连接。

ALTER是一个用于通过向 alter 命令添加不同子句来更改表结构的命令.根据场景,我们需要在alter命令中添加相应的子句.在本章中,我们将讨论alter命令的各种场景.

更改表添加

更改表添加是用于添加新列的命令表格以及相应的数据类型.此命令在此连接中提交事务.

语法

以下是Alter Table Add命令的通用语法.

ALTER TABLE [ IF EXISTS ] tableName ADD [ COLUMN ] { [ IF NOT EXISTS ] columnDefinition [ { BEFORE | AFTER } columnName ]    | ( { columnDefinition } [,...] ) }

示例

在此示例中,我们将添加一个新列 start_date 到表 tutorials_tbl . start_date的数据类型是Date.以下是添加新列的查询.

ALTER TABLE tutorials_tbl ADD start_date DATE;

上述查询产生以下输出.

(6) rows effected

更改表格添加约束

更改表格添加约束是用于向表格添加不同约束的命令例如主键,外键,非空等等.

如果所需索引尚不存在,则会自动创建它们.无法禁用检查唯一约束.此命令在此连接中提交一个打开的事务.

语法

以下是Alter表add constraint命令的通用语法.

ALTER TABLE [ IF EXISTS ] tableName ADD constraint [ CHECK | NOCHECK ]

示例

在这个例子中,让我们添加一个主键约束(tutorials_tbl_pk)到表 tutorials_tbl 的列id,使用以下查询.

ALTER TABLE tutorials_tbl ADD CONSTRAINT tutorials_tbl_pk PRIMARYKEY(id);

上述查询产生以下输出.

(6) row (s) effected

更改表重命名约束

此命令用于重命名特定的约束名称关系表.此命令在此连接中提交一个打开的事务.

语法

以下是Alter Table Rename Constraint命令的通用语法.

ALTER TABLE [ IF EXISTS ] tableName RENAME oldConstraintName TO newConstraintName

使用此语法时,确保旧约束名称应与相应列一起存在.

示例

在此示例中,我们将更改主键约束名称表 tutorials_tbl tutorials_tbl_pk tutorials_tbl_pk_constraint .以下是要执行此操作的查询.

ALTER TABLE tutorials_tbl RENAME CONSTRAINT tutorials_tbl_pk TO tutorials_tbl_pk_constraint;

以上查询产生以下输出.

(1) row (s) effected

更改表格更改列

此命令用于更改结构和属性特定表的列.更改属性意味着更改列的数据类型,重命名列,更改标识值或更改选择性.

语法

以下是Alter Table Alter Column命令的通用语法.

ALTER TABLE [ IF EXISTS ] tableName ALTER COLUMN columnName { { dataType [ DEFAULT expression ] [ [ NOT ] NULL ] [ AUTO_INCREMENT | IDENTITY ] } | { RENAME TO name } | { RESTART WITH long } | { SELECTIVITY int } | { SET DEFAULT expression } | { SET NULL } | { SET NOT NULL } }

在上面的语法 :

  • RESTART : 命令更改自动增量列的下一个值.

  • SELECTIVITY :  command设置列的选择性(1-100).根据选择性值,我们可以对列的值进行成像.

  • SET DEFAULT : 更改列的默认值.

  • SET NULL : 将列设置为允许NULL.

  • SET NOT NULL : 将列设置为允许NOT NULL.

示例

在此示例中,我们将重命名使用以下查询从标题 Tutorial_Title 的表 tutorials_tbl 的列.

ALTER TABLE tutorials_tbl ALTER COLUMN title RENAME TO tutorial_title;

上述查询产生以下输出.

(0) row(s) effected

以类似的方式,我们可以使用ALTER命令执行不同的场景.