sql
17ning
感谢您强迫我进步
展开
-
mysql replace into
replace into 的字面意思就是替换, 实际工作它是通过delete和insert来实现的,首先根据指定表中的唯一键(包含主键)删除,此时可能删除多条记录,因为一张表可以有多个唯一键,然后执行insert操作。所以当表中有自增id时,如果没有显示的指定自增id,就会使用一个自增id号。原创 2016-12-05 16:30:04 · 228 阅读 · 0 评论 -
innodb当前读&快照读
innodb的操作可以分为当前读(current read)和快照读(snapshot read):1. 快照读(snapshot read) 简单的select操作(不包括 select ... lock in share mode, select ... for update)2.当前读(current read) select ... lock in share原创 2016-12-13 14:41:52 · 5445 阅读 · 1 评论 -
数据库事务的四个特性-ACID
相信是个程序员都知道事务的四个特性,ACID即原子性,一致性,隔离性,持久性。最近在看Innodb存储引擎这本书,看到事务这一章,发现自己没有真正了解ACID,在这记录一下。1. A---原子性,这个很好理解,最经典的例子就是银行两个帐户转账问题,从A账户扣100元和给B账户加100元,这两个操作要么全做,要么全不做。2.C---一致性,就是数据库必须从一个一致性状态转换到另一个一致性状态原创 2016-12-07 16:53:17 · 668 阅读 · 1 评论 -
事务脏读,不可重复读,幻读
最近在了解mysql事务的常见问题,在这里谈谈个人对事务的脏读,不可重复读,幻读的理解。可能和大部分博客的理解有所出入,如有不赞同的地方,希望能和大家一块讨论。之所以会出现脏读,不可重复读,幻读都是因为某些事务对数据库执行了update,insert,delete操作,以下统称为对数据库的更改。 大多数博客理解我的理解原创 2016-12-08 14:24:16 · 1021 阅读 · 0 评论 -
postgresql导出表结构
pg_dump命令可以导出数据库中的表结构。-s 选项用来只导出表结构,而不会导出表中的数据-t 选项用来指定要导出的数据库表pg_dump -s -t tlb exampledb > /tmp/tlbexampledb是数据库,tlb是exampledb中的表,/tmp/tlb是定向到的文件.原创 2015-07-16 22:10:54 · 44800 阅读 · 5 评论 -
innodb如何确定自增id
一. 创建一个表 CREATE TABLE `t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) NOT NULL, `b` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `a_inx` (`a`)) ENG原创 2016-12-14 16:06:40 · 702 阅读 · 0 评论