• 首页
  • 邻居
  • 关于
  • 归档
  • 搜索
  • 夜间模式
    ©2020-2026  我的学习笔记 Theme by OneBlog

    我的学习笔记博客

    搜索
    标签
    # 随笔 # Java # 教程 # openwrt # Mysql # SQL # 爬虫 # post # Js调优 # MAVEN
  • 首页>
  • 随笔>
  • 正文
  • mysql数据库生成百万计测试数据脚本

    2024年04月05日 895 阅读 0 评论 1961 字
    # 1.创建数据库
    CREATE DATABASE test charset=utf8mb4;
    USE test;
    # 2.创建表
    CREATE TABLE User (
        userId INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(255) NOT NULL,
        email VARCHAR(255) NOT NULL UNIQUE,
        registrationDate DATETIME NOT NULL,
        lastLogin DATETIME,
        createTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
        updateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP -- 更新时间
    );
    # 3.插入测试数据
    INSERT INTO test.`User` (username, email, registrationDate, lastLogin) VALUES
    ('JohnDoe01', 'john.doe01@example.com', '2023-02-01 08:00:00', '2023-02-02 09:00:00'),
    ('JaneDoe02', 'jane.doe02@example.com', '2023-02-02 10:00:00', '2023-02-03 11:00:00'),
    ('MikeSmith03', 'mike.smith03@example.com', '2023-02-03 12:00:00', '2023-02-04 13:00:00'),
    ('LucyBrown04', 'lucy.brown04@example.com', '2023-02-04 14:00:00', '2023-02-05 15:00:00'),
    ('DavidWilson05', 'david.wilson05@example.com', '2023-02-05 16:00:00', '2023-02-06 17:00:00'),
    ('LindaTaylor06', 'linda.taylor06@example.com', '2023-02-06 18:00:00', '2023-02-07 19:00:00'),
    ('RobertJones07', 'robert.jones07@example.com', '2023-02-07 20:00:00', '2023-02-08 21:00:00'),
    ('PatriciaWhite08', 'patricia.white08@example.com', '2023-02-08 22:00:00', '2023-02-09 23:00:00'),
    ('MichaelHarris09', 'michael.harris09@example.com', '2023-02-09 08:30:00', '2023-02-10 09:30:00'),
    ('SarahMartin10', 'sarah.martin10@example.com', '2023-02-10 10:30:00', '2023-02-11 11:30:00');
    
    # 4.批量插入100w数据
    # 4.1 创建存储过程
    DELIMITER $$
    CREATE PROCEDURE InsertUsers()
    BEGIN
      DECLARE i INT DEFAULT 0;
      WHILE i < 1000000 DO
        INSERT INTO User (username, email, registrationDate, lastLogin) VALUES 
        (CONCAT('User', LPAD(i, 7, '0')), CONCAT('user', LPAD(i, 7, '0'), '@example.com'), NOW(), NOW());
        SET i = i + 1;
      END WHILE;
    END$$
    DELIMITER ;
    # 4.2 调用存储过程,生成100w用户数据
    CALL InsertUsers();
    

    本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    首页邻居关于归档
    Copyright©2020-2026  All Rights Reserved.  Load:0.016 s
    京ICP备18019712号
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。