![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 70
May的博客
这个作者很懒,什么都没留下…
展开
-
快速复制数据库表中的数据SQL
---通过复制tbl_int_dual2表中的数据产生tbl_int_dual1表中2015-11-11上午8点的小时类统一接口统计数据.insert into tbl_int_dual1 (field_id, svc_name, svc_view_name, his_type, data_time, data_date, count_time_type,原创 2015-11-30 20:53:14 · 1450 阅读 · 0 评论 -
乐观锁与悲观锁深入学习
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernat...原创 2017-10-17 21:31:17 · 2975 阅读 · 1 评论 -
数据库锁机制
一、为什么要引入锁多个用户同时对数据库进行并发操作时,会引起以下数据不一致的问题:丢失更新:AB两个用户对同一数据进行修改,其中一个用户的修改结果破坏了另一个用户的修改结果,比如订票系统。脏读:A用户修改了数据,随后B用户读取并使用了该数据,之后因为某些原因A又撤销了对数据的更改,数据恢复原值,此时B用户得到的数据就可能与数据库不一致。不可重复读:同一个事务内,同一用户两次读到的数据不一致。并发控制原创 2017-10-10 20:59:21 · 450 阅读 · 0 评论 -
Oracle数据库表空间占用过大的解决办法
最近调接口的时候接口访问历史表报错:检查之后发现表空间满了,随后把相应表空间进行了扩展,顺带总结了Oracle检查&调整表空间的sql语句如下:##--查看某张表的表空间selecttable_name,tablespace_namefromuser_tableswhereTABLE_NAME='表名';原创 2016-12-24 15:42:47 · 22142 阅读 · 0 评论 -
存储过程
存储过程的定义:有关存储过程的定义,百度百科是这么说的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数的话)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是由一些...原创 2015-12-11 18:59:56 · 1954 阅读 · 0 评论 -
【Redis学习】Redis分布式锁实现秒杀业务(乐观锁、悲观锁)
1、业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。2、一些可能的实现刚才提到过,实现秒杀的关键点是控制线程对资源的争抢,根据基本的线程知识,可以不加思索的想到下面的一些方法: 1)、秒杀在技术层面的抽象应该就原创 2020-05-13 16:50:37 · 6616 阅读 · 0 评论 -
ORA-01810: 格式代码出现两次
一、如:select to_date(‘2005-01-01 13:14:20’,’yyyy-MM-dd HH24:mm:ss’) from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date(‘2005-01-01 13:14:20’,’yyyy-MM-dd HH24:mi:ss’) from dual;原创 2015-11-01 22:03:03 · 724 阅读 · 0 评论 -
有关数据库表被锁定的问题
检查数据库中被锁定(执行完操作未commit)的表:select object_name,machine,s.sid,s.serial# from vlockedobjectl,dbaobjectso,vlocked_object l,dba_objects o ,vsession s where l.object_id = o.object_id and l.session_id=s.sid;原创 2015-11-01 22:37:46 · 551 阅读 · 0 评论 -
【存储过程】Merge Into语句实现Insert/Update在Oracle中的应用
最近接到一个新的接口需求,开发一个保存数据的接口,需要完成如下功能:有一个表T,有两个字段a(主键),b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。 在Microsoft的SQL语法中,很简单的一句判断就可以了,SQL Server中的语法如下: if exists(select...原创 2018-03-12 19:06:12 · 3255 阅读 · 0 评论 -
数据库索引原理
1、为什么需要数据库索引?我们来看一个简单的例子:假设有一张数据表Employee,有三列:Employee_name,Employee_age,Employee_address。表中有几万条记录。现在。我们需要执行下面的这条查询语句:查出所有名字叫tom的员工的详细信息。select * from Employee where Employee_name = "tom"2、假如没有索引会发生什么原创 2017-11-01 00:10:08 · 529 阅读 · 0 评论 -
Oracle数据库多结点相关配置
最近负责的项目要迁数据库,遇到了oracle数据库双结点配置的问题,将涉及到的TNS和RAC集群相关的问题总结了一下。一、oracle数据库双结点配置:xml配置示例:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-原创 2017-03-31 01:38:17 · 1850 阅读 · 0 评论 -
【PL/SQL】Excel批量往数据库中插入数据:
将要插入的数据按顺序(与select后的字段顺序一致)写到Excel表格中,然后再PL/SQL中输入如下命令:select row1,row2,row3,..., from tableName for update解锁之后,直接将Excel表格中的数据往上粘贴,然后提交就可以了;...原创 2015-11-01 22:24:45 · 1475 阅读 · 0 评论 -
数据库-表连接
表连接内连接(自然连接)外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制)自连接(同一张表内的连接) inner join 表示内连接; left join表示左外连接; right join表示右外连接; full join表示完全外连接; on子句 用于指定连接条件。 注意: 如果使用from子句指定内原创 2016-01-14 10:11:49 · 999 阅读 · 1 评论 -
sql语句转化为分页查询的一种实现
/** * 将sql语句转化为分页查询 * * */ public static String addfy4oracle(String sql, int start, int limit, List args,String order, String ascOrdesc ) { StringBuffer strB = ne原创 2016-01-14 11:47:55 · 1207 阅读 · 0 评论 -
Oracle数据库三种备份方案
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、 简单导出数据(Export)和导入数据(Import) Oracle支持三种方式转载 2016-03-30 11:50:16 · 10149 阅读 · 0 评论 -
DB2常用语句
1. 关闭db2db2stop 或db2stop force。在脚本中一般两个都写上,避免使用db2stop force命令,如:db2stopdb2stop force停止所有应用 db2 force application all2. 启动db2db2start3. 创建数据库db2 create db <db name>或db2 create db using codeset GBK ter原创 2016-08-03 18:51:13 · 1824 阅读 · 0 评论 -
Oracle序列小结
定义:序列是一个计数器(序列号生成器),可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字),是oracle提供的用于产生一系列唯一数字的数据库对象。通过创建oracle序列和触发器来实现表的主键自增特点:1、自动提供唯一的数值;2、共享对象;3、主要用于提供主键值和计数;4、将序列值装入内存可以提高访问效率;创建序列:1、要原创 2017-01-04 20:19:12 · 805 阅读 · 0 评论 -
oracle同义词
创建同义词:--普通用法CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.] 同义词名称 FOR [schema.] object [@dblink];--创建专有(私有)同义词CREATE SYNONYM SYSN_TEST FOR TEST;--创建公共同义词CREATE PUBLIC SYNONYM PUBLIC_SYSN_TEST原创 2017-02-05 16:48:25 · 1171 阅读 · 0 评论 -
Left join后用and和where的区别
Left join左连接,得到的是左表的所有数据拼接右表符合on条件的数据。on后用and连接,都作为on条件。on后用where连接,where作为筛选条件,则是匹配两个条件相同的结果集。on后用where连接,where作为筛选条件,则是匹配两个条件相同的结果集。如下图一,on后的and使用错误导致两个筛选条件没有生效。图二为正确查询:...原创 2018-12-18 22:03:06 · 10322 阅读 · 0 评论