
MySql
hit、run
分享技术,记录生活
展开
-
mysql 批量插入数据如何防止重复插入
mysql 批量插入数据如何防止重复插入原创 2022-10-13 13:47:36 · 769 阅读 · 0 评论 -
mysql数据备份和还原
正式环境常用的数据备份和恢复的sql#数据备份sqlCREATE TABLE bs_house_cost_item_record_bak as SELECT * FROM bs_house_cost_item_record where community_id = 163;#删除原数据库中的数据DELETE FROM bs_house_cost_item_record where community_id = 163;#查询备份的数据SELECT * FROM bs_house_cost_i原创 2021-08-31 15:31:00 · 97 阅读 · 0 评论 -
insert into 通过Select来实现
INSERT INTO bs_sys_role_permission (role_id, permission_id, state, remark, version, create_time ) SELECT 33 as role_id,permission_id,state,remark,version,NOW()FROM bs_sys_role_permission WHERE role_id = 31;原创 2021-07-10 16:48:39 · 262 阅读 · 0 评论 -
Mysql sum和case函数的结合使用(楼栋表分页,统计房屋数量)
统计每个楼栋表的房屋数量SELECT b.*, sum(case when (h.id is not null) then 1 else 0 end) as houseNumFROM bs_building b LEFT JOIN bs_house h ON b.id = h.building_id and h.deleted = 0 where b.deleted = 0 GROUP BY b.id原创 2021-06-03 17:05:31 · 562 阅读 · 1 评论 -
MYSQL中replace函数的应用
replace函数可以实现替换表中某个字段的一部分,变成新的一部分.并且保留其余部分.例如:表中的agents字段值原来为: abcd现在要把表中agents字段中的a都替换成f,既fbcd就可以使用replace函数实例: 当partner中的agents是oldAgentsPre时,将partner表中的oldAgentsPre替换成newAgentsPreUPDATE partner p SET p.`agents` = replace(p.`agents`,#{oldAgentsPre原创 2020-07-22 14:50:12 · 176 阅读 · 0 评论 -
mysql 批量插入数据如何防止重复插入
mysql批量插入数据时,会存在重复数据的可能.可以通过1)数据库加联合索引2)修改sql,忽略重复的数据,防止数据库报错1.CREATE TABLE `merchantBlackList` ( `id` int(5) NOT NULL AUTO_INCREMENT, `createTime` datetime NOT NULL, `bankId` int(10) DEFAULT NULL COMMENT '银行id', `merchantSn` varchar(20) COLLA原创 2020-07-17 11:45:05 · 3187 阅读 · 1 评论 -
mysql关联删除
DELETE u2FROM usersRelation u1, usersRelation u2WHERE u1.selfId = u2.selfIdAND u1.bossId = 263AND u2.bossId = 1原创 2019-07-12 16:18:45 · 378 阅读 · 0 评论 -
Mysql字符串左切割右切割函数
从左开始截取字符串SELECT LEFT('www.yuanrengu.com',8)从右开始截取字符串SELECT RIGHT('www.yuanrengu.com',6)原创 2019-06-27 14:02:46 · 713 阅读 · 0 评论 -
根据多个字段分组
#查询每种手机型号的用户数,除了要根据手机型号分组外,还需要根据手机号去重SELECT mobileModel, COUNT(DISTINCT mobile) conFROM loginLogWHERE mobileModel IS NOT NULLGROUP BY mobileModel ORDER BY con desc ...原创 2019-07-08 11:40:11 · 798 阅读 · 0 评论 -
Mysql关联其他表更新
UPDATE users uINNER JOIN users r ON r.`id` = u.`referId`SET u.grade = (r.`grade` + 1)WHERE u.`grade` IS NULLAND r.`grade` IS NOT NULLAND u.`id` != 1原创 2019-06-21 19:48:14 · 505 阅读 · 0 评论 -
Mybatis批量更新
1.可以直接使用foreach标签,来实现批量更新,但是这种效率太低.就不写了2.还可以通过case when 语句来实现批量更新,这种写法效率更高,实际应用中一般使用此方法例如:<update id="updateBatch" parameterType="java.util.List"> update meetingSign <trim ...原创 2019-05-13 11:24:12 · 253 阅读 · 0 评论 -
Mysql百万数据的批量删除
假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeout exceed的错误。 因为这条语句所涉及的记录数太多,因此我们通过LIMIT参数分批删除,比如每10...原创 2019-05-14 18:00:17 · 4649 阅读 · 0 评论 -
mysql查出多行数据的拼接
group_concat就是拼接多行数据的函数select id,group_concat(re_id order by re_id separator ",") as re_id from tablenamegroup by id原创 2019-05-14 10:30:56 · 6653 阅读 · 0 评论 -
MYSQL的加密解密函数,实现钱包的加密功能
参数说明:1) balanceKey:钱包余额加密字段;注意数据库不能设置为varchar类型,需要是varbinary(二进制)类型;例如:balanceKey varbinary(500) DEFAULT NULL;2) pskey是加密秘钥:项目中通过MD5加密方法获取例如:MD5Util.encoderWithSalt(str, salt);3) CAST AS 类型转换函数 ,...原创 2019-04-23 17:12:56 · 974 阅读 · 0 评论 -
Mysql语句执行效率检查和通过索引优化_实例
#通过对表的主要字段,添加索引的方式.可以显著的提高查询效率ALTER TABLE t_jt_contract_integral_detail ADD INDEX index_userId (userId); ALTER TABLE t_jt_contract_integral_detail ADD INDEX index_comp (userId, contractId, staffId);原创 2017-11-23 15:16:52 · 567 阅读 · 0 评论 -
Mysql创建表,删除表,添加列等基本操作
#1.删除表DROP TABLE IF EXISTS `t_jt_contract_birthday_present_delay_exchange_apply`;#2.创建表CREATE TABLE `t_jt_contract_birthday_present_delay_exchange_apply` ( `id` int(11) NOT NULL AUTO_INCREMENT COM原创 2017-11-23 15:50:16 · 560 阅读 · 0 评论 -
MySql语句_取重复记录中最新的一条
SELECT a.repayDateFROM t_jt_contract_data AS tLEFT JOIN (SELECT contractId, MAX(id) AS maxId FROM t_jt_contract_fund_ransom_apply GROUP BY contractId) AS c ON t.id = c.contractIdLEFT JOIN t_原创 2017-12-13 10:34:05 · 9230 阅读 · 0 评论 -
Mysql索引的查看,创建,删除
mysql创建联合唯一索引原创 2017-11-23 16:04:51 · 1163 阅读 · 0 评论 -
新建和删除视图
1:删除视图drop view if exists `v_t_birthday_gift_detail`;2.创建新视图CREATE or REPLACE VIEW `v_t_birthday_gift_detail` AS SELECT jcd.id, jcd.userName, jcd.contractTime as contractTime, jcd.userI原创 2017-11-14 15:51:29 · 882 阅读 · 0 评论 -
MySQL存储过程:包含输入和输出
MySQL存储过程:包含输入和输出DELIMITER $$ DROP PROCEDURE IF EXISTS `p_integral_freeze_product_type_modify` $$ CREATE PROCEDURE p_integral_freeze_product_type_modify (IN `in_contractId` BIGINT ,IN `in_contractAp原创 2017-10-26 18:11:55 · 5362 阅读 · 0 评论 -
MYSQL存储过程,while循环和游标的嵌套使用
DELIMITER $$DROP PROCEDURE IF EXISTS `pro_zlh_test`$$CREATE PROCEDURE pro_zlh_test ()BEGINDECLARE done INT DEFAULT 0 ;DECLARE _contractId BIGINT (20) ; #合同idDECLARE _contractIntegral INT ; #合同积分D原创 2018-01-02 15:00:56 · 4051 阅读 · 0 评论 -
MYSQL备份指定数据
SELECT concat('update t_user t set t.username=', t.username, ' where t.id=', t.id, ';')FROM t_user tWHERE t.id = 1;原创 2018-03-12 10:48:16 · 553 阅读 · 0 评论 -
生产实例:删除一个表中的重复数据,只保留id最小的mysql
#删除t_jt_contract_user表中的重复数据,只保留id最小的DELETE FROM t_jt_contract_user WHERE userIDCard IN (SELECT a.userIDCard FROM(SELECT userIDCard FROM t_jt_contract_user GROUP BY userIDCard HAVING COUNT(userIDCa...原创 2018-08-15 10:44:48 · 3306 阅读 · 3 评论 -
mysql导出语句
#导出表格语句SELECT CONVERT ((@rowNo :=@rowNo + 1), CHAR(10)) AS rowNo, a.*FROM ( date_format(t.investExpireDate, '%Y/%m/%d') AS investExpireDate, t.staffName, t.userPhone, (IFNULL(o.recivedInt...原创 2018-10-26 11:35:00 · 288 阅读 · 0 评论 -
Mysql统计平台每月的交易金额和交易笔数
SELECT DATE_FORMAT(t.`payDateTime`, "%Y-%m") month, COUNT(1) num, IFNULL(SUM(payMoney), 0) sumAmount FROM trade t <where> <if test=...原创 2019-04-26 18:21:11 · 3741 阅读 · 0 评论