写一段代码,在表Students_8208210915中自动产生100条记录,其中女生约占30%
时间: 2024-03-16 17:45:51 浏览: 60
SQL语句,统计出班级的男女人数
好的,以下是一种可能的实现方式:
```
-- 生成100条学生记录,其中女生约占30%
INSERT INTO Students_8208210915(Sno, Sname, Gender, Birthday)
SELECT
CONCAT('S', LPAD(ROW_NUMBER() OVER(ORDER BY (SELECT NULL)), 3, '0')) AS Sno,
CONCAT('学生', LPAD(ROW_NUMBER() OVER(ORDER BY (SELECT NULL)), 3, '0')) AS Sname,
IF(RAND() < 0.3, '女', '男') AS Gender,
DATE_ADD('2000-01-01', INTERVAL FLOOR(RAND() * 365 * 20) DAY) AS Birthday
FROM
information_schema.tables AS t1,
information_schema.tables AS t2
LIMIT 100;
```
这段代码利用了 MySQL 中内置的随机函数 RAND() 以及日期函数 DATE_ADD(),生成了一个包含 100 条记录的学生表。其中,女生占比约为 30%。
具体来说,代码中通过 ROW_NUMBER() 函数为每条记录分配一个学号 Sno 和姓名 Sname,其中 Sno 的格式为 'S001'、'S002'、'S003' 等。Gender 字段则通过 IF 函数随机生成,约为 30% 的记录为女性,其余为男性。Birthday 字段则通过 DATE_ADD 函数随机生成 20 年以内的日期。
希望这段代码能够帮到您!
阅读全文