H2 数据库

您所在的位置:网站首页 数据库如何修改表的属性名称 H2 数据库

H2 数据库

2024-07-03 04:10| 来源: 网络整理| 查看: 265

H2 数据库 – 更改

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

更改表添加

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

句法

以下是“更改表添加”命令的通用语法。

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 [ 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 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3