查看所有存储过程: show procedure status; 查看详细存储过程 ptest: show create procedure ptest; 存储过程插入数据: create table milli(id int auto_increment primary key, name varchar(20), num int); truncate table milli; delimiter $$ drop procedure if exists ptest; create proced…
CREATE TABLE dept( /*部门表*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/ dname VARCHAR(20) NOT NULL DEFAULT "",/*名称*/ loc VARCHAR(13) NOT NULL DEFAULT "" /*地点*/ )ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE emp( /*EMP雇员表*/ e…
比如插入1000W数据,不建议一次性插入,比如一次插入500W,分批插入. 创建表 /*部门表*/ CREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, /*id*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT , /*编号*/ dname VARCHAR() NOT NULL DEFAULT "",/*名称*/ loc VARCHAR() NOT NULL DEFAULT…
mysql一次插入多条数据: INSERT INTO hk_test(username, passwd) VALUES ('qmf2', 'qmf2'),('qmf3', 'qmf3'),('qmf4', 'qmf4'),('qmf5', 'qmf5') GO…
工作中遇到的问题,先记录一下,方便以后查看 存在两张表,user表和friend表 user表部分字段,如上图 friend表部分字段,如上图 往friend表插入千条数据,friend表中的userId值是固定的,对应的friendId是从user表中获取 实现方案: 1.游标存储: -- 在windows系统中写存储过程时,如果需要使用declare声明变量,需要添加这个关键字,否则会报错. delimiter // drop procedure if exists insertUserFr…
对比一下,首先是用 mysql 的存储过程弄的: 复制代码代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> create procedure test() begin declare i decimal (10) default 0 ; dd:loop INSERT INTO `million` (`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`,…
LAST_INSERT_ID 自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里 The ID that was generated is maintained in the server on a per-connection basis. LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变. 可以用 SELECT LAST_INSERT_ID(); 查询LAST_INSERT_I…
利用mysql内存表插入速度快的特点,先存储过程在内存表中生成数据,然后再从内存表插入普通表中 一.创建内存表 CREATE TABLE `vote_record_memory` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `pwd` ) NOT NULL, `create_time` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE DEFAULT CHARSET = utf8 二.创建普…
新手小白写的,我自己都不知道对不对,先写下来记着,以后掌握更多Python知识后,再来看下写的对不对. 题目:造一百万条大学生的基本信息(学校.专业.姓名.学号) 分析思路:利用Python的MySQL模块实现,首先导入MySQL模块,创建一个student表,再利用循环插入100万条学生记录.(我知道这里应该有优化,可是我还不知道怎么实现,哭------) 代码实现: import MySQLdb db=MySQLdb.connect('localhost','user','123','tes…
虽说不一定5分钟就插入完毕,因为取决去所插入的字段,如果字段过多会稍微慢点,但不至于太慢.10分钟内基本能看到结果. 之前我尝试用多线程来实现数据插入(百万条数据),半个多小时才二十多万条数据. 线程池数据插入核心代码: ExecutorService executorService = Executors.newFixedThreadPool(); executorService.submit(new Runnable() { @Override public void run() { for…