sql server书的总结

分为两个部分
第一个:提供了用于理解数据库和SQL语言的基础知识
必要的数据库理论
编写SQL代码
优秀的数据库设计
创建数据库
使用SQL语句输入,更新和删除数据
使用SQL语句提取数据
第二部分
高级数据库设计,介绍标准化方面的理论和实际应用以及如何提高数据库的效率和可靠性
利用sql的内嵌数据操作和计算函数来使用和操作数据
从多个不同表中选择数据
数据库的安全
数据库的优化
SQL语法:

三个术语:标示符,字面值,关键字
创建数据库
两种方法:rdbms的前端界面
数据类型
多种不同的数据类型是为了更好的储存,同样不同的数据类型,处理方法也不一样。列如:char varchar
创建表和更改,删除表
创建表语句
需要命名和定义表,和里面的数据类型
更改表:
更改语句alter table
删除表
drop table语句
            
优秀的数据库设计:
一:获得分析数据需求:搞清楚为什么要建这个数据库里面要有什么
二:逻辑的划分数据:什么逻辑最合适,没有数据冗余
三:选择正确的数据类型
四:使用主键:一个储存唯一值的列
sql语句是以分号默认为结束语句的所以在写的过程中一定要注意,当然你也可以改
                                     第二章
插入新数据
insert into语句
更新数据
update 利用where语句来指明需要更新哪些记录
where子句
逻辑运算符and 和or 在一个where语句中测试多个条件
删除数据
即delete语句 可以在其中插入 where子语句,为了指定具体删除哪个

                                     第三章
提取信息
select语句 :在什么地方提取数据
如果想返回所有的列 快速语句 符号* 当然用sql语句将所有的字段名写下也可以
如果想返回某列 即 唯一列表用到了特定的语句 【distinct】
逻辑运算符和运算符优先级:
在sql中的对于数据的处理来说都会有优先级就像查询顺序一样,先查什么在查什么
而逻辑符就相当于一个条件其中在sql书中提供了一些运算符号:
between运算符相当于大于等于,小于等于,不同的是between是包含的,两个极限
书中也提供了很多运算符,这里就不一一例举了
利用order by 类似改变排序结果位于语句末尾
ms access 中使用括号括起内部联合
sql是基于集合的
没有特定值得字段实际上具有null值
null表示未知其中null也表示一个值,但这个值未知,他与什么都没有有差别
同样为了 检查null值,可以使用 is null符来操作
总的来说sql提供select查询语句,where语句指明条件
逻辑操作符等
表的顺序
表的连接
                                第四章
标准化:一二三范式第一范式:确保没有重复的数据组,有一个主键,定义所需要的数据组
第二范式:要求每个表都具有一个主键
第三范式:符合第二范式,所有非主键字段都依赖与主键
约束性:not null ,unique ,check 约束 利用约束性来规范数据有效性
主键和primary key 约束
利用索引加速结果查询:create index创建索引语句
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。
一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。
主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
                  第五章操作数据
sql算术 在算术中也分优先级
本章中列举了四种基本函数
舍入函数
ceiling函数,删除小数点后面所有的值,并向上舍入到最大整数
floor函数与上面相反
round函数
字符串函数
substring函数是获得字符串其中一部分
大小转化函数:upper ,lower
日期函数:
不同数据库类型的转换:cast函数
insert into  select配合使用将所提供的数据插入到另一个表中
	第六章分组合聚合数据
group by 子句必须位于select语句中的from语句或where子句之后
            他将一致的数据分组到一个集合中
统计结果的数目:count聚合函数统计结果中记录的数目
很多时候sql语句比较复杂, 这样的话就可以逐步构建,先从简单的开始
累加结果:sum函数
子句和group having by子句
having:子句允许指定条件来过滤最终结构中的分组
第七章
再论联合:inner Join连接
交叉联合:是最基本的联合,因为不存在联合表的的on子句
使用cross join语句创建交叉联合
自联合一个表联合自己,必须赋予表一个别名:as---
on子句和where意义相同,只是语法不同
内部联合主要包含在联合中的两个表必须具有匹配的记录,on子句条件为真
外部联合
关键字outer join
利用union运算符组合结果集,但每个查询必须有相同的列
数据类型和顺序必须一致。使用union合并包含唯一记录,不重复
如果想要所有的记录,在union后面加加上all
                            第八章子查询

子查询术语
select语句为外部查询:select列表中的子查询
在一个表达式中子查询必须只返回一个记录
where子句中的子查询
子查询中的运算符:in any some all
in允许一个简单的比较,允许指定 某一项匹配一个列表中的某一项
其他的允许使用任何比较运算符
EXISTS运算符敌对与行而言的,对于列并不影响,返回子查询中的所有列
同样你也可以利用这个语句来显示你想要多少行数据
having子句中使用子查询
update
delete from
                           第九章高级查询
更新数据库,使得能更好的查询,来进行复杂查询
处理复杂的查询			
在创建查询时确定需要什么数据,创建select子句,需要在表中获取什么数据,依次创建出from语句
高效查询的一些技巧
感觉还是用了and ;or这两个运算符的特点
                           第十章视图
其实所谓的视图不过是保存的代码
创建视图,称为虚拟的表
                           第十一章事务
                           第十二章
安全的概念
创建id
视图和安全:1垂直视图和水平视图
垂直视图表示从一个或多个表中选择列
水平视图可以允许用户查看表中的所有字段
视图的限制和授予许可权
许可权:grant
	第十三章数据库的调整
调整硬件

猜你喜欢

转载自blog.csdn.net/weixin_44695196/article/details/100056539
今日推荐