案例:给数据库database下的score表增加10000条测试数据。
一、准备工作
工具下载:SQLyog,参考文章SQLyog入门教程:安装与使用
二、SQL语句
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=10000 DO
INSERT INTO score(
id,
course,
teacher,
marks,
grade,
examdate
)
VALUES(
i,
ELT(CEILING(RAND()*3), '语文', '数学', '英语'),
CASE course WHEN '语文' THEN '张三' WHEN '数学' THEN ELT(CEILING(RAND()*2), '李四', '王五') WHEN '英语' THEN 'Tony' END,
FLOOR(RAND()*101),
CASE WHEN marks > 90 THEN '优秀' WHEN marks > 80 THEN '良好' WHEN marks >= 60 THEN '及格' ELSE '不及格' END,
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL FLOOR(RAND()