H2教程

H2 ALTER

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

更改表添加

Alter Table Add 是一个命令,用于向表中添加新列以及相应的数据类型。此命令提交此连接中的事务。

语法

以下是更改表添加命令的通用语法。
ALTER TABLE [ if EXISTS ] tableName ADD [ COLUMN ] 
{ [ if NOT EXISTS ] columnDefinition [ { BEFORE | AFTER } columnName ] 
   | ( { columnDefinition } [,...] ) }

示例

在此示例中,我们将向表 tutorials_tbl 添加一个新列 start_date。 start_date 的数据类型是日期。以下是添加新列的查询。
ALTER TABLE tutorials_tbl ADD start_date DATE;
上述查询产生以下输出。
(6) rows effected 

更改表添加约束

Alter table 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 [ 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-命令设置列的选择性 (1-100)。根据选择性值,我们可以对列的值进行映像。 SET DEFAULT-更改列的默认值。 SET NULL-将列设置为允许 NULL。 SET NOT NULL-将列设置为允许 NOT NULL。

示例

在此示例中,我们将使用以下查询将表 tutorials_tbl 的列从 Title 重命名为 Tutorial_Title
ALTER TABLE tutorials_tbl ALTER COLUMN title RENAME TO tutorial_title; 
上述查询产生以下输出。
(0) row(s) effected 
以类似的方式,我们可以使用 ALTER 命令执行不同的场景。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4