2016.9.26小结

关系型数据库是以表作为实体,以主键和外键的关联关系做为联系的数据结构

数据库中不能比较浮点类型的数据

delete会记录日志,意味着删除后的数据还可以恢复,但是效率低。
truncate不会记录日志,删除后的数据不能恢复但是效率高

为什么要保证数据库的完整性?为了防止垃圾数据的产生,从而影响数据库的执行效率
数据完整性的概念:可靠性和准确性

数据完整性的分类:
1、实体完整性。保证一行数据是有效的。表中的一行数据如果与它所代表的实体完全一致,则具备实体完整性。
保证每行所代表的实体能相互区别,不能存在两条一摸一样的记录。
实现方法:--主键约束。主键不能为空,也不能重复,一个表中只能有一个主键
-- 唯一约束。指定给列的所有值必须唯一,该列在表中每一行的值必须唯一。它和主键约束的唯一区别在于该列可以为空,并且可以在一张表中给多个列设置唯一约束
2、域完整性。保证一列数据是有效的
域完整性是指定列的输入有效性
实现方法:--非空约束:NOT NULL
--默认约束:Default
--检查约束:check(MySQL不支持)
3、引用完整性。保证引用的编号是有效的
什么叫引用完整性
--参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系。
--从表中出现的数据,必须在主表的主键列中出现。某列

外键是指从表的某列与主表的某列存在依附关系
外键约束是指在外键关联主键上强制加上一个约束,如果违反该约束则不允许该条数据的修改
4、用户自定义完整性。保证自定义规则

聚合函数的分类:
count:统计行的数量
sum:获取单个列的合计值
avg:计算某个列的平均值
max:计算列的最大值
min:计算列的最小值

分组后查询列中,只能出现分组字段和聚合函数

由于分完组之后才能对分组的结果做统计,所以在where后面不能跟聚合函数
如果想要在分完组后,对分组的结果进行数据筛选。那么应该用having,having是对分组结果做数据筛选所以只能跟聚合函数

SQL执行顺序
第一步:执行from
第二步:where条件过滤
第三步:group by 分组
第四步:执行select投影列
第五步:having条件过滤
第六步:执行order by排序

having 和 where 区别:二者都是过滤条件,where运行在分组之前,因此不能执行任何聚合函数。having是运行在分组后,只能用做聚合函数的过滤。

时间: 2024-10-12 03:24:39

2016.9.26小结的相关文章

Murano Weekly Meeting 2016.07.26

Meeting time: 2016.July.26 1:00~2:00 Chairperson:  Nikolay_St, from Mirantis Meeting summary: 1.Mascot mascot candidates: * muraena 海鳝 * orca 逆戟鲸 * winged lion 有翼的狮子 * racoon 浣熊 * glasscrab 龙虾 * other stuff 其他东西 Link:  https://etherpad.openstack.org/

http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/

转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片加载几乎是任何 Android 项目中必备的需求,而图片加载的开源库也越来越多,我们姑且在 GitHub 上搜索下 android image 关键字,出来的前五个按照 Star 数排序的项目如下: 可以看到前四个是大家比较熟知的图片加载库,有 UniversalImageLoader.Picass

2016.1.26 进制转换

2016.1.26 二进制 1:二进制转8进制(3位为一组) (11001111.01111)2=(11 001 111.011 110)2=(317.36)8 1*21+1*20=3  1*20=1  1*22+1*21+1*20=7  1*21+1*20=3  1*22+1*21=6 2:二进制转10进制 (10110)2=(22)10 1*24+1*22+1*21=22 3:二进制转16进制(4位为一组) (11010110)2=(D6)16 1101=1*23+1*22+1*20=13=

2016.10.28小结

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"> <head> <met

2016.9.26小程序---数据库小练习1

1 -- createbbc, 1, 50 2 DROP TABLE bbc; 3 4 CREATE INDEX bbc_region ON bbc(region); 5 6 7 -- tabbbc, 1, 50 8 INSERT INTO bbc VALUES ('Afghanistan','South Asia',652225,26000000,NULL); 9 INSERT INTO bbc VALUES ('Albania','Europe',28728,3200000,66560000

2016 11 26

1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Generator" content="EditPlus?"> 6 <meta name="Author" content=""> 7 <me

2016/3/26 连接数据库 网页中数据的增删改 add delete update addchuli updateChuLi test8 DBDA

主页面 test8.php 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <table width=100% border="1" cellpadding=&

2016/3/26 weixin 头像 昵称 网页优化显示 缺表中数据 只有代码 无显示效果

weixin.php 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 * 8 { /*清格式*/ 9 margin:0px auto; /*auto自动居中*/ 1

2016.9.26小程序---数据库练习2

1 -- createnobel, 1, 50 2 DROP TABLE nobel; 3 CREATE TABLE nobel( 4 yr INT -- 年份 5 ,SUBJECT VARCHAR(15) -- 奖项 6 ,winner VARCHAR(50) -- 获奖者 7 )DEFAULT CHARSET=utf8; 8 9 GO 10 -- tabnobel, 1, 50 11 INSERT INTO nobel VALUES (1901,'Chemistry','Jacobus H.