在SQL数据库中,请编写一段代码在学生(属性为:学号,姓名,性别,出生日期,入学时间,班级代码,系部代码,专业代码)生成60条学生信息,班级代码统一为140201001,专业代码统一为0201,系部代码统一为02
时间: 2023-07-10 09:37:18 浏览: 114
假设你使用的是MySQL数据库,可以使用以下代码生成60条学生信息:
```
-- 创建学生表
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
student_id VARCHAR(10) NOT NULL,
name VARCHAR(20) NOT NULL,
gender CHAR(1) NOT NULL,
birthday DATE NOT NULL,
enrollment_date DATE NOT NULL,
class_code VARCHAR(10) NOT NULL,
department_code VARCHAR(10) NOT NULL,
major_code VARCHAR(10) NOT NULL
);
-- 生成数据
INSERT INTO student (student_id, name, gender, birthday, enrollment_date, class_code, department_code, major_code)
SELECT CONCAT('2021', LPAD((@rownum:=@rownum+1), 4, '0')) AS student_id,
CONCAT('学生', LPAD((@rownum), 2, '0')) AS name,
CASE WHEN @rownum%2 = 1 THEN 'M' ELSE 'F' END AS gender,
DATE_ADD('1990-01-01', INTERVAL FLOOR(RAND()*365*20) DAY) AS birthday,
DATE_ADD('2020-09-01', INTERVAL FLOOR(RAND()*30) DAY) AS enrollment_date,
'140201001' AS class_code,
'02' AS department_code,
'0201' AS major_code
FROM information_schema.tables, (SELECT @rownum:=0) r
LIMIT 60;
```
这段代码会创建一个名为`student`的表,然后使用`INSERT INTO`语句插入60条学生信息。其中,学号(`student_id`)使用'2021'开头,后面跟据行号生成,例如第一条数据的学号为'20210001'。姓名(`name`)使用'学生'开头,后面跟据行号生成,例如第一条数据的姓名为'学生01'。性别(`gender`)随机生成,出生日期(`birthday`)随机生成在1990年1月1日到2010年1月1日之间,入学时间(`enrollment_date`)随机生成在2020年9月1日到2020年10月1日之间,班级代码(`class_code`)、系部代码(`department_code`)和专业代码(`major_code`)都使用统一的值。
阅读全文