超简单!!——MySQL中添加、修改、删除约束

转自: https://blog.youkuaiyun.com/dreamsunday/article/details/22934009

ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

· 查看列:desc 表名;

· 修改表名:alter table t_book rename to bbb;

· 添加列:alter table 表名 add column 列名 varchar(30);

· 删除列:alter table 表名 drop column 列名;

· 修改列名MySQL: alter table bbb change nnnnn hh int;

· 修改列名SQLServer:exec sp_rename’t_student.name’,’nn’,’column’;

· 修改列名Oracle:lter table bbb rename column nnnnn to hh int;

· 修改列属性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列

· 查看表的字段信息:desc 表名;

· 查看表的所有信息:show create table 表名;

· 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);

· 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

· 删除主键约束:alter table 表名 drop primary key;

· 删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);

· 修改表名:alter table t_book rename to bbb;

· 添加列:alter table 表名 add column 列名 varchar(30);

· 删除列:alter table 表名 drop column 列名;

· 修改列名MySQL: alter table bbb change nnnnn hh int;

· 修改列名SQLServer:exec sp_rename’t_student.name’,’nn’,’column’;

· 修改列名Oracle:alter table bbb rename column nnnnn to hh int;

· 修改列属性:alter table t_book modify name varchar(22);

==主键约束==

create table member5(

id int(11),

username varchar(32) not null,

age int(11) ,

birthday date ,

email varchar(32) unique,

constraint pk_id primary key (id),

constraint ck_age check (age between 0 and 150)

);
这里写图片描述

==外键约束==

create table book(

id int(11),

bookname varchar(32) not null,

mid int(11),

constraint fk_mid foreign key(mid) references member(id)

)
这里写图片描述

==修改约束==

alter table book drop primary key;

alter table book drop foreign key fk_book ;

alter table book add constraint pk_book primary key (id);

alter table book add constraint fk_book foreign key (mid) references member(id);
这里写图片描述

### 如何在 Navicat 中为 MySQL 添加管理方面,Navicat 提供了图形化界面以及 SQL 语句两种方式来实现的创建。以下是具体的操作说明: #### 图形化界面操作 通过 Navicat 的图形化界面可以方便地设置约束。以 `t_blog` 和 `t_blogType` 为例,假设需要将 `t_blog.typeID` 设置为并关联到 `t_blogType.id`。 1. **打开设计视图** 在 Navicat 中右点击目标(如 `t_blog`),选择“设计”。这将进入的设计模式[^4]。 2. **访问配置选项** 在设计器窗口中找到“”标签页,通常位于底部或右侧工具栏。点击该标签页即可查看当前已有的,并允许新增定义。 3. **填写参数** 新增一条记录用于描述新的关系: - **名**: 此处可留空,系统会在保存时自动生成唯一名称。 - **栏位**: 填写要设为的目标字段,即 `typeID`。 - **参考数据库**: 如果涉及跨库,则需指定;否则默认本数据库。 - **参考**: 输入被参照的主名称,此处应填入 `t_blogType`。 - **参考栏位**: 被参照的具体字段,对应于上述例子中的 `id` 字段。 - **删除时**: 定义当主数据被删除时的行为。例如可以选择 `SET NULL` 或其他策略。 - **更新时**: 设定主数据更改后的响应动作,比如采用 `CASCADE` 实现同步修改。 完成以上步骤后确认提交变更即可生效。 #### 使用 SQL 语句手动添加 对于熟悉 SQL 编程的人来说,也可以直接运行命令行脚本来达成相同目的。下面给出一段标准语法作为示范: ```sql ALTER TABLE t_blog ADD CONSTRAINT fk_tblog_type FOREIGN KEY (typeID) REFERENCES t_blogType(id) ON DELETE SET NULL ON UPDATE CASCADE; ``` 此条指令的作用在于向现有格 `t_blog` 添加一个新的名为 `fk_tblog_type` 的限制条件,它绑定的是本地域内的另一个对象——`t_blogType` 里的 `id` 列[^1]^。 需要注意存储引擎的选择会影响能否正常使用这些功能。只有基于 InnoDB 构建的数据集才全面兼容此类复杂的引用完整性机制[^2]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值