MySQL完整性约束

MySQL完整性约束学习

create database adrui;

show databases;

use adrui;
/**not null : 非空约束, 插入数据该字段不能为空*/
/**primary key : 主键约束(主键约束相当于非空约束 && 唯一约束, )*/
/**auto_increment是MySQL扩展的字段值自加的约束,约束字段数据类型必须是整数(默认从1开始加, 或者从第一条记录该字段的值开始自加)*/
/**default : 设置默认值的约束*/
create table tmp(

    v int not null,
    ID int primary key auto_increment,
    sex varchar(7) default 'man'

); 
/**foreign key : 外键约束, 字表中的某一记录和父表的参照关系*/
/**
(1)从表中的外键值必须在主表中存在
(2)从表中的外键类型一定要和参照键(主表中的主键)类型一致,若为数#字,则要完全一致;若为字符,字符个数可以不一致。*/
create table employ(
    empno int primary key,
    ID int,
    constraint fk_ID foreign key(ID) references tmp(ID);
);

desc tmp;
desc employ;
/**父表*/
insert into tmp(v) values(3, 1);
insert into tmp(v, sex) values(3, 'woman');
/**字表:带有外键约束的数据插入*/
insert into employ(empno, ID) values(1, 1);
insert into employ(empno, ID) values(2, 2);

select * from tmp;


alter table tmp drop v;

desc tmp;

alter table tmp modify sex varchar(8);

desc tmp;

/*drop table tmp;*/

drop database adrui;

show databases;


unique : 唯一约束, 字面意思
转一篇外键约束的文章 : mysql外键约束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值