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.
 
 

57 lines
3.6 KiB

-- 创建数据库
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');