MySQL の小規模な実践 (JDBC を使用してデータベースを操作する)

トピック:

1. データベース (学生番号 + 名前の略語、例: 2020001zs) を作成し、データベース内にテーブル (5 つ以上のフィールド) を作成します。

2. JDBC (PreparedStatement インターフェイスを使用) を使用してデータベースを操作し、テーブル内のデータの追加、削除、変更、クエリを実行します。

目次

1. データベース

1. データベースを作成する

2. テーブルを作成する

3. データを追加する

 2.JDBC

1. 環境を準備する

 2. データのクエリ

3. データを追加する

 4.データ

 5. データを変更する


1. データベース

1. データベースを作成する

 

2. テーブルを作成する

 タイトルは次のとおりです。データベースにテーブル (5 つ以上のフィールド) を作成します。5 つ取得しましょう。

drop table if exists student_course;
create table student_course
(
    course_id     varchar(10)  comment '课程号',
    course_name   varchar(15) comment '课程名',
    course_number double unsigned comment '学分数',
    student_time  int unsigned comment '学时数',
    teacher       varchar(10) comment '任课教师'
)
    comment '课程表';

select *
from student_course;

 

 

 

3. データを追加する


INSERT INTO student_course
values ('K001', '计算机图形学', 2.5, 40, '胡晶晶'),
       ('K002', '计算机应用基础', 3, 48, '任泉'),
       ('K006', '数据结构', 4, 64, '马跃先'),
       ('M001', '政治经济学', 4, 64, '孔繁新'),
       ('S001', '高等数学', 3, 48, '赵晓尘');

			 select *
from student_course;

 

 2.JDBC

1. 環境を準備する

クリックしてmysql jar パッケージのダウンロード公式 Web サイトに入ります

 MySQL がバージョン 5 の場合:

 

 

 私の mysql はバージョン 8 なので、これをダウンロードします。

 

 ​​​​​​

 

 解凍:

 

 

 

 

 2. データのクエリ

バージョン 5.x のドライバー ファイル jar パッケージは以下に対応します:
Class.forName("com.mysql.jdbc.Driver");
データベース ドライバーをロードするステートメント

また、データベース ドライバー ファイルの 8.0x バージョンを使用しているため、データベース ドライバーをロードするステートメントを次のように変更する必要があります

 

import java.sql.*;

public class Main {

    public static void main(String[] args) throws Exception {
        PreparedStatement ps = null;
        Connection con = null;
        ResultSet rs = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
            String sql = "select * from student_course;";
            ps = con.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()) {
                System.out.println("编号:" + rs.getString(1) + "\t" + "课程名:" + rs.getString(2) + "\t" + "学分数:" + rs.getString(3) + "\t" + "学时数:" + rs.getString(4) + "\t" + "任课教师:" + rs.getString(5));
            }

            rs.close();
            ps.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}

 

 

3. データを追加する

import java.sql.*;
public class InsertData {
    public static void main(String[] args) {
        Connection con = null;
        PreparedStatement ps = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
            String sql = "INSERT INTO student_course values(?,?,?,?,?);";
            ps = con.prepareStatement(sql);
            ps.setString(1, "K111");
            ps.setString(2, "javaWeb");
            ps.setDouble(3, 3);
            ps.setInt(4, 48);
            ps.setString(5, "丁老师");
            ps.execute();
            ps.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 4. データの削除

import java.sql.*;

public class DeleteData {
    public static void main(String[] args){
        Connection con = null;
        PreparedStatement ps = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
            String sql = "delete from student_course where course_id  = ?;";
            ps = con.prepareStatement(sql);
            ps.setString(1,"K111");
            ps.execute();
            ps.close();
            con.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

以前に追加されたデータは削除されます 

 5. データを変更する

import java.sql.*;

public class UpdateData {
    public static void main(String[] ags){
        Connection con = null;
        PreparedStatement ps = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
            String sql = "update student_course set course_name = ?,teacher = ? where course_id  = ?;";
            ps = con.prepareStatement(sql);
            ps.setString(1,"SpringCloud");
            ps.setString(2,"王老师");
            ps.setString(3,"S001");
            ps.execute();
            ps.close();
            con.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

 コードの冗長性は深刻で、将来的にはツールクラスの簡素化が行われる予定です

おすすめ

転載: blog.csdn.net/Javascript_tsj/article/details/130874372