数据库版本:KingbaseES V008R006C008B0014
文章目录如下
1. alter的作用
alter 翻译为 "改变",在数据库中属于DDL语句,用于对已存在的表、列或约束进行更改,例如:
- 添加列:向现有的表中添加新列。
- 修改列:修改现有列的数据类型或约束条件。
- 删除列:删除现有的列。
- 添加约束:添加主键、外键或其他约束。
- 删除约束:删除现有的约束。
2. alter的用法
2.1. 处理表
修改表名
ALTER TABLE
表名
RENAME TO
新表名;
修改该表的拥有者
ALTER TABLE
表名
OWNER TO
新所有者;
2.2. 处理列
修改列名
ALTER TABLE
表名
RENAME COLUMN
列名
TO
新列名;
添加列
ALTER TABLE
表名
ADD COLUMN
列名 数据类型;
删除列
ALTER TABLE
表名
DROP COLUMN
列名;
修改列数据类型、规则
ALTER TABLE
表名
ALTER COLUMN
列名
TYPE
新数据类型;
2.3. 处理主键
添加主键
ALTER TABLE
表名
ADD CONSTRAINT
主键名
PRIMARY KEY (列名列表);
删除主键
ALTER TABLE
表名
DROP CONSTRAINT
主键名;
2.4. 处理外键
添加外键
ALTER TABLE
子表名
ADD CONSTRAINT
外键名
FOREIGN KEY
(当前子表列名)
REFERENCES
父表名 (列名);
删除外键(先删子表,再删主表)
ALTER TABLE
表名
DROP CONSTRAINT
外键名;
2.5. 处理索引
修改索引
ALTER INDEX
索引名
RENAME TO
新索引名;
禁用索引(仅支持用于表达式索引的禁用操作)
ALTER INDEX 索引名 DISABLE;
启用索引(仅支持用于表达式索引的启用操作)
ALTER INDEX 索引名 ENABLE;
2.6. 处理默认值
修改(新增)默认值
ALTER TABLE
表名
ALTER COLUMN
列名
SET DEFAULT
默认值;
删除默认值
ALTER TABLE
表名
ALTER COLUMN
列名
DROP DEFAULT;
2.7. 处理约束
添加唯一约束
ALTER TABLE
表名
ADD CONSTRAINT
约束名
UNIQUE
(列名列表);
添加检查约束
ALTER TABLE
表名
ADD CONSTRAINT
约束名
CHECK
(检查条件); --例如:id<10
添加非空约束
ALTER TABLE
表名
ALTER COLUMN
列名
SET NOT NULL;
删除约束
--删除约束名,比如主键、唯一、检查等
ALTER TABLE
表名
DROP CONSTRAINT
约束名;
--删除非空约束
ALTER TABLE
表名
ALTER COLUMN
列名
DROP NOT NULL;
文章评论