约束

本文详细介绍了SQL中的各种约束,包括主键、外键、非空、默认值、唯一及自增约束,并提供了具体的修改和删除方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#############
###约束
#############

-- PK: primary key主键约束
-- NN: Not Null 非空约束 
-- UQ: unique   唯一约束 
-- BIN: 二进制存储 
-- UN:  unsigned 表示整数 
-- ZF:  zero fill数值中空白区域以0填补
-- AI:  auto increment自增约束 
-- Default:  默认值约束 

###########1.主键约束 
-- 修改主键 :删除元哟偶主键--添加新的主键 
alter table student
change column id id int(11) null, -- 先修改涉及的两个列的数据类型 
change column name name varchar(45) not null,
drop primary key,  -- 去掉原来的id主键
add primary key (name); -- 增加name为主键 

############2.外键约束 (连接两个表)
-- innoDB类型的表才支持外键 外键必须建立约束 
-- 待定没怎么看懂 

############3.非空约束
-- 修改非空约束 (与字段类型的修改方法一样)
alter table student
change column id id varchar(45) not null;

#############4.默认值约束 
-- 修改 
alter table student
change column id id varchar(45) not null default 0;
-- 删除
alter table student
change column id id varchar(45) not null;


#############5.唯一约束 
-- 设置唯一约束 
alter table student
add unique index name_unique (name asc);
-- 取消唯一约束 
alter table student
drop  index name_unique ;

##############6.自增约束 
-- auto_increment 数据列的属性 自适用于整数类型数据列 + unsigned + not null
-- auto_increment 数据列必须有唯一约束 

-- 为字段增加自增约束要用modify!!!!
alter table student 
modify column id int not null auto_increment;
-- 约束的初始值 
alter table student auto_increment = 7; -- 没有写列名 直接表名就行 

-- 修改偏移量 
alter table student auto_increment =10;
set session auto_increment_increment =2; -- 修改自增量
set session auto_increment_offset =2;    -- 修改自增偏移量 (step)

-- 删除自增约束 
alter table student change column id id int(11) not null;
###注意:增加约束与删除自增约束一个是modify一个是change 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值