数据库

来源:互联网 发布:人工智能三个阶段 编辑:程序博客网 时间:2024/06/05 16:27
关系型数据库:是以表作为实体,以主键和外键的关联关系作为联系的数据库结构
删除数据:
1、使用delete删除:不加where条件的delete语句就能删除所有数据;
2、使用truncate语句:直接删除表中的数据,标准结构;
为什么要保证数据库完整性?
为了防止垃圾数据的产生,从而影响数据库的执行效率!!!
数据完整性的概念:
数据完整性=可靠性+准确性
数据完整性的分类:
1、实体完整性:保证一行数据是有效的
2、域完整性:保证一列数据是有效的
3、引用完整性:保证引用的编号是有效的
3、用户自定义完整性:保证自定义规则
实体完整性:
1、为什么要保证实体完整性?
保证每行所代表的实体能互相区别,不能存在两条一模一样的记录
2、什么是实体完整性?
表中的一行数据如果与它所代表的实体完全一致,则具备实体完整性
3、实现方法:
-主键约束:主键(Primary Key)是表中的一到多个列,主键列不能为空,也不能重复。
一个表中只能有一个主键
-唯一约束:(Unique)唯一约束是指给定列的所有值必须唯一,该列在表中每一行的值必须唯一。
它和主键约束的区别在于该列可以为空,并且可以在一张表中给多个列设置唯一约束
域完整性:
为什么要域完整性:
保证指定列的数据的有效性
什么叫域完整性?
域完整性是指定列的输入有效性
实现方法:
-非空约束:Not Null
-默认约束:Default
-检查约束:Check(MySQL不支持)
引用完整性——外键约束:
什么叫引用完整性:
-参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系。
-从表外键中出现的数据,必须在主表的主键列中出现
外键与外键约束:
-外键是指从表的某列与主表的某列存在依附关系,
-外键约束是指在外键关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的更改。
注意:没有建立外键约束不等于没有外键
使用集合函数进行统计汇总:
集合函数的分类:
count:统计行数量
sum:获取单个列的合计值
AVG:计算某个列的平均值
MAX:计算列的最大值
MIN:计算列的最小值
SQL执行顺序:
1、第一步:执行FROM
2、第二步:WHERE 条件过滤
3、第三步:GROUP BY分组
4、第四步:执行SELECT投影列
5、第五步:HAVING条件过滤
6、第六步:执行ORDER BY 排序
数据分组:
HAVING和WHERE区别:
二者都是过滤条件,WHERE运行在分组前,因此部能执行任何聚合函数。
HAVING是运行在分组后,只能用做聚合函数的过滤。


当进行子查询时,如果子查询返回当行单列,可以使用=、>、<
如果子查询返回多行单列,只能使用in或not in


内链接:查询两个表中,有对应记录的数据。
select  查询列  from  主表  join  从表   on   主表主键=从表外键
select  查询列  from  主表,从表   where  主表主键=从表外键


外连接:在查询结果中,包含一个表中的所有记录
select    查询列  from   主表   left  join  从表    on   主表主键=从表外键
0 0