随笔分类 -  数据库

摘要:以下操作在虚拟机上操作的,Mac上安装VMWare和CentOS请参考:三分钟教你Mac下安装VmWare虚拟机 - 掘金 (juejin.cn) 1、MySQL安装(3台) 下载 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28- 阅读全文
posted @ 2021-11-12 16:13 劈天造陆 阅读(181) 评论(0) 推荐(1)
摘要:开发中,公司会要求对敏感字段进行加密处理后入库,查询的时候需要解密后展示,这就要求原字符串和加密字符串之间进行转换 如果一两个字符串还好,可以直接在入库的时候和查询的时候处理一下,但是如果有很多字段都需要这样处理怎么办? Mybatis里面有一个TypeHandler可以解决这个问题,只需要在需要加 阅读全文
posted @ 2021-04-19 14:23 劈天造陆 阅读(5398) 评论(2) 推荐(1)
摘要:文末有demo的git地址 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 目前,数据分片、读写分离、数据加密、影子库压测等功能,以及对 M 阅读全文
posted @ 2021-04-12 10:40 劈天造陆 阅读(1165) 评论(1) 推荐(0)
摘要:对汉字内容的字段进行排序,用order by 字段 是不行的,因为mysql编码一般是UTF8的,而要相对汉字进行排序必须用GBK编码。 先看下平常的order by 新建test表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT 阅读全文
posted @ 2021-01-04 17:05 劈天造陆 阅读(3057) 评论(0) 推荐(1)
摘要:索引可以提高查询效率,平时按照时间查询经常遇到,所以就会给时间添加索引,但是添加索引怎么用呢? 首先创建一张表test_table 然后给时间字段创建索引 导入大量数据,可以使用存储过程 查看一下表中数据条数 一共78W数据,我们用平常的sql查询2019-12-30号当天的数据 一共891条数据, 阅读全文
posted @ 2019-12-30 17:48 劈天造陆 阅读(42122) 评论(1) 推荐(0)
摘要:开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: 平常我们会进行按照时间倒叙排列然后进行分组,获取每个地址的最新记录,sql如下: 但是查询结果却不是我们想要的: 执行时间按倒叙排列结果为: 所以真正想要得到的结果是id为2/8/11的记录,上面 阅读全文
posted @ 2019-09-10 17:24 劈天造陆 阅读(59347) 评论(9) 推荐(10)
摘要:mysql进行模糊查询时,基本都是LIKE "%sss%",有时候这种查询时准确的,但是有种情况这种查询会出现很大问题。 看一下下面这张表 如果想查询字段test包含1的数据,一般我们会用常规方式查询,如下: 但是查询结果不尽人意,如下: 不仅把包含1的查出来了,包含11,110的都查询出来了,这并 阅读全文
posted @ 2019-08-23 15:06 劈天造陆 阅读(3919) 评论(0) 推荐(0)
摘要:最近项目需要改动比较大,数据库结构也有所改变,这时就需要转移旧数据到新库中 第一时间想到的是用代码操作,由于两个库表结构不同,实体什么的得需要重新生成 并编写转移代码,这将是很大的工作量; 然后就想着 用脚本解决问题,方式如下: 先编写脚本 然后写定时任务执行该脚本 链接数据库服务器,输入命令 编写 阅读全文
posted @ 2019-06-25 16:40 劈天造陆 阅读(528) 评论(0) 推荐(0)
摘要:项目开发中,有些固定数据在数据表中,主键是从1自增的,有时候我们会删除一些数据, 这种情况下,主键就会不连续。如何恢复到像第一次插入数据一样主键从1开始连续增长, 这里我找到一种解决方法: 如上面一张表,主键id是自增的 插入两条数据 此时我们想让主键为1,2... 首先我们取消主键,并且勾选掉,主 阅读全文
posted @ 2019-05-17 18:39 劈天造陆 阅读(19850) 评论(1) 推荐(3)
摘要:先下载msi https://dev.mysql.com/downloads/connector/odbc/ 注:如果不成功,有可能msi版本问题,可以更换一下msi 前期准备 双击odbc的msi进行odbc安装,一路next,安转完成后如下 打开powerdesigner,新建数据模型 配置数据 阅读全文
posted @ 2019-01-22 14:32 劈天造陆 阅读(1665) 评论(0) 推荐(0)
摘要:存储过程的优点: 1、存储过程可以随时修改,并且不会影响程序源代码,不用重启服务,而且如果在不同的系统里面调用同一条sql语句,这时,用存储过程再好不过了。 2、存储过程是预编译的,第一次调用后优化器对其进行优化分析,并且给出最终被存储在系统表中的执行计划;而平常的sql语句,每一次执行都要进行编译 阅读全文
posted @ 2018-09-25 16:34 劈天造陆 阅读(169) 评论(0) 推荐(0)
摘要:MySQL中有如下几个时间类型:date、time、datetime、timestamp、year MySQL数据类型 含义 date 只存储年月日,'2018-07-12' time 只存储时分秒,'09:51:02' datetime 存储年月日 时分秒,'2018-07-12 09:51:02 阅读全文
posted @ 2018-07-12 10:49 劈天造陆 阅读(940) 评论(0) 推荐(0)
摘要:Canal的简单使用 canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据,用于实际工作中,比较实用,特此记录一下 Canal简介 canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。 阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行 阅读全文
posted @ 2018-04-24 15:04 劈天造陆 阅读(13520) 评论(2) 推荐(0)
摘要:1. 修改MySQL的登录设置: # vi /etc/my.cnf 2. 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] port = 3306 socket = /application/mysql-5.5.32/tmp/mysql.sock ski 阅读全文
posted @ 2018-01-30 16:20 劈天造陆 阅读(665) 评论(0) 推荐(0)
摘要:多台服务器使用一个数据库时,有时就会出现重复插入的情况,eg:people表中的姓名和身份证号 此时可以给姓名和身份证号创建唯一索引, 创建语句:alter table people add unique index(name,cardid); 创建后,平常的插入语句插入相同的name+cardid 阅读全文
posted @ 2017-11-22 09:39 劈天造陆 阅读(5786) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示