
和数据库的相爱相杀
mysql 笔记
mysql的安装
因为它全是英文,不方便我们理解,比如自定义安装
我就找了半天,真是对计算机一窍不通
musql的安装,可以去它的官网
https://www.mysql.com/cn/downloads/
找一个合适的的版本,但是这个不是我记录的重点
我要跳过它
mysql语言
查表建表
CREATE TABLE teacher(
teacherid BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '教师ID',
tname VARCHAR(200) COMMENT '教师名称',
age INT COMMENT '年龄'
) COMMENT '教师表';
增加数据
INSERT into teacher VALUES(10001,'王老师',34);
INSERT into teacher VALUES(DEFAULT,'黄老师',58);
INSERT into teacher VALUES(DEFAULT,'李老师',97);
查表
SELECT * from teacher;
修改表
UPDATE teacher
SET teacherid = 3,
tname = '张三',
age = 33
WHERE teacherid = 3;
删除表
DELETE from teacher WHERE teacherid=3;
SELECT * from teacher;
Java连接数据库
我的重点是如何使用Java来连接数据库
实现增删修改
翻看了很多大佬的视频和博客,他们告诉我,用的是JDBC,它是个啥东西
一个mysql驱动 我们可以在官网上面找到它 如图
下载好后解压,在项目文件夹里面新建立一个文件夹 lib
将mysql-connector-j-8.1.0.jar放到lib里面
用IDE打开项目文件,选中lib文件夹,左键点击,选择添加到库
就可以通过它使Java可以连接到数据库了
我已经写完了
看看运行效果吧
源码大家学习
package day1;
import java.sql.*;
import java.util.Scanner;
public class xtssql {
// 数据库连接信息
static final String URL = "jdbc:mysql://localhost:3306/xtsdb";
static final String USER = "root";
static final String PASSWORD = "fl3692458121";
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
while (true) {
System.out.println("\n选择操作:1. 添加 2. 删除 3. 查询 4. 修改 5. 退出");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
switch (choice) {
case 1:
addTeacher(scanner);
break;
case 2:
deleteTeacher(scanner);
break;
case 3:
queryTeachers();
break;
case 4:
updateTeacher(scanner);
break;
case 5:
System.out.println("退出程序!");
return;
default:
System.out.println("无效的选项,请重新选择!");
}
}
}
}
// 添加教师
private static void addTeacher(Scanner scanner) {
System.out.println("请输入教师姓名:");
String tname = scanner.nextLine();
System.out.println("请输入教师年龄:");
int age = scanner.nextInt();
String sql = "INSERT INTO teacher (tname, age) VALUES (?, ?)";
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, tname);
pstmt.setInt(2, age);
int rows = pstmt.executeUpdate();
System.out.println(rows > 0 ? "添加成功!" : "添加失败!");
} catch (SQLException e) {
System.out.println("添加失败:" + e.getMessage());
}
}
// 删除教师
private static void deleteTeacher(Scanner scanner) {
System.out.println("请输入要删除的教师ID:");
int teacherid = scanner.nextInt();
String sql = "DELETE FROM teacher WHERE teacherid = ?";
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, teacherid);
int rows = pstmt.executeUpdate();
System.out.println(rows > 0 ? "删除成功!" : "删除失败!");
} catch (SQLException e) {
System.out.println("删除失败:" + e.getMessage());
}
}
// 查询教师
private static void queryTeachers() {
String sql = "SELECT * FROM teacher";
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
System.out.printf("%-10s %-20s %-10s%n", "教师ID", "教师名称", "年龄");
System.out.println("-----------------------------------------");
while (rs.next()) {
int teacherid = rs.getInt("teacherid");
String tname = rs.getString("tname");
int age = rs.getInt("age");
System.out.printf("%-10d %-20s %-10d%n", teacherid, tname, age);
}
} catch (SQLException e) {
System.out.println("查询失败:" + e.getMessage());
}
}
// 修改教师信息
private static void updateTeacher(Scanner scanner) {
System.out.println("请输入要修改的教师ID:");
int teacherid = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
System.out.println("请输入新的教师姓名:");
String tname = scanner.nextLine();
System.out.println("请输入新的教师年龄:");
int age = scanner.nextInt();
String sql = "UPDATE teacher SET tname = ?, age = ? WHERE teacherid = ?";
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, tname);
pstmt.setInt(2, age);
pstmt.setInt(3, teacherid);
int rows = pstmt.executeUpdate();
System.out.println(rows > 0 ? "修改成功!" : "修改失败!");
} catch (SQLException e) {
System.out.println("修改失败:" + e.getMessage());
}
}
}