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 } }
在上面的语法中-
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命令执行不同的场景。