MYSQL——约束

mysql之 约束

一切笔记学习皆来自黑马学习的。。勿喷

  • 概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性

  • 分类:
    1. 主键约束:primary key
    2. 非空约束:not null
    3. 唯一约束:unique
    4. 外键约束:foreign key

  • 非空约束 :not null,值不能为null
    创建表时添加约束

例子

create table stu(
	id int,
	name varchar(20) not null -- name为非空
);

此时name值不能为空,为空添加数据会报错
删除name的非空约束

-- 删除name的非空约束(其实就是修改表结构)
ALTER TABLE stu MODIFY NAME VARCHAR(20);

修改表结构后,name值可为空,因为没有约束了

创建表结束后,添加非空约束

ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
  • 唯一约束: unique,值不能重复
    创建表时添加唯一约束
create table stu(
	id int ,
	phone_number varchar(20) unique -- 添加了唯一约束
);

添加唯一约束后,唯一约束中的内容不可重复
注:值可为空------唯一约束限定的列的值可以有多个null

  • 删除唯一约束
ALTER TABLE stu DROP INDEX phone_number;
  • 创建表后,添加唯一约束
ALTER TABLE stu DROP INDEX phone_number varchar(20) UNIQUES;
  • 主键约束 :primary key
    1. 注意:
      1. 含义:非空切唯一
      2. 一张表只能有一个字段为主键
      3. 主键就是表中记录的唯一标识
    2. 在创建表时,添加主键约束
    create table stu(
    id int primary key, -- 给id添加主键约束
    name varchar(20)
    );
    

删除主键

	alter table stu drop primary key;

表创建完后,添加主键

alter table stu modify id int primary key;
  • 自动增长:
    概念:如果某一列是数值类型的,使用auto_increment 可以来完成值的自动增长
create table stu(
	id int auto_increment, --给id添加主键约束
	name varchar(20)
);
  • 删除自增长
alter table stu modify id int ;
  • 添加自动增长
alter table stu modify id int auto_increment;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值