批量插入数据

Java批量插入数据 实现Java批量插入数据库数据,在javaeye中看到过几篇关于实现Java批量插入数据库数据,转载时没有找到,就自己写一下,也算是对自己学习过程中所遇到过的问题做一个总结。 一般关于批量向数据库插入数据都采用PreparedStatement、Statement…………也包括直接使用JDBC API、框架………… 也看到过几篇关于这些内容的总结,及大家的评论,以下为我总结的关于批量向数据库插 阅读详情

创建函数,假如报错:This function has none of DETERMINSTIC.....

#由于开启过慢查询日志,因为我们开启了bin-log,我们就必须为我们的function指定一个参数。

show variables like 'log_bin_trust_function_creators';

set global log_bin_trust_function_creators=1;

linux下   /etc/my.cnf下my.cnf[mysqld]加上log_bin_trust_function_creators=1;

随机产生字符串

DELIMITER $$

CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255)
BEGIN    
DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
 DECLARE return_str VARCHAR(255) DEFAULT '';
 DECLARE i INT DEFAULT 0;
 WHILE i < n DO  
 SET return_str =CONCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*52),1));  
 SET i = i + 1;
 END WHILE;
 RETURN return_str;
END $$
 
 
#假如要删除
#drop function rand_string;


随机产生部门编号

#用于随机产生多少到多少的编号
DELIMITER $$
CREATE FUNCTION  rand_num (from_num INT ,to_num INT) RETURNS INT(11)
BEGIN   
 DECLARE i INT DEFAULT 0;  
 SET i = FLOOR(from_num +RAND()*(to_num -from_num+1))   ;
RETURN i;  
 END$$
 
#假如要删除
#drop function rand_num;


创建往emp表中插入数据的存储过程

DELIMITER $$
CREATE PROCEDURE  insert_emp(  START INT ,  max_num INT )
BEGIN  
DECLARE i INT DEFAULT 0;   
#set autocommit =0 把autocommit设置成0  
 SET autocommit = 0;    
 REPEAT  
 SET i = i + 1;  
 INSERT INTO emp (empno, NAME ,age ,deptid ) VALUES ((START+i) ,rand_string(6)   , rand_num(30,50),rand_num(1,10000));  
 UNTIL i = max_num  
 END REPEAT;  
 COMMIT;  
 END$$
 
#删除
# DELIMITER ;
# drop PROCEDURE insert_emp;


#执行存储过程,往dept表添加随机数据
DELIMITER $$
CREATE PROCEDURE `insert_dept`(  max_num INT )
BEGIN  
DECLARE i INT DEFAULT 0;   
 SET autocommit = 0;    
 REPEAT  
 SET i = i + 1;  
 INSERT INTO dept ( deptname,address,ceo ) VALUES (rand_string(8),rand_string(10),rand_num(1,500000));  
 UNTIL i = max_num  
 END REPEAT;  
 COMMIT;  
 END$$
 
#删除
# DELIMITER ;
# drop PROCEDURE insert_dept;


#执行存储过程,往dept表添加1万条数据
DELIMITER ;
CALL insert_dept(10000);



#执行存储过程,往emp表添加50万条数据
DELIMITER ;
CALL insert_emp(100000,500000);

#批量删除某个表上的所有索引

DELIMITER $$
CREATE  PROCEDURE `proc_drop_index`(dbname VARCHAR(200),tablename VARCHAR(200))
BEGIN
       DECLARE done INT DEFAULT 0;
       DECLARE ct INT DEFAULT 0;
       DECLARE _index VARCHAR(200) DEFAULT '';
       DECLARE _cur CURSOR FOR  SELECT   index_name   FROM information_schema.STATISTICS   WHERE table_schema=dbname AND table_name=tablename AND seq_in_index=1 AND    index_name <>'PRIMARY'  ;
       DECLARE  CONTINUE HANDLER FOR NOT FOUND set done=2 ;      
        OPEN _cur;
        FETCH   _cur INTO _index;
        WHILE  _index<>'' DO
               SET @str = CONCAT("drop index ",_index," on ",tablename );
               PREPARE sql_str FROM @str ;
               EXECUTE  sql_str;
               DEALLOCATE PREPARE sql_str;
               SET _index='';
               FETCH   _cur INTO _index;
        END WHILE;
   CLOSE _cur;
   END$$
   
   
   #执行存储过程,清除索引
   DELIMITER ;
   CALL proc_drop_index("dbname","tablename");



HBase批量插入数据 文章目录写在前面关键点实现代码尾记 写在前面 其实下文内容更适合在Spark中作为任务去执行,为了讲解,我先单独拎出来了,使用场景的话其实也很明显,就是大规模将数据写入HBase中。 关键点 大数据组件服务不可用(如断点、磁盘爆炸等)暂时不是本文内容所考虑的内容。 首先,使用HBase1.0以上版本才支持的BufferedMutator,对HBase执行异步写入操作,使用mutate(Li... 阅读详情

相关推荐

python批量插入数据到mysql

python大批量插入mysql

qq_35224503的博客 5842

This function has none of DETEMINISTIC,NO SQL错误解决办法

在MySQL中创建function的时候出现了"ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe l

奋斗的小青年 7385

python批量插入数据到postgres

一、python脚本 #!/usr/bin/python # -*- coding: UTF-8 -*- import string import psycopg2 import random from psycopg2 import extras address_list = {'北京', '上海', '深圳', '广州', '长沙', '成都', '吉林', '邵阳', '九江', '长春', '拉萨'} conn = psycopg2.connect(database="test", u.

zsx18273117003的博客 1557

MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法

MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* wan

Sky 的专栏 9万+

C#上位机实战:借助NetToPLCSim与西门子S7-1200仿真通信全攻略

本文详细介绍了如何使用C#开发上位机程序,通过NetToPLCSim与西门子S7-1200进行仿真通信的全过程。从环境准备、PLC仿真环境搭建、网络配置到C#代码实现,提供了完整的实战指南和常见问题解决方案,帮助开发者快速掌握工业自动化通信技术。

weixin_30596343的博客 440

MuJoCo 仿真中的碰撞检测与参数优化实战

本文深入解析MuJoCo仿真中的碰撞检测机制与参数优化策略,涵盖位掩码配置、凸包分解实战及穿模问题解决方案。通过具体案例和参数设置建议,帮助开发者高效解决机械臂抖动、轴孔装配等常见问题,提升仿真精度与稳定性。特别针对步进电机仿真提供了高增益位置执行器的优化方案。

weixin_29081101的博客 332

mysql 结束符报错_MySQL-10-mysql编程

MySQL编程1.语句结束符默认有两个:;和\g(只能在命令行中使用)可以使用delimiter命令来修改语句结束符,例如:delimiter$$(注意,一般手工修改结束符后再改回默认值;)2.注释a)行注释:#和--[空格]b)块注释:/**/3.变量a)系统变量:showvariables[likepattern];查看b)用户自定义变量:i.set变量名=变量值...

weixin_39525933的博客 345

从零搭建 AI 运维 Agent:告警自动诊断 + 修复的完整技术方案

适合读者:管理 5-50 台服务器的运维/SRE 工程师、技术负责人 技术栈:FastAPI + React + PostgreSQL + Redis + DeepSeek 关键词:AI运维、AIOps、自动化运维、智能告警、告警修复、Runbook自动化、DevOps、SRE、DeepSeek运维

weixin_38359457的博客 1640

批量插入

insert into tt_t_notice  TID, NOTICE_TYPE, NOTICE_CONTENT, NOTICE_STATUS, NOTICE_BY, CREATE_DATE, CREATE_BY, UPDATE_DATE, UPDATE_BY, ORG_ID, WAREHOUSE_ID , COMPANY_ID    value    

qq_37889636的博客 604

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码)

本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。

svm4gardener的博客 332

EWF写保护功能详解:从安装到实战操作指南

本文详细介绍了EWF写保护功能的安装与实战操作指南。EWF(Enhanced Write Filter)通过重定向写入操作保护硬盘分区,特别适合需要长期稳定运行的系统场景。文章涵盖从安装准备、图形界面操作到命令行高级管理的全流程,并提供了常见问题的解决方案,帮助用户轻松掌握这一实用工具。

weixin_28710999的博客 446

MySQL插入大量数据最好用批量插入

插入大量数据到MySQL数据库时,执行单条插入语句的开销相对较大,包括网络延迟、每次插入都要进行事务处理和日志记录等。批量插入可以将多条插入语句合并为一条,从而减少网络往返次数和事务开销,提高整体数据插入效率。

少说,多做。 1万+

锂电池寿命预测 | Python实现基于LSTM长短期记忆神经网络的锂电池寿命预测

锂电池寿命预测 | Python实现基于LSTM长短期记忆神经网络的锂电池寿命预测

算法如诗的博客 1901

MySQL批量插入数据详解

批量插入数据是MySQL中提高插入效率、减少开销的重要手段。本文详细介绍了几种常见的批量插入方法,包括使用单条INSERT语句、命令、存储过程以及使用事务保证原子性等。同时,提供了一些优化和最佳实践建议。

良月柒 8779

c++ webrtc基础(1) :webrtc源码下载与编译、项目模块介绍、学习资料推荐

本篇博客介绍webrtc源码的下载与编译,以及推荐webrtc学习资料。 源码下载 电脑环境:win10/win11 64bit,合理的上网环境,没有合理的网络环境无法拉取、下载webrtc代码和工具,宽带速度要快,尽量50M. 主要步骤如下: (1) 安装git (2) 打开cmd控制台,下载google开发工具depot_tools: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git (3) 新建一个目

琅嬛福地 3293

第201期 解锁科研效率新高度:Claude 科学技能插件(claude-scientific-skills)深度体验

科研AI助手Claude Scientific Skills开源工具为Claude大模型扩展科学能力,覆盖数据可视化、数学计算、学术格式处理等科研全流程需求。该插件支持LaTeX公式生成、自动化科研图表绘制、学术文档规范校正等功能,让研究人员通过自然语言指令即可完成专业任务。项目开源可定制,支持特定学科需求扩展,目前已托管于GitHub。使用门槛低,只需配置Claude API密钥即可快速启用,帮助科研人员从繁琐技术细节中解放,聚焦核心研究创新。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1357

Elasticsearch批量插入数据

如何向Elasticsearch数据库中批量的插入数据 使用bulk批量操作数据库

qq_30758673的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pymysql单条插入数据和批量插入数据:

一、单条插入数据: #!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 里面的数据类型要对应 sql ...

凌云俯瞰 4万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

postgresql批量插入数据

正常情况下,数据库插入一条数据耗时余额几十毫秒,这在大多数情况下是可以接受的;但是如果一次性需要插入几千、几万甚至更大数据量的时候,时间就有些长了,这个时候就需要稍微修改一下sql语句,使之可以批量插入大量数据 ; 插入一条数据sql: INSERT INTO w008_test_insert(id, is_removed, work_id, taskid, wfid, e2eid, cre...

qxianx的博客 4万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

QT之数据库批量插入封装——批量插入器

1.head file (.h) #ifndef QBATCHINSERTADAPTER_H #define QBATCHINSERTADAPTER_H /************************************************************/ /* File: qbatchinsertadapter.h ...

octdream的专栏 2940

mysql批量插入数据

review代码发现,同事mysql批量插入数据的实现方法是,用for循环遍历,将列表每个数据单次插入。相当于批量插入N条数据,进行了n次的数据库连接和插入操作。 底层有批量插入的方法,但是会有问题,所以已经停用,看下面实现是,取到一个数据库连接,来处理后面所有的插入操作。若这个列表ops所有的sql语句执行的数据库都是同一个的话,就没什么问题,若里面存在散库的情况,只要跟第一个不在同...

204

JdbcTemplate批量插入数据

运行环境:SpringBoot,注入JdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; 1、单表批量插入数据 @Test public void batchTest() throws IOException { InputStream inputS...

qq_39354297的博客 2350

mysql批量插入数据,一次插入多少效率最高

文章目录 一、前言 二、批量插入前准备 1、插入到数据表的字段 2、计算一行字段占用的空间 3、在数据里做插入操作的时候,整体时间的分配 三、批量插入数据测试 1、SQL语句的大小限制 2、查看服务器上的参数: 3、计算一次能插入的最大行记录 4、测试插入数据比对 (1)插入11W条数据,按照每次10,600,1000,20000,80000来测试: (2)加大数据量到24w (3)加大测试量到4...

KKKakarotto的博客 2652
上一篇: MySQL多表查询
下一篇: mycat
cpp131313
博客等级 码龄15年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值