Sql增加,删除,修改列及修改约束

1. 查看约束条件

- MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book';
- Oracle: SELECT * where table_name = '表名';
2. 使约束生效和失效
- Oracle

使约束条件失效:
ALTER TABLE 表名 DISABLE CONSTRANT 约束名;
使约束条件生效:
ALTER TABLE 表名 ENABLE CONSTRANT 约束名;
- MySQL
3. 修改列的约束条件

- 删除主键:alter table 表名 drop primary key;
- 删除非空约束:alter table 表名 modify    字段名     null;
- 删除外键:alter table 表名 drop foreign key fk_name;
- 删除唯一键:alter table 表名 drop index index_name;
- 添加表、列级约束:alter table 表名 modify (column) 字段名 字段类型 新约束
- 添加表级约束: alter table 表名 add [constraint 约束名] 约束类型(字段名) [外键的引用]

3. 修改表结构

- 增加新列

- Oracle:

ALTER TABLE 表名 ADD 列名 数据类型[DEFAULT 表达式][COLUMN CONSTRAINT];
如果要为表同时增加多列,可以按以下格式进行:
ALTER TABLE 表名 ADD (列名 数据类型[DEFAULT 表达式][COLUMN CONSTRAINT]...);
- MySQL:

ALTER TABLE 表名 add 字段名称 类型(int,char,VARCHAR...) (约束)
- 修改列

修改列的属性
- ALTER TABLE table_name MODIFY 字段名称 类型定义 (约束) ;
修改列(可以修改列的名称)
- ALTER TABLE users2 CAHNGE 列名 新列名 类型定义 约束;

- 删除列
- Mysql: ALTER TABLE table_name DROP column_name;
- Oracle: ALTER TABLE 表名 DROP COLUMN 列名[CASCADE CONSTRAINTS];

posted @   菜鸟额  阅读(6021)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示