精华内容
下载资源
问答
  • 有时候需要测试性能,我们需要导入大量数据,在此,可以通过构建触发器,传入数量参数,即可插入对应行数数据,内容如下: 建表 CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `code` VARCHAR(50)...

    介绍

    有时候需要测试性能,我们需要导入大量数据,在此,可以通过构建存储过程,传入数量参数,即可插入对应行数数据,内容如下:

    建表

    CREATE TABLE `user` (
    	`id` INT(11) NOT NULL AUTO_INCREMENT,
    	`code` VARCHAR(50) NOT NULL,
    	`name` VARCHAR(50) NOT NULL,
    	PRIMARY KEY (`id`)
    )
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    AUTO_INCREMENT=7
    ;
    
    select count(1) from user;
    

    结果如下:
    在这里插入图片描述

    建立存储过程

    DELIMITER $
    CREATE DEFINER=`root`@`localhost` PROCEDURE `batch_into_user`(
    	IN `count_num` INT
    )
    
    COMMENT '存储过程,用于批量插入,传入参数,插入该表'
    begin 
    
      declare i int default 1;
      while i<=count_num  do
        insert into  user (id,code,name) values(i, concat('code_',i),concat('张大宝',i));
        set i=i+1;
      end while;
    end$
    
    

    调用存储过程插入一万数据,查询结果

    call batch_into_user(10000);
    select count(1) from user;
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 因工作需要维护一张中建表数据内置,所以得造数据所以使用存储过程造数据 1.首先清除中间表的数据(同时清除自增记录): truncate wk_dept_item_relation; 2、数据库的表结构如下: CREATE TABLE `wk_dept_...

    因工作需要维护一张中建表数据内置,所以得造数据所以使用存储过程来造数据

    1.首先清除中间表的数据(同时清除自增记录):
    truncate wk_dept_item_relation;

    2、数据库的表结构如下:

    CREATE TABLE `wk_dept_item_relation` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `deptCode` varchar(64) DEFAULT '' COMMENT '部门编号',
      `itemId` bigint(20) DEFAULT NULL COMMENT '某个外键id',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3367 DEFAULT CHARSET=utf8;

    3、创建存储过程 两个字段需要维护,此处使用的是双重循环进行插入

    DROP PROCEDURE IF EXISTS my_insert; ##如果存在此存储过程则删掉
    DELIMITER $
    CREATE PROCEDURE my_insert()
    BEGIN
    DECLARE a INT DEFAULT 1000;
    DECLARE b BIGINT DEFAULT 1;
    WHILE (a <= 1065) DO
    -- repeat
    SET a = a + 1;
    -- select a;
    WHILE (b <=51) DO
    insert into wk_dept_item_relation(deptCode,itemId) values(a,b);
    SET b = b + 1;
    -- select b;
    END WHILE;

    SET b = 1;
    -- select a;
    -- until a >= i_PlayerCount
    -- end repeat;
    END WHILE;
    commit;
    END;;

    4、调用此处的存储过程

    CALL my_insert();

    附上单层循环的存储过程

    DELIMITER ;;
    CREATE PROCEDURE my_insert()
    BEGIN
    DECLARE y TINYINT DEFAULT 1;
    WHILE y<20
    DO
    insert into school_sp_mj(school_id,mojor_id,status) values(1,y,1);
    SET y=y+1;
    END WHILE ;
    commit;
    END;;
    CALL my_insert();

     

    展开全文
  • 假定表里面已经有一些数据了,现在要通过存储过程来让已有的数据不停的翻番,已出大量的数据 CREATE OR REPLACE PROCED假定表里面已经有一些数据了,现在要通过存储过程来让已有的数据不停的翻番,已出大量的...

    假定表里面已经有一些数据了,现在要通过存储过程来让已有的数据不停的翻番,已造出大量的数据 CREATE OR REPLACE PROCED

    假定表里面已经有一些数据了,现在要通过存储过程来让已有的数据不停的翻番,已造出大量的数据

    CREATE OR REPLACE PROCEDURE "INSERTDATA"

    AS

    distance int;

    BEGIN

    distance := 0;

    loop

    INSERT INTO user.table

    (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, TEST)

    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, TEST

    FROM user.table;

    exit when distance > 4;

    distance := distance + 1;

    end loop;

    commit;

    END;

    完了,可以查一下表的大小

    select round(sum(bytes)/(1024*1024),2) from user_extents where segment_name = 'user.table';

    logo.gif

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 添加项目user的存储过程,在dh_account库进行call调用: DELIMITER $$ create procedure add_user(in name1 varchar(64),IN name_suffix_Start INT ) BEGIN DECLARE name1 varchar(64); declare a tinyint; set a=0...

    添加项目user的存储过程,在dh_account库进行call调用:

    DELIMITER $$
    create procedure add_user(in name1 varchar(64),IN name_suffix_Start INT   )
    BEGIN
        DECLARE name1 varchar(64);
        declare a tinyint;
        set a=0;
        while a<10 do
           INSERT INTO dh_account.tb_user (name,phone,email,password,state,sex,head_img,entity,create_date,update_date)
            VALUES (concat('苦瓜',name_suffix_Start),'15828326397','allah@qq.com','gesge',1,1,null,null,null,null);
           set a=a+1;
           SET name_suffix_Start = name_suffix_Start + 1;
        end while;
    END
    $$
    

    添加项目成员的存储过程

    
    ```sql
    DELIMITER //
    create procedure add_employee_zxx(in name1 varchar(64),IN name_suffix_Start INT )
    BEGIN
        #DECLARE name1 varchar(64);
        Declare _ecode varchar(8) CHARACTER SET utf8;
        declare userId bigint;
        declare a bigint;
    
          #从tb_user表中取user_id存入游标
            declare cur cursor for select id from dh_account.tb_user where id not in(select user_id from dh_enterprise.employee where del_flag=1 and project_id=82);
            open cur;
            set a=0;
            while a<2 do
        #取出游标值至变量中
                fetch cur into userId;
                INSERT INTO dh_enterprise.employee (code,name,phone,portrait,sex,age,identity_card,working_unit,construction_site,work_type,
                                                expire_date,user_id,
                                               department_id,project_id,del_flag,change_dept_time,update_time,create_time)
                VALUES (upper(left(uuid(),8)),concat(name1,name_suffix_Start),null,'gesge',1,20,null,null,null,null,null,userId,635,82,1,null,null,null);
                SET name_suffix_Start = name_suffix_Start + 1;
                set a=a+1;
            end while;
    
    END
    //
    
    
    
    展开全文
  • MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
  • 性能测试是基于大量数据的,而进行性能测试之前肯定没那么多数据,所以就要自己准备数据...数据量级--测试数据--基础数据启动并用工具连接mysql,这里的新建函数,所建的函数,即为存储过程也可以在命令行mysql -...
  • –dxp_gp_1w造数据存储过程 DROP PROCEDURE add_list; CREATE PROCEDURE add_list(@num int) AS DECLARE @i INT DECLARE @RandomStr CHAR(1) DECLARE @RandomStr2 CHAR(1) DECLARE @RandomStr3 CHAR(5) DECLARE @...
  • 但是存储过程是一个整体,我们不希望SQL逐条执行,而是采用存储过程整段执行的方式,因此我们就需要定义新的DELIMITER ,新的结束符可以用(//)或者($$) 因为上面的代码应该就改为如下这种方式 DELIMITER /...
  • 实现 1)有同样的数据,直接返回(返回值:0); 2)有主键同样,可是数据不同的数据,进行更新处理(返回值:2);...【创建存储过程】 Create proc Insert_Update @Id varchar(20), @Name v...
  • 笔者经常使用的一种方法是,用 MySQL 存储过程制造测试数据,以下做个简单总结。   以 MySQL 数据库表 tbl_mgm_menu 为例,其建表语句如下。 DROP TABLE IF EXISTS `tbl_mgm_menu`; CREATE TABLE `tbl_mgm_menu`
  • 通过sql储存过程的方式4.也可以通过python连接pymysql库,然后使用循环条件来控制insert into语句的循环次数。 1.通过批量请求创建接口的方式 首先,获取创建数据的接口请求方式、路径及参数 其次,把请求放入...
  • 在执行压测脚本之前,我们通常要准备数据库存量数据,一般是以生产数据为依据成比例增加,少则需要上百万,多则需要上千万、上亿,经常有很多时间要花在造数据上。   目前常用的造数据方法有: 1、通过编程语言...
  • declare id varchar2(36); begin for i in 1..100000 loop id := '8a035883348d33f501649197' || lpad(to_char(i),8,'0'); insert into RECEIVER_INFO (ID, CREATE_NAME, CREATE_BY, CREAT...
  • 作者:zlt982001将表数据生成SQL脚本的存储过程:CREATE PROCEDURE dbo.UspOutputData@tablename sysnameASdeclare @column varchar(1000)declare @columndata varchar(1000)declare @sql varchar(4000)...
  • 誊抄自原来的笔记 DROP PROCEDURE batch_...LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '批量插入审核流水表' BEGIN DECLARE DONE INT DEFAULT TRUE;-- 定义一个标识为true DECLAR.
  • 1. 定义生产数据存储过程: drop procedure if exists prcd_create_data; create procedure prcd_create_data(IN totalCount int) begin declare num int; set num=0; while num<totalCount do set num=...
  • create or replace function creatData2() returns boolean AS $BODY$ declare ii integer; begin II:=1; FOR ii IN 1..500 LOOP INSERT INTO t01_author (id, ... 插入500条数据存储过程是比较简单的添加数据的方法
  • 本文实例讲述了Python通过调用mysql存储过程实现更新数据功能。分享给大家供大家参考,具体如下: 一、需求分析 由于管理费率配置错误,生成订单的还本付息表和订单表的各种金额,管理费之间的计算都有错误,需要...
  • 如果你用的是workbench这类的软件,这句话是报错的,请在workbench的performance的sql queries 选项内,把 General子项下面的 "Safe Updates" 钩掉 , 然后 reconnect 一下就完事了. 数据测试:Ubuntu 12.10 下mysql ,...
  • 研究sql岂能不需要大量数据,故整理了一份批量造数据的笔记。-- 创建表 kk_testCREATE TABLE `kk_test`(`id` INT(11) NOT NULL AUTO_INCREMENT,`randomString` VARCHAR(20) NOT NULL,`randomNumber` INT(11) NOT ...
  • 循环插入数据的临时存储过程 --/ BEGIN DECLARE v_date date ; DECLARE v_date_str varchar(20) ; DECLARE str varchar(20) ; DECLARE i INTEGER ; DECLARE val INTEGER ; declare sqlStr varchar...
  • 创建数据库 create database if not exists testDB default charset utf8 collate utf8_general_ci; 选择数据库 USE testDB;... 删除表数据 在测试过程你可能会需要删除数据,可以使用truncate TRUNCATE test;
  • 对我来说,更常用的场景是造数据的时候,可能仅需要不同的id,却要造n多条数据,每次修改id就超级麻烦,使用存储过程简直不要太节省时间! 以下为存储过程的使用方法(小白总结,如有错误,欢迎指正!): 定义...
  • 打开Navicat,找到项目库,找到与登录相关的表,查询表结构,明确需要插入的字段: 点击Query(查询),NewQuery,然后创建一个存储过程insertuser2:
  • 1.创建存储过程 右键函数,新建函数 2. 创建函数或者存储过程 填入参数 3. 填写存储过程代码 随机往aws_action表中插入数据 BEGIN DECLARE i int UNSIGNED; set i=1; while i<=num DO ...
  • sql语句快速生成大量数据,批量生成数据 1.首先先建两个表 – 创建一个临时内存表 set global log_bin_trust_function_creators=1; DROP TABLE IF EXISTS vote_recordss_memory; CREATE TABLE vote_recordss_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,374
精华内容 6,949
关键字:

存储过程造数据sql