用java连接mysql数据库实现对MySQL建表语句用户表users包括id,username,年龄,所在年级,所属系部,专业的增删改查,其中改和删要在控制台实现
时间: 2023-10-04 15:05:28 浏览: 45
这里提供一个简单的示例代码:
```java
import java.sql.*;
public class MySQLDemo {
// 数据库连接参数
private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
private static final String USER = "root";
private static final String PASSWORD = "123456";
public static void main(String[] args) {
Connection conn = null;
try {
// 1. 加载驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 获取数据库连接
conn = DriverManager.getConnection(URL, USER, PASSWORD);
// 3. 创建Statement对象
Statement stmt = conn.createStatement();
// 4. 执行建表语句
String sql = "CREATE TABLE users ("
+ "id INT NOT NULL AUTO_INCREMENT,"
+ "username VARCHAR(50) NOT NULL,"
+ "age INT,"
+ "grade VARCHAR(50),"
+ "department VARCHAR(50),"
+ "major VARCHAR(50),"
+ "PRIMARY KEY (id))";
stmt.executeUpdate(sql);
// 5. 插入数据
sql = "INSERT INTO users (username, age, grade, department, major) VALUES "
+ "('张三', 20, '大一', '计算机科学与技术系', '软件工程'),"
+ "('李四', 21, '大二', '信息管理系', '信息管理与信息系统')";
stmt.executeUpdate(sql);
// 6. 查询数据
sql = "SELECT * FROM users";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String username = rs.getString("username");
int age = rs.getInt("age");
String grade = rs.getString("grade");
String department = rs.getString("department");
String major = rs.getString("major");
System.out.println(String.format("%d\t%s\t%d\t%s\t%s\t%s", id, username, age, grade, department, major));
}
// 7. 更新数据
sql = "UPDATE users SET age = 22 WHERE id = 1";
stmt.executeUpdate(sql);
System.out.println("更新后的数据:");
rs = stmt.executeQuery("SELECT * FROM users WHERE id = 1");
while (rs.next()) {
int id = rs.getInt("id");
String username = rs.getString("username");
int age = rs.getInt("age");
String grade = rs.getString("grade");
String department = rs.getString("department");
String major = rs.getString("major");
System.out.println(String.format("%d\t%s\t%d\t%s\t%s\t%s", id, username, age, grade, department, major));
}
// 8. 删除数据
System.out.println("删除数据(id=2):");
sql = "DELETE FROM users WHERE id = 2";
stmt.executeUpdate(sql);
rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
int id = rs.getInt("id");
String username = rs.getString("username");
int age = rs.getInt("age");
String grade = rs.getString("grade");
String department = rs.getString("department");
String major = rs.getString("major");
System.out.println(String.format("%d\t%s\t%d\t%s\t%s\t%s", id, username, age, grade, department, major));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
// 9. 关闭数据库连接
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
注:这里使用的 MySQL 版本为 8.0.23。如果版本不同,可能需要修改连接参数。