H2数据库 - Alter语句

H2数据库 - Alter语句 首页 / 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 } [,...] ) }

在此示例中,无涯教程将在表 Learnfk_tbl 中添加新列 start_date , start_date的数据类型为Date。

ALTER TABLE Learnfk_tbl ADD start_date DATE;

上面的查询产生以下输出。

(6) rows effected 

Alter Table Add 约束

更改表添加约束是用于向表添加不同约束(例如主键,外键,not null等)的命令,如果所需的索引尚不存在,则会自动创建它们无法禁用唯一约束检查​​。

以下是"Alter Table add Constraint"命令的通用语法。

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

在此示例中,让无涯教程使用以下查询将主键约束(Learnfk_tbl_pk)添加到表 Learnfk_tbl 的列ID中。

ALTER TABLE Learnfk_tbl ADD CONSTRAINT Learnfk_tbl_pk PRIMARYKEY(id); 

上面的查询产生以下输出。

(6) row (s) effected

Alter Table Rename 约束

此命令用于重命名特定关系表的约束名称。

无涯教程网

ALTER TABLE [ IF EXISTS ] tableName RENAME oldConstraintName TO newConstraintName

在此示例中,无涯教程将表 Learnfk_tbl 的主键约束名称从 Learnfk_tbl_pk 更改为 Learnfk_tbl_pk_constraint 。以下是这样做的查询。

ALTER TABLE Learnfk_tbl RENAME CONSTRAINT 
Learnfk_tbl_pk TO Learnfk_tbl_pk_constraint;

上面的查询产生以下输出。

(1) row (s) effected 

Alter Table Alter 约束

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

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 } } 

在上面的语法中-

链接:https://www.learnfk.comhttps://www.learnfk.com/h2/h2-database-alter.html

来源:LearnFk无涯教程网

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

  • SELECTIVITY                       - 命令设置列的选择性(1-100)。

  • SET DEFAULT expression  - 更改列的默认值。

  • SET NULL                               - 将列设置为允许NULL。

  • SET NOT NULL                     - 将列设置为允许NOT NULL。

在此示例中,无涯教程将使用以下查询将表 Learnfk_tbl 的列从 Title 重命名为 Tutorial_Title 。

ALTER TABLE Learnfk_tbl ALTER COLUMN title RENAME TO tutorial_title; 

上面的查询产生以下输出。

(0) row(s) effected 

以类似的方式,无涯教程可以使用ALTER命令执行不同的场景。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

从0开始学微服务 -〔胡忠想〕

10x程序员工作法 -〔郑晔〕

现代C++编程实战 -〔吴咏炜〕

人人都能学会的编程入门课 -〔胡光〕

视觉笔记入门课 -〔高伟〕

容器实战高手课 -〔李程远〕

技术领导力实战笔记 2022 -〔TGO 鲲鹏会〕

AI绘画核心技术与实战 -〔南柯〕

好记忆不如烂笔头。留下您的足迹吧 :)