编写一个宿舍管理系统的数据库方面需要的代码
时间: 2024-02-27 10:57:39 浏览: 15
下面是一个宿舍管理系统的数据库建表 SQL 代码示例:
```
-- 创建学生信息表
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT, -- 学生ID,自增长
name VARCHAR(50) NOT NULL, -- 学生姓名
gender ENUM('male', 'female') NOT NULL, -- 学生性别
dormitory_id INT NOT NULL, -- 宿舍ID
FOREIGN KEY (dormitory_id) REFERENCES dormitory(id) -- 外键关联宿舍表
);
-- 创建宿舍信息表
CREATE TABLE dormitory (
id INT PRIMARY KEY AUTO_INCREMENT, -- 宿舍ID,自增长
building VARCHAR(50) NOT NULL, -- 宿舍楼名称
room_number INT NOT NULL, -- 宿舍房间号
capacity INT NOT NULL -- 宿舍可住人数
);
```
此外,还可以根据实际需求添加其他表和字段,例如:
- 水电费用表
- 维修记录表
- 宿舍管理员信息表
- 宿舍申报表等。
相关问题
编写学生宿舍管理系统的数据库代码
以下是一个简单的学生宿舍管理系统的数据库代码,使用 MySQL 数据库:
```
-- 创建学生表
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
age INT NOT NULL,
room_number INT NOT NULL,
FOREIGN KEY (room_number) REFERENCES rooms (id)
);
-- 创建宿舍房间表
CREATE TABLE rooms (
id INT PRIMARY KEY AUTO_INCREMENT,
room_number INT NOT NULL,
capacity INT NOT NULL,
occupancy INT NOT NULL
);
-- 插入宿舍房间数据
INSERT INTO rooms (room_number, capacity, occupancy)
VALUES
(101, 2, 0),
(102, 2, 0),
(103, 4, 0),
(104, 4, 0),
(105, 6, 0);
```
这个代码创建了两个表,一个是 `students` 表,存储学生信息,另一个是 `rooms` 表,存储宿舍房间信息。每个学生的信息包括 id、姓名、性别、年龄和所住房间号码。每个宿舍房间的信息包括 id、房间号码、容量和占用情况。
上述代码只是一个示例,具体的学生宿舍管理系统需要根据实际需求进行设计和实现。
用java语言编写的学生宿舍管理系统数据库代码编写
以下是一个简单的学生宿舍管理系统的数据库代码示例,使用Java语言和MySQL数据库:
```java
import java.sql.*;
public class DormitoryManagementSystem {
private Connection conn;
private Statement stmt;
// 构造函数,连接到数据库
public DormitoryManagementSystem() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dormitory", "root", "password");
stmt = conn.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 添加学生信息到数据库
public void addStudent(String name, String dormitory, String phone) throws SQLException {
String sql = "INSERT INTO students (name, dormitory, phone) VALUES ('" + name + "', '" + dormitory + "', '" + phone + "')";
stmt.executeUpdate(sql);
}
// 根据学生姓名查询学生信息
public ResultSet searchStudentByName(String name) throws SQLException {
String sql = "SELECT * FROM students WHERE name = '" + name + "'";
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
// 更新学生宿舍信息
public void updateDormitory(String name, String dormitory) throws SQLException {
String sql = "UPDATE students SET dormitory = '" + dormitory + "' WHERE name = '" + name + "'";
stmt.executeUpdate(sql);
}
// 删除学生信息
public void deleteStudent(String name) throws SQLException {
String sql = "DELETE FROM students WHERE name = '" + name + "'";
stmt.executeUpdate(sql);
}
// 关闭数据库连接
public void close() {
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们使用Java语言编写了一个DormitoryManagementSystem类,用于连接到MySQL数据库,并提供添加、查询、更新和删除学生信息的方法。这里我们使用了Statement对象来执行SQL语句,并且通过ResultSet对象返回查询结果。最后,在关闭数据库连接时,我们需要分别关闭Statement和Connection对象。注意,为了避免SQL注入攻击,我们应该使用PreparedStatement来执行SQL语句,而不是直接拼接字符串。