注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曹学成 廊坊师范学院信息技术提高班十四期

君子慎独,宁静致远

 
 
 

日志

 
 

【转载】SQL总结  

2017-06-10 11:53:00|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自14期 张伟杰《SQL总结》
SQL总结 - 14期 张伟杰 - 张伟杰 廊坊师范学院信息技术提高班十四期

入门:

一、数据类型

以前总是分不清charnchar的区别,现在了解了

char:每个字符占一个字节。

nchar:每个字符占两个字节,采用的是Unicode编码。

real:浮点数值。小数点之后最多允许八位数字。

decimal:也是浮点数值,但是允许声明最大数值和小数点之后的位数。decimal(38,12):最多38位,小数点后12位。

二、逻辑运算符

in:类似于or,但减少了字符的输入。当查询的字段比较多时,用in效率比较高。

like:用于搜索字符字段,可使用通配符。

        

%:匹配一个或多个字符。  例:'J%'

       

 _:匹配一个字符。  例:'D_s'

三、利用 order by 排序位于select语句的末尾,ASC:升序。DESC:降序。

高级:

一、三范式。

第一范式:没有重复数据组,存在惟一主键。

第二范式:在一基础上,属性完全依赖于主键,而非依赖一部分。

第三范式:在二基础上,属性不依赖于非主属性,直接依赖主键。

二、约束。

check约束:检查输入到记录中的值是否满足条件,如不满足则不能输入。Check( Age >= 0 )

三、索引:加快查询。

Create index  index_name

on table_name ( snosname ),查询出来的结果是排过序的。

四、联合。

内:*** inner join *** on 条件

外:左外部联合:*** left outer join *** 条件:返回左边表的记录行

       右外部联合:*** right outer join *** 条件:返回右边表的记录行

       完全外部联合:*** full outer join *** 条件:返回两边表的记录行

union运算符联合:不是把两个表连接起来,而是只是把查询的结果连接起来。

      条件:1.查询的列数必须相等。2.对应列的数据类型必须相同。

五、函数。

(1)数学函数

ABS(X):返回绝对值。

Power(xy):指数函数,xy次方。

Sort(x):平方根。

Rand():生成0~1之间的一个小数。

(2)舍入函数

Ceiling():舍去所有小数,向上舍入到邻近最大整数。

Floor():舍去所有小数,向下舍入到邻近最大整数。

Round(字段,位数):可规定小数点后有几位小数,并就近舍入。如果大于5就向上舍入,小于5就向下舍入。

(3)字符串函数

Substring(stringstartlength):返回字符串中的某一部分。

Upper():转换成大写。

Lower():转换成小写。

Reverse():颠倒字符串。

Soundex():将字符串转换成4字符编码,表示发音的方式。

Difference():返回连个字符串发音的相似度。

(4)其他函数

Cast( 字符串 AS 数据类型 ):类型转换函数。

Convert(日期数据类型,需要转的日期,style【输出格式】):用不同格式显示日期。

Coalesce(……):返回参数列表中的第一个非null值,可以用于解决出现null的问题,帮助客户理解。

当然SQL中还可以自定义函数:Creat founction function_name

(5)聚合函数

count(),sun(),avg(),max(),min()

注意:where子句中不能用聚合函数。

  Havingwhere字句的区别:having是用于过滤分组的,where是用于过滤字段的。

六、视图。

视图:1.是存储在数据库中的特定语句。2.可重复使用。3.减少每次需要重复的代码,提高效率。

权限与调整:

七、事务。

事务具有原子性、一致性、隔离性、持久性。即事务是一系列操作,但是他们不可分割。要么都做要么都不做。事务修改时(未应用之前),用户不可见。数据库通过事务日志可以永久保存数据,而不被破坏。


八、安全。

1.创建、更改、除用户。

2.许可权的授予和撤销。

   grant 权限

   on 表名

   to 用户

   [with grant option](是否可以将许可权授予别人)

 

  revoke 权限

 On 表名

 From 用户 [CASCADE | RESTRICT]

 CASCADE:将产生波动效应,即将授予别人的权限也撤销。

 RESTRICT:只废除grant option能力,但不废除许可权本身。

九、调整。

为了加快大型数据库的查询速度,有时要考虑是硬件的问题还是数据库的问题,这两者要权衡利弊,哪方面的调整花费少就采用哪一种调整方式。

如果要调整数据库,10%的代码的运行时间占用90%的总时间,所以只要找到问题的关键所在就好了。

 
  评论这张
 
阅读(11)| 评论(12)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017