采集站seo赚钱辅导班,淘宝网页版看直播,江阴外贸公司排名,余杭门户网站1.1 为什么需要约束 数据完整性#xff08;Data Integrity#xff09;是指数据的精确性#xff08;Accuracy#xff09;和可靠性#xff08;Reliability#xff09;。它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的…1.1 为什么需要约束 数据完整性Data Integrity是指数据的精确性Accuracy和可靠性Reliability。它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 为了保证数据的完整性SQL规范以约束的方式对表数据进行额外的条件限制。
1.2 什么是约束 约束是表级的强制规定。 可以在创建表时规定约束通过 CREATE TABLE 语句或者在表创建之后通过 ALTER TABLE 语句规定 约束。
1.3 约束的分类 根据约束数据列的限制约束可分为
单列约束每个约束只约束一列 {今天先介绍单列约束}、
2. NOT NULL 非空约束限定某个字段列)的值不允许为空
2.1特点
默认所有的类型的值都可以是NULL包括INT、FLOAT等数据类型
非空约束只能出现在表对象的列上只能某个列单独限定非空不能组合非空
一个表可以有很多列都分别限定了非空
空字符串不等于NULL0也不等于NULL
2.2 添加非空约束: 1建表时 CREATE TABLE test1( id INT NOT NULL, last_name VARCHAR(15) NOT NULL , email VARCHAR(25), salary DECIMAL (10,2) ) 测试 给不允许非空的内容 id 插入null 值 -- 错误提示Column id cannot be null # id 列不能为空 INSERT INTO test1 (id,last_name,email,salary) VALUES(NULL,qiaodan,Jordan126.com,3400); 2.3 修改表结构
修改表结构方法修改列的约束和删除列的约束是一致的。
alter table 表名称 modify 字段名 数据类型 not / not null ALTER TABLE test1 # 修改就是删除 删除就是修改将非空 not null 改为 null 是不是等于删除了not null MODIFY id int NULL 将字段 id非空约束 删除掉设置为允许为空 not 在前面测试阶段 给不允许非空的内容 id 插入null 值不是不能成功吗因为当时 id 的约束是 not null 不能是空值 现在修改为了空值 not 应该可以修改成功了吧。 INSERT INTO test1 (id,last_name,email,salary) VALUES(NULL,qiaodan,Jordan126.com,3400); 总结
在数据库 约束的NULL 值不等于 0 也不是 “ ”
空字符串“ ”的长度是0是不占用空间的而的NULL的长度为NULL其实它是占用空间的
你设置了那个字段的约束为 null 你在插入时你插入的是null 值而不是空字符串 空字符串不占用空间而null占用5个字节空间因为还有一个字节空间用来记录 这个字段是否为null 值