随笔分类 -  数据库

摘要:一,游标是什么? 游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时放到了一个内存区域的虚表中,而这个虚表就是游标。 二,作用是什么? 1,大家都知道数据库中的事物可以回滚,而游标在其中起着非常重要的作用,由于对数据库的操作我们会暂 阅读全文
posted @ 2016-07-20 20:20 后知然后觉 阅读(572) 评论(0) 推荐(0) 编辑
摘要:一、存储过程与函数的区别: 1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。 3.存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因 阅读全文
posted @ 2016-07-20 20:12 后知然后觉 阅读(2888) 评论(0) 推荐(0) 编辑
摘要:一、索引的概述 1、概念: 数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力。 2、优缺点: 2.1优点: 1、大大加快搜索数据的速度,这是引入索引的主要原因. 2、创建唯一性索引,保证数据库表中每一行数据的唯一性. 3、加速表与表之间 阅读全文
posted @ 2016-07-14 21:06 后知然后觉 阅读(254) 评论(0) 推荐(0) 编辑
摘要:指定临时命名的结果集,这些结果集称为公用表表达式 (CTE)。公用表表达式可以包括对自身的引用。这种表达式称为递归公用表表达式。 对于递归公用表达式来说,实现原理也是相同的,同样需要在语句中定义两部分: 基本语句 递归语句 在SQL这两部分通过UNION ALL连接结果集进行返回: 使用CTE准则 阅读全文
posted @ 2016-06-28 12:44 后知然后觉 阅读(1035) 评论(0) 推荐(0) 编辑
摘要:创建表scores 一、传统的行列转换 纵表转横表 我们要转成的横表是这样子的: 既然这个表只有两列,那么可以根据姓名进行分组。先把姓名拼凑出来,后面的分数我们再想办法。 结果: 分析: 这里符合我们需求的 case 语句就登场了。它和c#中switch-case 作用一样。 sql case 语句 阅读全文
posted @ 2016-06-28 08:18 后知然后觉 阅读(35688) 评论(1) 推荐(3) 编辑
摘要:where 和having有什么区别? where 是group by之前进行筛选,having是group by 之后进行统计的筛选,一般having会和group by一起使用,结合聚合函数,统计之后进行筛选。 例子: 表Student(id,name) 要求:编写Sql从student表中查出 阅读全文
posted @ 2016-06-27 08:19 后知然后觉 阅读(12142) 评论(1) 推荐(0) 编辑
摘要:首先说下union与join的区别 1、union是以行增加的方式,进行连接;join是以列增加的方式进行连接; 2、union连接查询的两个表的字段必须要一一对应,数目相等;join则没有要求,但是要求有相关联的字段关系。 关于join的三种连接方式,详解请看我上一篇博客:http://www.c 阅读全文
posted @ 2016-06-26 17:32 后知然后觉 阅读(378) 评论(0) 推荐(0) 编辑
摘要:sql数据库表连接,主要分为:内连接、外连接(左连接、右连接 、全连接)、交叉连接,今天统一整合一下,看看他们的区别。 首先建表填充值。 学生表:student(id,姓名,年龄,性别 ) 成绩表:score(id,学生id,成绩) 一、内连接(inner join……on) select stud 阅读全文
posted @ 2016-06-26 16:46 后知然后觉 阅读(13716) 评论(0) 推荐(2) 编辑