MySQL创建学生信息库代码
时间: 2024-01-24 11:03:05 浏览: 26
好的,以下是一个简单的MySQL创建学生信息库的代码:
```sql
CREATE DATABASE students;
USE students;
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
gender VARCHAR(10),
grade VARCHAR(10)
);
```
在上面的代码中,我们首先创建了一个名为“students”的数据库,然后使用该数据库。接着,我们创建了一个名为“student”的表,包含学生的姓名、年龄、性别和年级。其中,id字段为自增长主键,保证每个学生的id唯一。请注意,这只是一个简单的例子,实际应用中可能需要更多的字段和更复杂的表结构。
相关问题
mysql学生管理系统简单代码
当然可以!下面是一个简单的MySQL学生管理系统的代码示例:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="students"
)
# 创建学生表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
# 插入学生数据
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John", 20)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
# 查询学生数据
mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()
for row in result:
print(row)
# 更新学生数据
sql = "UPDATE students SET age = %s WHERE name = %s"
val = (21, "John")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) updated.")
# 删除学生数据
sql = "DELETE FROM students WHERE name = %s"
val = ("John",)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted.")
# 关闭数据库连接
mydb.close()
```
这段代码使用了Python的`mysql.connector`库来连接MySQL数据库,并进行学生信息的增删改查操作。你需要将`yourusername`和`yourpassword`替换为你自己的MySQL用户名和密码,同时确保已经创建了名为`students`的数据库。
intellij idea+mysql实现学生库管理系统代码
以下是一个简单的学生库管理系统示例代码,使用Java编写,并使用IntelliJ IDEA作为开发环境,MySQL作为数据库。
首先,创建一个名为“StudentManagement”的项目,并添加以下依赖项:
- MySQL Connector/J
- JBCrypt
接下来,创建一个名为“Student”的模型类,表示学生信息:
```
public class Student {
private int id;
private String name;
private int age;
private String gender;
private String major;
// 构造函数
public Student(int id, String name, int age, String gender, String major) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.major = major;
}
// getter 和 setter 方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
```
接下来,创建一个名为“DatabaseConnection”的类,负责连接到MySQL数据库:
```
import java.sql.*;
public class DatabaseConnection {
private static final String URL = "jdbc:mysql://localhost:3306/student_management";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
private Connection conn;
public DatabaseConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
public Connection getConnection() {
return conn;
}
}
```
然后,创建一个名为“StudentDao”的数据访问对象类,用于执行与学生相关的数据库操作:
```
import org.mindrot.jbcrypt.BCrypt;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentDao {
private Connection conn;
public StudentDao() {
conn = new DatabaseConnection().getConnection();
}
// 添加学生
public void addStudent(Student student) {
String sql = "INSERT INTO students(name, age, gender, major) VALUES (?, ?, ?, ?)";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, student.getName());
ps.setInt(2, student.getAge());
ps.setString(3, student.getGender());
ps.setString(4, student.getMajor());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 根据ID查找学生
public Student getStudentById(int id) {
String sql = "SELECT * FROM students WHERE id=?";
Student student = null;
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
student = new Student(
rs.getInt("id"),
rs.getString("name"),
rs.getInt("age"),
rs.getString("gender"),
rs.getString("major")
);
}
} catch (SQLException e) {
e.printStackTrace();
}
return student;
}
// 获取所有学生
public List<Student> getAllStudents() {
String sql = "SELECT * FROM students";
List<Student> students = new ArrayList<>();
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
Student student = new Student(
rs.getInt("id"),
rs.getString("name"),
rs.getInt("age"),
rs.getString("gender"),
rs.getString("major")
);
students.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
// 更新学生信息
public void updateStudent(Student student) {
String sql = "UPDATE students SET name=?, age=?, gender=?, major=? WHERE id=?";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, student.getName());
ps.setInt(2, student.getAge());
ps.setString(3, student.getGender());
ps.setString(4, student.getMajor());
ps.setInt(5, student.getId());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生
public void deleteStudent(int id) {
String sql = "DELETE FROM students WHERE id=?";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
最后,创建一个名为“Main”的主程序类,用于演示如何使用StudentDao执行数据库操作:
```
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
StudentDao dao = new StudentDao();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加学生");
System.out.println("2. 查找学生");
System.out.println("3. 查看所有学生");
System.out.println("4. 更新学生信息");
System.out.println("5. 删除学生");
System.out.println("6. 退出程序");
System.out.print("请输入选项:");
int option = scanner.nextInt();
switch (option) {
case 1:
System.out.print("请输入姓名:");
String name = scanner.next();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
System.out.print("请输入性别:");
String gender = scanner.next();
System.out.print("请输入专业:");
String major = scanner.next();
Student student = new Student(0, name, age, gender, major);
dao.addStudent(student);
System.out.println("添加成功!");
break;
case 2:
System.out.print("请输入学生ID:");
int id = scanner.nextInt();
Student studentById = dao.getStudentById(id);
if (studentById != null) {
System.out.println(studentById);
} else {
System.out.println("未找到该学生!");
}
break;
case 3:
List<Student> allStudents = dao.getAllStudents();
if (allStudents.size() > 0) {
for (Student s : allStudents) {
System.out.println(s);
}
} else {
System.out.println("暂无学生!");
}
break;
case 4:
System.out.print("请输入学生ID:");
int updateId = scanner.nextInt();
Student updateStudent = dao.getStudentById(updateId);
if (updateStudent != null) {
System.out.print("请输入姓名(回车不修改):");
String updateName = scanner.next();
if (!updateName.isEmpty()) {
updateStudent.setName(updateName);
}
System.out.print("请输入年龄(回车不修改):");
String updateAge = scanner.next();
if (!updateAge.isEmpty()) {
updateStudent.setAge(Integer.parseInt(updateAge));
}
System.out.print("请输入性别(回车不修改):");
String updateGender = scanner.next();
if (!updateGender.isEmpty()) {
updateStudent.setGender(updateGender);
}
System.out.print("请输入专业(回车不修改):");
String updateMajor = scanner.next();
if (!updateMajor.isEmpty()) {
updateStudent.setMajor(updateMajor);
}
dao.updateStudent(updateStudent);
System.out.println("更新成功!");
} else {
System.out.println("未找到该学生!");
}
break;
case 5:
System.out.print("请输入学生ID:");
int deleteId = scanner.nextInt();
dao.deleteStudent(deleteId);
System.out.println("删除成功!");
break;
case 6:
System.exit(0);
default:
System.out.println("无效选项!");
break;
}
}
}
}
```
运行程序,即可使用控制台界面进行学生库管理。