zoukankan      html  css  js  c++  java
  • MySQL快速建立测试表

    1:只要已经存在表结构的

    第一种方式:

    CREATE TABLE T1
    SELECT * FROM mysql.user
    WHERE 1=2;

    第二种方式:

    CREATE TABLE T2
    LIKE mysql.user;
    mysql> CREATE TABLE t1
        -> LIKE mysql.user;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> CREATE TABLE t2
        -> SELECT * FROM mysql.user
        -> WHERE 1=2;
    Query OK, 0 rows affected (0.00 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    

    2:表结构和数据都要的

    CREATE TABLE T1
    SELECT * FROM mysql.user
    

      

    3:需要100W的数据量

    DROP TABLE IF EXISTS testdata;
    CREATE TABLE testdata
    (id int,name varchar(10));
    
    DROP PROCEDURE IF EXISTS pro_testdata;
    
    DELIMITER &&
    CREATE PROCEDURE pro_testdata(IN inr int)
      BEGIN
      DECLARE i INT DEFAULT 0;
      START TRANSACTION;
       WHILE i<inr DO
        INSERT INTO testdata(id,name) values(i,'gechong'); 
        SET i=i+1; 
       END WHILE; 
      COMMIT;
      END &&  
    
    DELIMITER ;
    

      

    call pro_testdata(1000000);
    

      

    mysql> SELECT COUNT(1) FROM testdata; 
    +----------+
    | COUNT(1) |
    +----------+
    |        0 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> CALL pro_testdata(10000);
    Query OK, 0 rows affected (0.24 sec)
    
    mysql> SELECT COUNT(1) FROM testdata; 
    +----------+
    | COUNT(1) |
    +----------+
    |    10000 |
    +----------+
    1 row in set (0.00 sec)
    

      

    如果表结构不满足要求做简单修改即可。

    参数类型:in、out、inout

    in表示:调用者传给存储过程

    out表示:存储过程返回给调用者的

    inout:MySQL 存储过程 inout 参数跟 out 类似,都可以从存储过程内部传值给调用者。不同的是:调用者还可以通过 inout 参数传递值给存储过程。

    DROP PROCEDURE IF EXISTS proinout;
    DELIMITER &&
    CREATE PROCEDURE proinout (in id1 int,out id2 int)
    BEGIN
    SELECT id INTO id2 FROM t 
    WHERE id = id1;
    END &&
    
    DELIMITER ;
    

      

    调用

    call proinout(100,@id_num);
    

      

    SELECT @id_num;
    

      

  • 相关阅读:
    PHP MVC运用
    17个方法防止dedeCMS织梦网站被黑挂木马
    少有人走的路
    你有选择的自由
    产品经理需要掌握哪些能力
    产品经理的工作流程
    Weave实现跨主机容器互联
    转载【docker】CMD ENTRYPOINT 的使用方法
    Docker:发布镜像问题denied: requested access to the resource is denied的解决方法
    Docker Dockerfile基本配置
  • 原文地址:https://www.cnblogs.com/xiaoit/p/3376685.html
Copyright © 2011-2022 走看看