- H2数据库教程
- H2数据库-首页
- H2 数据库 - 简介
- H2 数据库 - 安装
- H2 数据库 - 数据操作
- H2 数据库 - 选择
- H2 数据库 - 插入
- H2 数据库 - 更新
- H2 数据库 - 删除
- H2 数据库 - 备份
- H2 数据库 - 调用
- H2 数据库 - 解释
- H2 数据库 - 合并
- H2 数据库 - 显示
- H2数据库-数据定义
- H2 数据库 - 创建
- H2 数据库 - 更改
- H2 数据库 - 掉落
- H2 数据库 - 截断
- H2 数据库 - 提交
- H2 数据库 - 格兰特
- H2 数据库 - 保存点
- H2数据库-回滚
- H2 数据库 - JDBC 连接
- H2 数据库有用资源
- H2 数据库 - 快速指南
- H2 数据库 - 有用的资源
- H2 数据库 - 讨论
H2 数据库 - 更改
ALTER 是一个用于通过在alter命令中添加不同子句来更改表结构的命令。根据场景,我们需要在alter命令中添加相应的子句。在本章中,我们将讨论 alter 命令的各种场景。
修改表添加
Alter Table Add 是用于向表添加新列以及相应数据类型的命令。该命令提交此连接中的事务。
句法
以下是 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是一个命令,用于给表添加不同的约束,如主键、外键、not null等。
如果所需的索引尚不存在,则会自动创建。无法禁用对唯一约束的检查。该命令在此连接中提交一个打开的事务。
句法
以下是 Alter table 添加约束命令的通用语法。
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 命令执行不同的场景。