前言 <程序员的SQL金典>这本书是杨中科老师的,拜读了一下,简单做了读书笔记供以后翻阅.仅供学习分享,要想细读的话推荐购买原版呀! 这次读书的时候用了新的办法把看书计划进行了量化,虽然简单,发现还是有效果的. 1. Count(*)与Count(column)区别 Count(*)统计结果集总条数: Count(column)统计结果集中column字段不为null的总条数. 2. 低效的where 1=1 为了实现动态拼接查询条件的功能,有时我们会使用where 1=1这样看似聪明的解决方…
一.SQL注入 如果程序中采用sql拼接的方式书写代码,那么很可能存在SQL注入漏洞.避免的方式有两种: 1. 对于用户输入过滤敏感字母: 2. 参数化SQL(推荐). 二.索引 ①索引分类 聚簇索引:数据表的物理顺序和索引顺序相同.每个表只能建立一个聚簇索引,应该在表中经常访问的列或者按顺序访问的列建立聚簇索引. 非聚簇索引:数据表的物理顺序和索引顺序不同.每个表可以建立多个非聚簇索引. ②碎片整理 在删除一条数据项记录时,并不会删除对应的索引项.所以经过一段时间后数据库中会出现索引碎片,降低…
    第六章 索引与约束   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…
一.数学函数 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…
一.表连接-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.案例:数据…
<C#从现象到本质>读书笔记(九)第11章C#的数据结构 C#中的数据结构可以分为两类:非泛型数据结构和泛型数据结构. 通常迭代器接口需要实现的方法有:1)hasNext,是否还有下一个元素.2)Next,移动到下一个元素.3)Reset,重置. C#中对迭代器模式的实现就是IEnumerable接口. 使用yield关键字实现方法GetEnumerator.yield的延迟执行特性体现在:只有当需要取值时,才会执行,否则状态机的状态就停在0. foreach迭代时,不能直接更改集合成员的值,…
代码版本管理基本上程序员们都知道 TFS GIT SVN等等 但是对于数据库版本管理 java程序员或许会了解一些 但是.Net程序员收获的资料应该不多. 特别是现在云概念使用越来越广的情况下,与应用程序开发和部署常规管理数据库更改在一起便成为一个难题. 这里就分享一个用来进行sql版本管理的.net程序.源码地址:https://github.com/dubing/SqlMigrator 如图所示 因为只是研究着玩 暂时工具做的不复杂 提供版本跟进 回滚等基本功能 FluentMigrator…
ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动态加载一个类 Java程序不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类.此外,这些类文件并非全部都装入内存,而是根据程序需要逐渐载入. ClassLoader是JVM实现的一部分,ClassLoader包括bootstrap classloader(启动类加载器),…