MySQL完整性约束

来源:互联网 发布:梦里花落知多少的含义 编辑:程序博客网 时间:2024/06/07 05:31

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外键约束

0 0