You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
3.6 KiB
58 lines
3.6 KiB
|
5 days ago
|
-- 创建数据库
|
||
|
|
CREATE DATABASE IF NOT EXISTS student_management DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
USE student_management;
|
||
|
|
|
||
|
|
-- 创建学生表
|
||
|
|
CREATE TABLE IF NOT EXISTS students (
|
||
|
|
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID',
|
||
|
|
student_no VARCHAR(20) NOT NULL UNIQUE COMMENT '学号',
|
||
|
|
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
||
|
|
gender VARCHAR(10) COMMENT '性别',
|
||
|
|
age INT COMMENT '年龄',
|
||
|
|
class_name VARCHAR(50) COMMENT '班级',
|
||
|
|
major VARCHAR(50) COMMENT '专业',
|
||
|
|
phone VARCHAR(20) COMMENT '联系电话',
|
||
|
|
email VARCHAR(100) COMMENT '电子邮箱',
|
||
|
|
address VARCHAR(200) COMMENT '家庭住址',
|
||
|
|
birthday DATE COMMENT '出生日期',
|
||
|
|
status VARCHAR(10) DEFAULT '在读' COMMENT '状态(在读/休学/毕业)',
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';
|
||
|
|
|
||
|
|
-- 插入测试数据
|
||
|
|
INSERT INTO students (student_no, name, gender, age, class_name, major, phone, email, address, birthday, status) VALUES
|
||
|
|
('2024001', '张三', '男', 20, '计算机2024-1班', '计算机科学与技术', '13800138001', 'zhangsan@example.com', '北京市海淀区', '2004-03-15', '在读'),
|
||
|
|
('2024002', '李四', '女', 19, '计算机2024-1班', '计算机科学与技术', '13800138002', 'lisi@example.com', '上海市浦东新区', '2005-07-22', '在读'),
|
||
|
|
('2024003', '王五', '男', 21, '软件2024-1班', '软件工程', '13800138003', 'wangwu@example.com', '广州市天河区', '2003-11-08', '在读'),
|
||
|
|
('2024004', '赵六', '女', 20, '软件2024-1班', '软件工程', '13800138004', 'zhaoliu@example.com', '深圳市南山区', '2004-05-18', '在读'),
|
||
|
|
('2024005', '孙七', '男', 22, '大数据2024-1班', '数据科学与大数据技术', '13800138005', 'sunqi@example.com', '杭州市西湖区', '2002-09-25', '休学');
|
||
|
|
|
||
|
|
-- ============================================================
|
||
|
|
-- 用户表(支持登录认证和权限控制)
|
||
|
|
-- ============================================================
|
||
|
|
CREATE TABLE IF NOT EXISTS users (
|
||
|
|
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
|
||
|
|
username VARCHAR(50) NOT NULL UNIQUE COMMENT '登录用户名',
|
||
|
|
password VARCHAR(100) NOT NULL COMMENT '登录密码(MD5加密)',
|
||
|
|
real_name VARCHAR(50) COMMENT '真实姓名',
|
||
|
|
role VARCHAR(20) NOT NULL DEFAULT 'user' COMMENT '角色: admin=系统管理员, user=一般用户',
|
||
|
|
email VARCHAR(100) COMMENT '电子邮箱',
|
||
|
|
phone VARCHAR(20) COMMENT '联系电话',
|
||
|
|
avatar VARCHAR(200) COMMENT '头像路径',
|
||
|
|
status VARCHAR(10) DEFAULT '正常' COMMENT '状态: 正常/禁用',
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||
|
|
|
||
|
|
-- 插入内置管理员账户(密码: admin123)
|
||
|
|
INSERT INTO users (username, password, real_name, role, email, phone) VALUES
|
||
|
|
('admin', '0192023a7bbd73250516f069df18b500', '系统管理员', 'admin', 'admin@student.com', '13800000000');
|
||
|
|
|
||
|
|
-- 插入一般用户测试账户(密码: 123456)
|
||
|
|
INSERT INTO users (username, password, real_name, role, email, phone) VALUES
|
||
|
|
('zhangsan', 'e10adc3949ba59abbe56e057f20f883e', '张三', 'user', 'zhangsan@example.com', '13800138001'),
|
||
|
|
('lisi', 'e10adc3949ba59abbe56e057f20f883e', '李四', 'user', 'lisi@example.com', '13800138002'),
|
||
|
|
('wangwu', 'e10adc3949ba59abbe56e057f20f883e', '王五', 'user', 'wangwu@example.com', '13800138003');
|