
数据库
文章平均质量分 79
_SuiXin
不忘初心,方得始终。
展开
-
事务与JDBC
事务与JDBC什么是事务事务是指逻辑上的一组操作,组成这组操作的各个单元要不全部成功,要不全部失败!事务四大特性 (ACID) * 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。隔离性(Isolation):事务的执行不受其他事务的干扰,事原创 2015-09-07 22:10:06 · 301 阅读 · 0 评论 -
多表查询
多表查询笛卡尔集表笛卡尔集表=列数之和,行数之积。例如有 emp 和 dept 两张表。 那么他们的笛卡尔集表为: 可以看出:笛卡尔集表中有一些数据是不合法的。笛卡尔集表在数据库中的体现为: select emp.ename,dept.dname from emp,dept; -> 查询出来即为上图所示结果。因此我们要在笛卡尔集表的基础上进行筛选(使用wher原创 2015-10-09 19:01:00 · 458 阅读 · 0 评论 -
Oracle-子查询
Oracle-子查询子查询就是位于SELECT、UPDATE、或DELETE语句中内部的查询 本文中涉及到的表: 概述在MySQL文档中给出的子查询的优势: 1)子查询允许结构化的查询,这样就可以把一个语句的每个部分隔离开。 2)有些操作需要复杂的联合和关联。子查询提供了其它的方法来执行这些操作。 3)在许多人看来,子查询是可读的。实际上,子查询给予人们调用早期SQL“结构化查询语言”的原转载 2015-10-10 15:42:55 · 455 阅读 · 0 评论 -
Oracle-常用通用函数、条件判断函数和多行函数
Oracle-常用通用函数、条件判断函数和多行函数本文中用到的表: 通用函数通用函数就是可以作用于任何类型的函数(参数类型可以是number或varchar2或date类型)1)NVL(a,b) 如果a为null值,则取b为返回结果,否则返回a。2)NVL2(a,b,c) 如果a为null, 则结果为b, 否则结果为c。3)NULLIF(a,b) 在类型一致的情况下,如果a与b相同,返回NU原创 2015-10-09 20:49:07 · 32333 阅读 · 2 评论 -
十步完全理解SQL
十步完全理解SQLSQL 是一种声明式语言首先要把这个概念记在脑中:“声明”。 SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果。这是不是很棒?简单地说,SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选出符合声明的数据,而不是像传统编程思维去指示计算机如何操作。例如: SELECT first_转载 2015-10-10 19:14:17 · 923 阅读 · 0 评论 -
Oracle-分页与集合查询
Oracle-分页与集合查询分页在MySQL中分页使用的是limit关键字。 例如:select * from user limit 0, 5; -> 0代表索引号,是第一条数据; 5代表是自索引号开始的5条数据。 即查询出user表的前5条数据。 而在hibernate中进行分页就更简单了,根本无需我们关心底层数据库的结果,直接两个API搞定。 例如: Query.setF原创 2015-10-10 16:06:22 · 702 阅读 · 0 评论 -
Oracle-创建表和表的约束
Oracle-创建表和表的约束创建表依据SQL99标准, oracle创建表的语法当然和MySQL等数据库差不多。 那么我们在创建表时注意的应该就是Oracle的类型了。先简单创建一个表:drop table if exists users;create table users( id int(5) auto_increment primary key, name varchar(4原创 2015-10-10 19:56:27 · 1452 阅读 · 0 评论 -
Oracle-增、删、改和事务
Oracle-增、删、改和事务增删改数据1)增A 普通的插入数据是遵循SQL99语法的。 例如: 向emp表中插入一条记录 a, insert into emp values(1111,’JACK’,’IT’,7788,sysdate,1000,100,40); //按表默认结构顺序 b, insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL转载 2015-10-11 19:18:49 · 727 阅读 · 0 评论 -
Oracle-视图、同义词
Oracle-视图、同义词视图什么是视图【View】 (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表 (3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELECT 语句 (4)视图向用户提供基表数据的另一种表现形式 (5)视图没有存储真正的数据,真正的数据还是存储在基表中 (6)程序员虽然操作的是视图,但最终视图转载 2015-10-11 19:42:50 · 844 阅读 · 0 评论 -
Oracle-序列、索引
Oracle-序列、索引序列什么是序列【Sequence】 (1)类似于MySQL中的auto_increment自动增长机制,但Oracle中无auto_increment机制 (2)是oracle提供的一个产生唯一数值型值的机制 (3)通常用于表的主健值 (4)序列只能保证唯一,不能保证连续 (5)序列值,可放于内存,取之较快为什么要用序列 (1)以前我们为主健设置值,需要人工设置值转载 2015-10-11 20:02:25 · 594 阅读 · 0 评论 -
Oracle-PlSQL程序设计
Oracle-PlSQL程序设计概述1)PlSQL是专用于Oracle服务器,在SQL基础之上,添加了一些过程化控制语句,叫PLSQL 过程化包括有:类型定义,判断,循环,游标,异常或例外处理。。。PLSQL强调过程。2)使用PLSQL的原因: 因为SQL是第四代命令式语言,无法显示处理过程化的业务,所以得用一个过程化程序设计语言来弥补SQL的不足之处, SQL和PLSQL不是替代关系,原创 2015-10-13 19:36:33 · 569 阅读 · 0 评论 -
SQL99标准
SQL99标准的四大分类SQL92/【99】标准的四大分类 : (A)DML(数据操纵语言):select,insert,update,delete (B)DDL(数据定义语言):create table,alter table,drop table,truncate table 。。。 (C)DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scot转载 2015-10-10 19:26:33 · 14432 阅读 · 0 评论 -
group by 子句的细节
group by 子句的细节GROUP BY子句主要用于对WHERE中得到的结果进行分组,也就是说它是在WHERE子句之后执行,对经过WHERE筛选后的结果按照某些列进行分组,之后进行相应的处理工作。普通用法: 例如:显示部门平均工资的最大值 select max(avg(sal)) “部门平均工资的最大值” from emp group by deptno;在select子句中出现的非多行原创 2015-10-09 20:07:11 · 837 阅读 · 0 评论 -
Oracle-卸载
Oracle-卸载用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢? 那就是直接注册表清除,步骤如下: 1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 2、 开始->程序->Oracle - OraDb11g_home1->Oracle安装产品-> Universal Installe转载 2015-10-08 21:42:46 · 501 阅读 · 0 评论 -
Oracle-简介
Oracle-简介oracle概述-> 一些关于数据库的概念 数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频 数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放 该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部原创 2015-10-08 21:42:17 · 320 阅读 · 0 评论 -
Apache-DBUtils工具简介
Apache-DBUtils工具简介作用:简化jdbc编码的工作量, 类似于Hibernate使用这个DbUtils的一些优势: 1. 防止了资源的泄露,写一段JDBC的准备代码其实并不麻烦,但是那些操作确实是十分耗时和繁琐的,也会导致有时候数据库连接忘记关闭了导致异常难以追踪。 2. 干净整洁的持久化代码,把数据持久化到数据库的代码被打打削减,剩下的代码能够清晰简洁的表达你的操作目的。 3.原创 2015-09-09 19:42:27 · 357 阅读 · 0 评论 -
数据库链接池的使用
数据库链接池直接获取链接的缺点: 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。什么是数据库链接池数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。这样,以后我们在获原创 2015-09-08 22:58:07 · 673 阅读 · 0 评论 -
事务处理中的ThreadLocal的使用
事务处理中的ThreadLocal的使用简单的理解ThreadLocal所谓ThreadLocal,简单一点想,就是一个全局的Map,Map的key是线程对象,value是你要保存的对象 进入某个线程后,就可以从map中取得之前存储的相应线程关联的对象。 NT:ThreadLocal并不是一个Map,但用Map来理解是没有问题的在事务中使用ThreadLocal确保所有的sql语句都在同一个开启原创 2015-09-10 20:46:19 · 3340 阅读 · 0 评论 -
MySQL数据库入门
数据库服务器、数据库和表的关系装好mysql, 只是装好了一个数据库管理程序,要想通过这个程序保存数据,需要在这个程序下创建多个库(一般一个应用程序对应一个库)。 而库又是使用表保存数据的,所以库的下面要创建多个表,以保存库中不同实体的数据。SQL语言入门创建库 基本规则 : CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_原创 2015-09-04 16:20:12 · 502 阅读 · 0 评论 -
MySQL数据库的约束
MySQL的约束MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息; 约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 常用五类约束:not null:非空约束,指定某列不为空 unique: 唯一约束,指定某列和几列组合的数据不能重复 primary key:主键约转载 2015-09-06 20:02:29 · 513 阅读 · 0 评论 -
数据库表的设计原则
数据库表的设计原则 #创建数据库里最基本的应该就是建表,建索引、存储过程等一系列操作了。谈到表就不得不谈到实体。数据实体 什么是实体,客观存在并且可以相互区别的事物称为实体。这里我们就简单的把它理解为一个表吧,描述实体的特性,我们就把他们称为了属性。也可以说当我们把一个数据库表当作一个实体,那么它里面的所有字段是不是就是一个属性了呢?结果是肯定的。实体间的联系我想说的是,很简单,数据库里表跟转载 2015-09-06 20:32:17 · 700 阅读 · 0 评论 -
MySQL数据库的增添改查
数据库的增添改查InsertINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ...原创 2015-09-06 11:41:27 · 966 阅读 · 0 评论 -
MySQL常用函数
MySQL常用函数统计函数count count(m) 返回某一列,行的总数。 example: select count(name) from student; select count(*) from student where math>80; NT: 对于count函数,他在统计是只统计有值的行sum 用于求和 example: select sum(math) fr原创 2015-09-06 19:41:20 · 400 阅读 · 0 评论 -
JDBC简介
JDBC(Java DataBase Connectivity)Sun公司为了简化对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。 既然是规范: Sun公司提供了JDBC的接口示范 ——JDBC API ,而数据库厂商或第三方中间厂商根据该接口规范提供针对不同数据库的具体实现,称之为JDBC 驱动开发时需要: 组成JDBC的包: java.sql javax.sql J原创 2015-09-07 20:35:06 · 384 阅读 · 0 评论 -
JDBC处理大数据、二进制数据和批处理
JDBC处理大数据、二进制数据和批处理使用JDBC处理大数据例如,文本数据存储: PrepareStatement.setCharacterStream(index, fis, length); NT: index: 是预编译sql语句中大文本数据的参数索引位置 fis:大文本数据的输入流 length:大文本数据的长度获取: 方法一: reader =原创 2015-09-07 21:42:52 · 365 阅读 · 0 评论 -
Oracle-oracleSQL对单表各种查询操作及函数的使用
Oracle-oracleSQL对单表各种查询操作及函数的使用安装完成Oracle数据库之后, Oracle本身就带了一些表,例如ORCL数据库中的emp表,这里以emp表为例。 使用sqlplus客户端工具进行操作。SQLPLUS命令的特点 ##1)是oracle自带的一款工具,在该工具中执行的命令叫SQLPLUS命令 2)SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col转载 2015-10-08 20:58:31 · 1154 阅读 · 0 评论 -
Oracle-触发器、SQL语句优化
Oracle-触发器、SQL语句优化触发器不同的DML(CRUD)操作,触发器能够进行一定的拦截,符合条件的操作方可操作基表,反之不可操作基表。 类似于Filter、Interceptor。为什么要使用触发器呢? 对DML操作做限制,防止其限制的操作基表。触发器的类型分为: 语句级触发器和行级触发器。创建触发器语法:CREATE [or REPLACE] TRIGGER 触发器名{BEF原创 2015-10-14 17:20:03 · 1089 阅读 · 0 评论