mySQL数据库

  schooldb库——utf8字符集——utf8_general_ci排序规则

先创建库,再去使用下列的DDL语句

插入20万条数据

DDL

CREATE TABLE student (
    id INT PRIMARY KEY AUTO_INCREMENT,   -- 假设使用MySQL,且id为主键自增
    createDate DATE NOT NULL,            -- 创建日期
    userName VARCHAR(100) NOT NULL,      -- 用户名
    phone VARCHAR(20),                   -- 电话号码
    age INT,                             -- 年龄
    sex ENUM('M', 'F', 'O'),             -- 性别,M代表男,F代表女,O代表其他
    introduce TEXT                       -- 介绍
);

DML

INSERT INTO student (createDate, userName, phone, age, sex, introduce) 
VALUES 
('2023-10-23', '张三', '13800138000', 20, 'M', '我是张三,喜欢学习。'),
('2023-10-22', '李四', '13900139000', 22, 'F', '我是李四,热爱运动。');

DQL

DELIMITER //
CREATE PROCEDURE InsertRandomStudents(num_students INT)
BEGIN
    DECLARE i INT DEFAULT 0;
    WHILE i < num_students DO
        INSERT INTO student (createDate, userName, phone, age, sex, introduce)
        VALUES (
            CURDATE() - INTERVAL FLOOR(RAND() * 365) DAY,  -- 随机创建日期(过去一年内)
            CONCAT('User', FLOOR(RAND() * 100000) + 1),    -- 随机用户名(User1到User100000)
            CONCAT('1', FLOOR(RAND() * 900000000) + 100000000),  -- 随机电话号码(以1开头,10位数字)
            FLOOR(RAND() * 100) % 100,                     -- 随机年龄(0到99岁)
            ELT(1 + FLOOR(RAND() * 3), 'M', 'F', 'O'),     -- 随机性别(M, F, O中的一个)
            CONCAT('Introduction for ', FLOOR(RAND() * 100000) + 1)  -- 随机介绍文本
        );
        SET i = i + 1;
    END WHILE;
END //
DELIMITER ;
CALL InsertRandomStudents(200000);

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值