数据库原理

数据库原理-SQL查询语句

戏子无情 提交于 2019-11-28 05:49:54
参考书籍《Oracle 数据库开发与应用》 SQL查询语句,针对数据库中的表提供了各种查询功能。这里分为五个部分,说明在SQL中如何对数据进行查询。 简单查询 SELCET语句是最简单的SQL语句,格式为 ---------------------------------------- SELECT {*,列名[别名],···} FROM 表名; ----------------------------------------- 在SELECT语句中,具有以下性质:1.包含算术表达式 2.给字段起别名 3.空值在结果中无限大 4.用DISTINCT关键字去掉重复值 *还可以带有限制条件的查询,这也是最常用也非常重要的。 1.WHERE 限制 在WHERE子句中一般是一个字段/公式与一个值的比较,可以使用关系运算符(进行数据过滤)、逻辑运算符(多个条件限制查询) 2.BETWEEN···AND定位范围 3.IN代替OR运算符 4.LIKE模糊查询 5.ORDER BY排序 可以对多个字段排序,支持通过别名排序, 注意ORDER BY子句只能出现在整个SELECT语句最后。 连接查询 分为内连接、外连接和其他连接。 *内连接 ,基本格式为------------------------------------------- SELECT 列名 FROM 表名1 JOIN 表名2 ON

数据库索引的实现原理

好久不见. 提交于 2019-11-27 07:39:55
说白了,索引问题就是一个查找问题。。。 数据库 索引 ,是数据库管理系统中一个排序的 数据结构 ,以协助快速查询、更新数据库表中数据。 索引的实现通常使用B树及其变种B+树 。 在数据之外,数据库系统还维护着满足特定查找 算法 的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。 上图展示了一种可能的索引方式。左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个指向对应数据记录物理地址的指针,这样就可以运用二叉查找在O(log 2 n)的复杂度内获取到相应数据。 创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器

SSM框架原理,作用及使用方法

只谈情不闲聊 提交于 2019-11-26 13:59:45
作用: SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业务对象管理,mybatis作为数据对象的持久化引擎 原理: SpringMVC: 1.客户端发送请求到DispacherServlet(分发器) 2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller 3.Controller调用业务逻辑处理后,返回ModelAndView 4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图 5.视图负责将结果显示到客户端 Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们Java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。 Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的

java篇之JDBC原理和使用方法

我怕爱的太早我们不能终老 提交于 2019-11-26 12:28:48
JDBC学过但又属于很容易忘记的那种,每次要用到,都要看下连接模式。每次找又很费时间,总之好麻烦呀呀呀,所以写篇博客,总结下原理和常用接口,要是又忘了可以直接来博客上看,嘿嘿。 一、什么是JDBC 1、JDBC全称是 Java DataBase Connectivity,可以为多种关系型数据库DBMS提供统一的访问方式,主要目的是用Java来操作数据库。 2、JDBC API主要负责三个功能:(1)与数据库建立连接(2)发送SQL语句给数据库(3)数据库将结果返回 具体过程大致是这样子的: 3、实现方法:(1)DriverManager:管理jdbc驱动(2)Connection 连接数据库(3)Statement(PreparedStatement)增删改查 CallableStatement 调用数据库的存储过程和存储函数 (4)ResultSet 结果集 4、实现步骤:(1)导入驱动,加载具体驱动类(2)与数据库建立连接(3)执行SQL语句(4)返回结果 5、常见数据库 oracle,mysql,SQLServer的加载驱动 oracle---具体驱动类:oracle.jdbc.OracleDriver 连接字符串:jdbc:oracle:thin:@localhost(ip地址):1521:ORCL mysql---具体驱动类:com.mysql.jdbc.Driver