
SQL笔记
jjkang_
这个作者很懒,什么都没留下…
展开
-
jdbc之批处理
当需要向数据库发送一批sql指令时,应该避免一条一条的向数据库发送命令,而应该采用jdbc的批处理机制,以提升效率。jdbc提供两种批处理机制:第一种:statement.addbatch(sql);,这个方法返回一个list集合,执行批处理指令------executeBatch(),之后调用clearBatch(),清理批。Connection conn = null;Sta原创 2017-02-08 00:15:05 · 349 阅读 · 0 评论 -
oracle特殊字符的处理
在开发中,如果更新一个表的字段时,还有特殊字符,比如/,就回报错,这时,你可以做如下处理比如更新t表的a字段为“A/B”,就可以写成update t set a = 'A'||'/'||'B'...原创 2018-08-30 18:21:54 · 4199 阅读 · 0 评论 -
oracle 此处不允许序号
今天插入数据的时候,用到了序列,却提示此处不允许序号。解决办法: 把你的SQL语句再包一层,然后查询你的序列和子查询中的所有列就行了...原创 2018-08-15 16:18:15 · 8122 阅读 · 0 评论 -
Oracle中除数为0的解决办法
Oracle中除数为0的解决办法利用decode函数select decode(b,0,0,a/b) from dual;当b = 0时,返回0,否则才返回a/b的结果。原创 2018-08-15 09:17:02 · 38967 阅读 · 1 评论 -
oracle触发器实现主键自增
创建测试表create table test_table(id int,age int,name varchar2(2));创建序列create sequence test_seq_id increment by 1 start with 1 maxvalue 999999 minvalue 1;创建触发器create trigger test_trigger ...原创 2018-08-09 15:47:01 · 1007 阅读 · 0 评论 -
Oracle的子查询
Oracle的子查询分为两种:一种是相关子查询,一种是非相关子查询。主要区别就是相关子查询用到了外查询结果的字段。一般来说,相关子查询不能单独运行,非相关子查询可以单独运行。 相关子查询的计算步骤:扫描外查询的第一条记录扫描子查询,并将第一条记录的对应值传给子查询,由此计算出子查询的结果根据子查询的结果,返回外查询的结果。重复上述动作,开始扫描外查询的第二条记录,...原创 2018-07-30 21:04:50 · 363 阅读 · 0 评论 -
Mysql更改列名的方法
假定表名为test,需要更改的列名为 date Date,想要更改为birthday varchar(20)alter table test change column date birthday varchar(20);原创 2017-02-04 01:37:58 · 5725 阅读 · 0 评论 -
truncate 和 delete的区别
truncate 和 delete 都是删除表的命令,但是删除的方式有所不同;truncate 会摧毁整个表,然后再重构;delete 则是一条记录接着一条记录的逐条删除;所以,如果想要删除整个表的数据,那么truncate 无疑效率会更高;反之,如果想要删除表中的某个记录,那么选择delete 会更好一些。原创 2017-01-25 20:07:39 · 370 阅读 · 0 评论 -
如何根据一对一,一对多,多对一和多对多的关系创建表
一对一的关系最简单,一个实体创建一张表就行了;一对多和多对一的关系建表原则是一样的,在多的一方用外键列引用‘一’的一方的主键,来保证两者之间的联系;多对多的关系,就是新创建一张中间表,以保证二者之间的联系。原创 2017-02-10 16:15:27 · 8976 阅读 · 1 评论 -
mysql解决脏读、不可重复读、虚读的办法
上篇文章讲了事务隔离性的概念以及会出现的问题,现在来说,应该怎么避免这些问题的出现。点击打开链接http://blog.youkuaiyun.com/jjkang_/article/details/54925479mysql数据库定义了四种隔离级别:serializable:可避免脏读、不可重复读、虚读情况的发生。repeatable read:可以避免脏读、不可重复读情况原创 2017-02-08 13:12:24 · 10165 阅读 · 0 评论 -
mysql设置事务的隔离级别
关于事务的隔离性概念以及会引起的问题,还有解决方法,都在我另外的博客中详细讲过了,这里就不多说了,现在说mysql该怎么设置隔离级别的问题mysql总共有四个隔离级别分别是:serialiable、repeatable read,read committed,read uncommitted。set tx_isolation='';可以设置事务隔离级别,mysql默认原创 2017-02-08 13:41:05 · 1017 阅读 · 0 评论 -
事物之隔离性详解
概念:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的失去,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。多个线程开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个线程在获取数据时的准确性。如果不考虑隔离性,可能会引发如下问题:1、脏读:是指一个事务读取了另一个事务没有提交的数据。假如A和B各自有100元钱,A向B转了100元钱,执行原创 2017-02-08 13:10:25 · 4759 阅读 · 0 评论 -
in和exists的区别
in和exists的区别in和exists的区别in和exists的区别in适合A表比B表大的情况,in会做全表扫描,最坏情况下要扫描 A*B次select * from A where id in (select id from B)exists适合A表比B表小的情况,exists不会遍历表,只需要查询一次select * from A where exists(selec...原创 2018-12-29 16:33:07 · 945 阅读 · 0 评论