网站建设.龙兵科技,开拼多多网店怎么运营,建设银行手机银行下载官方网站下载,google图片搜索引擎入口目录 一、数据库的约束 1.1 约束类型 1.1.1 null约束 1.1.2unique约束 1.1.3default默认值约束 1.1.4primary key主键约束 1.1.5foreign key外键约束 二、内容重点总结 一、数据库的约束
1.1 约束类型
not null - 指示某列不能存储 null值。unique - 保证某列的每行必须有唯一… 目录 一、数据库的约束 1.1 约束类型 1.1.1 null约束 1.1.2unique约束 1.1.3default默认值约束 1.1.4primary key主键约束 1.1.5foreign key外键约束 二、内容重点总结 一、数据库的约束
1.1 约束类型
not null - 指示某列不能存储 null值。unique - 保证某列的每行必须有唯一的值。default - 规定没有给列赋值时的默认值。primary key - not null 和 unique 的结合。确保某列或两个列多个列的结合有唯一标 识有助于更容易更快速地找到表中的一个特定的记录。foreign key - 保证一个表中的数据匹配另一个表中的值的参照完整性。
1.1.1 null约束
创建表时可以指定某列不为空 create table student ( id int not null, sn int, name varchar(20), email varchar(20) ); 当我们插入空值的时候会发生错误这就是null约束 1.1.2unique约束
指定列为唯一的、不重复的 --将student删除重新构造表结构 drop table student; create table student( id int not null, sn int unique, name varchar(20), email varchar(20) ); 插入一条数据在sn中插入一条重复的数据看看能否插入成功 这里发现不能插入重复值 这里发现虽然不能重复但是是可以为空值的 1.1.3default默认值约束
当插入数据的时候列为空的时候插入指定的默认值 -- 重新设置学生表结构drop table student;create table student ( id int not null, sn int unique, name varchar(20) default kown, email varchar(20) ); 下面进行插入看看姓名为空的一个效果发现当我的列为空的时候会插入自定义的值 1.1.4primary key主键约束
相当于unique和not null的结合不重复也不能为空 -- 重新设置学生表结构drop table student; create table student ( id int primary key, sn int unique, name varchar(20) default kown, email varchar(20) ); 插入数据查看效果当前表中有一条数据 当插入重复的数据之后发现直接就报错了说明不能插入重复的数据
同时当插入数据的时候id为空时就会报错所以说明不能为空
对于整数类型的主键常配搭自增长auto_increment来使用。插入数据对应字段不给值时使用最大值1 当插入值的时候并没有插入id的值 由于设置了自增长所以会有一个自增的值。 1.1.5foreign key外键约束
外键用于关联其他表的主键或唯一键语法 foreign key (字段名) references 主表(列) 案例
创建班级表classesid为主键 -- 创建班级表有使用MySQL关键字作为字段时需要使用来标识 create table classes ( id int primary key auto_increment, name varchar(20), desc varchar(100) --这个符号是数字esc下面的那个符号 ); 对班级表插入数据 创建学生表student一个学生对应一个班级一个班级对应多个学生。使用id为主键classes_id为外键关联班级表id -- 重新设置学生表结构create table student ( id int primary key auto_increment, sn int unique, classes_id int, name varchar(20) default unkown, foreign key(classes_id) references classes(id) --注意外键约束可以有多个 ); 由于学生表的classes_id是被班级表的id约束的所以插入的过程中如果插入班级表中没有的班级是会报错的但是班级表中含有的班级就不会。 当插入一个班级表中没有的数据的时候就会报错。
classes表对student有一个约束作用同时student对classes表也存在约束作用当要删除classes表时会发现删除不掉这里的显示意思就是说该表存在约束别人的条件不能进行删除 要删除classes表应该怎么办呢只能先删除student表 二、内容重点总结
约束类型说明示例NULL约束使用NOT NULL指定列不为 空name varchar(20) not null,UNIQUE唯一约束指定列为唯一的、不重复的name varchar(20) unique,DEFAULT默认值约 束指定列为空时的默认值age int default 20,主键约束NOT NULL 和 UNIQUE 的 结合id int primary key,外键约束关联其他表的主键或唯一键foreign key (字段名) references 主 表(列)