写一段代码,在表Students_8208210915中自动产生100条记录,其中女生约占30%
时间: 2024-03-16 17:45:44 浏览: 11
好的,以下是一段可以在表Students_8208210915中自动生成100条记录的SQL代码,其中女生约占30%:
```sql
-- 生成100条记录
INSERT INTO Students_8208210915 (Sno, Sname, Gender, Birthday)
SELECT
CONCAT('2021', RIGHT(CONCAT('000', ROW_NUMBER() OVER (ORDER BY (SELECT NULL))), 3)), -- 学号格式为“2021XXX”,其中XXX为自增的三位数
CONCAT('学生', RIGHT(CONCAT('000', ROW_NUMBER() OVER (ORDER BY (SELECT NULL))), 3)), -- 姓名格式为“学生XXX”,其中XXX为自增的三位数
CASE WHEN RAND() < 0.3 THEN '女' ELSE '男' END, -- 性别随机,女生约占30%
DATEADD(DAY, -1 * FLOOR(RAND() * 365 * 20), '2002-01-01') -- 出生日期随机在2002年1月1日之后,至少20岁
FROM
sys.columns c1, sys.columns c2 -- 生成100条记录,使用系统表sys.columns来辅助生成自增的学号和姓名
WHERE
c1.column_id = 1 AND c2.column_id = 1 -- 两个表的第一个列
AND ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) <= 100; -- 限制生成100条记录
```
注意,此代码仅供参考,具体实现可能需要根据实际情况进行修改。