首页 > 其他 > 详细

2016.3.23(保证数据完整性,使用DML语句更改数据)

时间:2016-03-23 23:37:20      阅读:230      评论:0      收藏:0      [点我收藏+]

为什么要保证数据完整性?

为了防止垃圾数据的产生,从而影响数据库的执行效率,所以要保证数据库完整性。


数据库完整型的概念是什么?

可靠性+准确性 = 数据完整性。


数据完整性的分类

实体完整性:保证一行数据是有效的

域完整性:保证一列数据是有效的

引用完整性:保证引用的编号是有效的

用户自定义完整性:保证自定义规则


为什么要保证实体完整性?

保证每行所代表的实体能互相区别,不能存在两条一模一样的记录


什么是实体完整性?

表中的一行数据如果与它代表的实体体完全一致,则具备实体完整性。


实体完整性的实现方法:

主键约束:主键约束是表中的一到多个列,主键列不能为空,也不能重复,一个表中只能有一主键。(主键约束包括唯一约束和非空约束)

唯一约束(Unique):唯一是指给定列的所有值必须唯一,该列在表中的每一行的值必须唯一,他和主键约束的区别在于该列可以为空,
并且可以再一张表中给多个列设置唯一约束。


设置主键约束

设置主键约束可以再穿件表时指定

create table 表名(

列名 数据类型 primary key ——指定主键约束);

或者 create table 表名(

列名 数据类型,
primary key(列名));


域完整性是指定列的输入有效性

实现方法:非空约束 not null
默认约束 default
检查约束 check (mySQL不支持)


引用完整性——外键约束

外键与外键约束二者是不用的概念
外键是指从表的某列与主表某列存在依附关系
外键约束是指在关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改
注意:没有建立外键约束不等于没有外键

Constraint foreign key (外键列名) reference 主表名(列名):映射到主键的列


自定义完整性

在mySQL数据库中,提供一种自动为类产生数值的机制,这种自动产生之的字段通常与主键的约束一起配合使用

mySQL使用 auto_increment 来实现列的自增长(只能用于主键上)
mySQL中,自增长序号是从1开始,每次递增1,也可以通过下面的代码设置起始序号


使用DML语句更改数据

添加数据--插入单行数据

想表中添加数据的SQL语句是insert

insert into 表名(列名)values (值)

在下面几种情况下可以省略某些列:(指定列的情况下)

1,列值有rdbms自动创建,如自增长。
2,创建列时设定了默认值,如果不提供值,则有rdbms自动创建
3,如果列被设置为允许空值,那么不输入值不影响数据库的完整性。

插入多行记录

insert into 表名(列名列表) select 列名 from 表名-- 添加表名1的列名值到表名
insert into 表名(列名列表) select * from 表名 -- 添加所有表2的值到表名

更改已有数据

update 表名 set 新列值列表 where 过滤条件
update 表名 set 新列值列表 列1 = 新值,列2 = 新值 where 过滤条件

删除已有数据

delete from 表名 where 过滤条件

使用truncate table 语句可以彻底删除表中数据。

truncate table 表名

2016.3.23(保证数据完整性,使用DML语句更改数据)

原文:http://www.cnblogs.com/CMCM/p/5313683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!