数据库
成长的小牛233
一个很菜,仍然热爱技术热爱生活的程序猿
展开
-
Berkeley DB作用
Berkeley DB是一个嵌入式数据库,这里的嵌入式和嵌入式系统无关,嵌入式数据库的意思是不需要通过JDBC访问数据库,也不单独启动进程来管理数据,Berkeley DB运行在网络爬虫所在的进程空间。Berkeley DB中的一个数据库只能存储键值对,Berkeley DB底层实现采用B+树实现,可以把它看作可以存储大量数据的HashMap,如果使用Berkeley DB java版本需要引入...原创 2018-11-11 21:40:52 · 314 阅读 · 0 评论 -
mysql left join、right join、inner join、union、union all使用以及图解
左连接:left jointable 1 表:table2 表:查询sql:select * from table1 a LEFT JOIN table2 b on a.id=b.id 总结:查询sql:select a.id as aid, b.id as bid from table1 a LEFT JOIN table2 b on a.id=b.id where b.id is null 右连接:right join查询sql:select * from table1原创 2020-08-07 19:16:28 · 685 阅读 · 0 评论 -
本地缓存之LIFO、LRU、FIFO、LFU实现
LRU算法全称 The Least Recently Used,最近最久未使用算法,是一种常见的缓存算法,在很多分布式缓存系统(Redis、Memcached等)使用。算法核心如果一个数据在最近一段时间没有被访问到,那么可以认为在将来它被访问的可能性也很小。当缓存满时,将最久未使用的数据置换掉,也就是首先淘汰最长时间未被使用的。实现最简单做法是用数组+时间戳,不过效率太低,因此我们用双向链表LinkedList + HashMap 实现(链表用来表示位置,哈希表用来存储和查找),在Java中对应原创 2020-08-04 13:51:22 · 1095 阅读 · 0 评论 -
mysql中count(*),count(字段),count(1)的区别
count(主键id)InnoDB 会遍历全表,取每行的主键 id,返回给 server 层,server 层拿到数据后,进行判断累加。count(1)InnoDB 仍遍历全表,但是不取值,server 层对返回的每一行数据新增一个 1,然后进行判断累加;因此,count(1)要更快些,因为无需取值。从引擎返回 id 会涉及到解析数据行,以及拷贝字段值的操作。count(字段):如果这个“字段”是定义为 NOT NULL 的话,一行行地从记录里面读出这个字段,判断不能为 NULL ,按行累原创 2020-06-29 17:22:02 · 248 阅读 · 0 评论 -
【转载保存】mysql不设置主键使用自增长ID方法
MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:1.将自动增长字段设置为主键。create table t1 (id int auto_increment Primary key,sid int);2.将自动增长字段设置为非主键,注意必须显式添加Uni...转载 2019-05-05 18:56:48 · 2515 阅读 · 0 评论 -
DButils工具使用笔记以及常见问题总结
入门:https://www.cnblogs.com/smyhvae/p/4085684.html一、字段名称和实体类命名不用解决办法:给查询结果的显示字段取别名,如TEMPLATE_ID AS templateIdselect news_id as id, title from test where id=1二、DBUtils使用BeanListHandler及BeanHa...原创 2019-04-03 22:30:09 · 721 阅读 · 0 评论 -
【转载保存】MySQL时间、字符串、时间戳互相转换
时间转字符串select date_format(now(), ‘%Y-%m-%d %H:%i:%s’); 结果:2018-05-02 20:24:10时间转时间戳select unix_timestamp(now()); 结果:1525263383字符串转时间select str_to_date(‘2018-05-02’, ‘%Y-%m-%d %H’); 结果:2018-05-0...转载 2019-01-19 11:15:19 · 239 阅读 · 0 评论 -
查询数据库每天更新的数量
select LEFT(FROM_UNIXTIME(pdate),10),count(LEFT(FROM_UNIXTIME(pdate),10)) from tablename where pdate > 1536944461 and pdate < 1539593178 GROUP BY LEFT(FROM_UNIXTIME(pdate),10)原创 2018-10-15 18:17:53 · 624 阅读 · 0 评论 -
mysql分页查询
一:分页需求:客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:比如:查询第1条到第10条的数据的sql是:select * from table limit 0,10;...原创 2018-07-21 19:50:31 · 161 阅读 · 0 评论 -
mysql索引使用(转载)
链接转载 2018-07-23 16:57:08 · 159 阅读 · 0 评论 -
java 获取插入数据的自增长id
/** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自增长列是id) * * @author LZL * */public class Auto_Increment { private static Connection conn = null; private static PreparedStatement stsm = null;原创 2018-01-04 17:43:52 · 5421 阅读 · 0 评论 -
怎样查找自增列主键的id
select max(id) from inform (inform为表名,查询最大的id值)原创 2018-01-04 17:05:56 · 996 阅读 · 0 评论 -
navicat设计表中添加自增长列
写web通讯录的时候在添加联系人时候需要主键故采用自增长列为主键,百度链接有详细教程点击打开链接,注意的是在设计表中添加栏位后把类型改成bigint才会出现自增长选项,希望对你有用原创 2018-01-03 21:09:51 · 4590 阅读 · 0 评论