程序员的sql金典】的更多相关文章

前言 <程序员的SQL金典>这本书是杨中科老师的,拜读了一下,简单做了读书笔记供以后翻阅.仅供学习分享,要想细读的话推荐购买原版呀! 这次读书的时候用了新的办法把看书计划进行了量化,虽然简单,发现还是有效果的. 1. Count(*)与Count(column)区别 Count(*)统计结果集总条数: Count(column)统计结果集中column字段不为null的总条数. 2. 低效的where 1=1 为了实现动态拼接查询条件的功能,有时我们会使用where 1=1这样看似聪明的解决方…
一.SQL注入 如果程序中采用sql拼接的方式书写代码,那么很可能存在SQL注入漏洞.避免的方式有两种: 1. 对于用户输入过滤敏感字母: 2. 参数化SQL(推荐). 二.索引 ①索引分类 聚簇索引:数据表的物理顺序和索引顺序相同.每个表只能建立一个聚簇索引,应该在表中经常访问的列或者按顺序访问的列建立聚簇索引. 非聚簇索引:数据表的物理顺序和索引顺序不同.每个表可以建立多个非聚簇索引. ②碎片整理 在删除一条数据项记录时,并不会删除对应的索引项.所以经过一段时间后数据库中会出现索引碎片,降低…
一.数学函数 1.RAND SELECT RAND () ---0.302870228294199 取0-1之间的随机小数. 2.小数取整 CEILINT(data)舍掉小数部分并向上取整. FLOOR(data)舍掉小数部分并向下取整. FWeight, CEILING(FWeight ),FLOOR( FWeight) FROM T_Person Round(m,d):四舍五入对小数进行取整. 参数说明:m为带处理的数据,d为四舍五入时保留的小数位数,为负数时表示对整数进行四舍五入. FWe…
    第六章 索引与约束   1.索引用来提高数据的检索速度,而约束则用来保证数据的完整性.   2.创建索引 创建索引的SQL 语句是CREATE INDEX,其语法如下: CREATE INDEX 索引名ON 表名(字段1, 字段2,……字段n) 其中[索引名]为被创建的索引的名称,这个名称必须是唯一的:[表名]为要创建索引的表:[字段1, 字段2,……字段n]为组成这个索引的字段列表,允许一到多个.   3.删除索引 语法 DROP INDEX 表名.索引名   4.非空约束 在定义数据…
  第一章数据库入门 1.概念: 数据库 表 列 记录(行) 主键 索引         第二章 数据表的创建和管理 1.数据库系统中的数据类型大致可以分为五类:整数.数值.字符相关.日期时间以及二进制.   2.数据类型: ①整数类型: bit                其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .On 或Off. int                正常大小整数,取值范围是-2147483648到214…
一.表连接-JOIN 1. 自连接实例 查询类型相同的订单信息. SELECT O1 .*,O2.* FROM T_Order O1 JOIN T_Order O2 ON O1 .FTypeId= O2.FTypeId AND O1.FID <O2. FId 二.子查询 子查询允许将sql语句查询结果作为结果集供其他语句使用.子查询可以简化复杂sql,但是使用不当会造成性能问题. 1.INSERT子查询 INSERT...SELECT....可以将SELECT查询结果导入到另外一个表中,并且可以…
1.数据库基础概念 2.数据类型 3.通过SQL语句管理数据表 4.数据的增删改 5.Select的基本用法 6.高级数据过滤 7.数据分组 8.限制结果集行数和抑制重复数据 9.计算字段 10.不从结果表取数据 11.联合结果集 12.数学函数 13.字符串函数 14.日期时间函数 15.格式转换函数 16.空值函数 17.Case函数 18.其他系统函数 19.索引(转) 20.约束 21.表连接 22.子查询 23.SQL注入漏洞攻防 24.开窗函数 25. WITH子句 26.案例:数据…
代码版本管理基本上程序员们都知道 TFS GIT SVN等等 但是对于数据库版本管理 java程序员或许会了解一些 但是.Net程序员收获的资料应该不多. 特别是现在云概念使用越来越广的情况下,与应用程序开发和部署常规管理数据库更改在一起便成为一个难题. 这里就分享一个用来进行sql版本管理的.net程序.源码地址:https://github.com/dubing/SqlMigrator 如图所示 因为只是研究着玩 暂时工具做的不复杂 提供版本跟进 回滚等基本功能 FluentMigrator…
1.任何地方都不要使用 select * from t ,用具体的字段列表代替"*",不要返回用不到的任何字段. 2.尽量使用数字型字段,字符型会降低查询和连接的性能,并会增加存储开销.这是因为引擎在处理查询和连接时会逐个比较 字符串中每一个字符,而对于数字型而言只需要比较一次就够了. 3.尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些. 4.尽量避免…
1最近准备面试,总结一下之前学过到东西.…