DDL
CREATE TABLE schooldb (
Id INT PRIMARY KEY AUTO_INCREMENT,
createDate DATE,
userName VARCHAR(255),
phone VARCHAR(15),
age INT,
sex CHAR(2),
introduce TEXT
);
DML
INSERT INTO schooldb (createDate, userName, phone, age, sex, introduce) VALUES
('2023-09-01', '张三', '13800138000', 18, '男', '热爱运动,性格开朗'),
('2023-09-02', '李四', '13900139000', 19, '女', '喜欢音乐,学习成绩优异'),
('2023-09-03', '王五', '13700137000', 20, '男', '擅长绘画,多次获奖'),
('2023-09-04', '赵六', '13600136000', 18, '女', '文静内向,喜欢阅读'),
('2023-09-05', '孙七', '13500135000', 19, '男', '热爱科技,熟悉多种编程语言'),
('2023-09-06', '周八', '13400134000', 20, '女', '舞蹈社团成员,多次参加演出'),
('2023-09-07', '吴九', '13300133000', 18, '男', '热爱篮球,校队主力');
DQL
DELIMITER //
CREATE PROCEDURE InsertRandomData()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 200000 DO
INSERT INTO student (createDate, userName, phone, age, sex, introduce)
VALUES (
-- 这里我们使用了一些MySQL的内置函数来生成随机数据
CURDATE() - INTERVAL FLOOR(RAND() * 365) DAY, -- 随机创建日期(过去一年内)
CONCAT('User', FLOOR(RAND() * 1000000)), -- 随机用户名
CONCAT('13', LPAD(FLOOR(RAND() * 89999999) + 10000000, 8, '0')), -- 随机电话号码
FLOOR(RAND() * 10 + 18), -- 18到27之间的随机年龄
IF(RAND() > 0.5, '男', '女'), -- 随机性别
'这是一个随机介绍文本。' -- 固定或随机介绍文本
);
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
-- 调用存储过程来插入数据
CALL InsertRandomData();