Mysql约束

约束管理方案

 1.定义: 管理字段下内容,确保字段下内容都是合法内容

 2.分类:
      1) 非空约束
     2) 唯一性约束
     3) 主键约束
     4) 外键约束
     5) 自定义约束

3.非空约束

      1) 作用:确保字段下内容不会出现null值

     2) 例子:
               CREATE TABLE Student(
	          sid int,#学号
	          sname varchar(50)  not null #学员姓名
	       )

	       insert into Student(sid,sname)
	       values(10,"mike");#ok

	       insert into Student(sid,sname)
	       values(null,"allen");#ok

	        insert into Student(sid,sname)
	       values(30,null);# Column '字段名' cannot be null

4.唯一性约束:

       1)作用: 要求被管理的字段下内容不能出现重复内容。但是可以
           出现多个NULL值

       2) 例子:
              CREATE TABLE Student(
	          sid int,#学号
	          sname varchar(50)  not null, #学员姓名
		  email varchar(50)  unique
	       ) 

                   insert into Student(sid,sname,email)
	       values(10,"mike",'mike@163.com');#ok

	       insert into Student(sid,sname,email)
	       values(20,"allen",'mike@163.com');# Duplicate entry '值' for key '字段名'

	       insert into Student(sid,sname,email)
	       values(30,"tom",null);#ok

	         insert into Student(sid,sname,email)
	       values(40,"jones",null);#ok

5.主键约束:

     1)作用:管理主键字段,要求主键字段内容不能存在NULL值同时
          要求主键字段内容不能出现重复值
          
     2)例子:

           CREATE TABLE Student(
	          sid int primary key,#学号
	          sname varchar(50)  not null, #学员姓名
		  email varchar(50)  unique
	       ) 

                  insert into Student(sid,sname,email)
	       values(10,"mike",'mike@163.com');#ok

	       insert into Student(sid,sname,email)
	       values(null,"allen",'allen@163.com');#error

	       insert into Student(sid,sname,email)
	       values(10,"smith",'smith@163.com');#error

6.外键约束:
1)作用: 外键约束管理多方表中外键字段。要求外键字段内容
只能来自于一方表主键字段下已经存在的值,但是允许
多方表外键字段存在多个NULL值

     2) 命令:

             alter table 多方表 add constraint 约束实例对象名 
	 foreign key(多方表外键字段)
	 references  一方表(一方表主键字段)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值