MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JavaのPreparedStatementを使用してMySQLテーブルにレコードを挿入しますか?


JavaでPreparedStatementを使用してテーブルにレコードを挿入するには、以下の構文を使用してレコードを挿入する必要があります。構文は次のとおりです-

String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" +
"VALUES (?, ?, ?,..............N)";

次に、PreparedStatementオブジェクトを使用して、すべての列の値を設定します。構文は次のとおりです-

PreparedstatementObject = con.prepareStatement(query);
PreparedstatementObject .setXXX(1, yourValue);
PreparedstatementObject .setXXX(2, yourValue);
PreparedstatementObject .setXXX(3, yourValue);
.
.
.
N

上記のプリペアドステートメントはあなたの問題を解決します。まず、MySQLでテーブルを作成します。テーブルを作成するためのクエリは次のとおりです-

mysql> create table CourseDemo
-> (
-> CourseId int,
-> StudentName varchar(20),
-> CourseName varchar(30)
-> );
Query OK, 0 rows affected (1.86 sec)

上記の表はサンプルデータベースにあります。これが、PreparedStatement-

を使用してテーブルにレコードを挿入するJavaコードです。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.Scanner;
public class InsertRecordInPreparedStatement {
   static int cid;
   static String studentName;
   static String courseName;
   public static void main(String[] args) {
      String JdbcURL = "jdbc:mysql://localhost:3306/sample?useSSL=false";
      String Username = "root";
      String password = "123456";
      Connection con = null;
      Scanner keyboardInput=new Scanner(System.in);
      PreparedStatement pstmt = null;
      String query = "INSERT INTO CourseDemo(CourseId, StudentName, CourseName)" + "VALUES (?, ?, ?)";
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         input(keyboardInput);
         pstmt = con.prepareStatement(query);
         pstmt.setInt(1, cid);
         pstmt.setString(2, studentName);
         pstmt.setString(3, courseName);
         int status = pstmt.executeUpdate();
         if(status > 0) {
            System.out.println("Record is inserted successfully !!!");
         }
      } catch(Exception e){
         e.printStackTrace();
      }
   }
   public static void input(Scanner keyboardInput) {
      System.out.println("Enter the course id:");
      cid = keyboardInput.nextInt();
      System.out.println("Enter the Student Name:");
      studentName = keyboardInput.next();
      System.out.println("Enter the Course Name:");
      courseName = keyboardInput.next();
   }
}

Javaコードのスナップショットは次のとおりです-

以下は出力です-

Enter the course id:
101
Enter the Student Name:
John
Enter the Course Name:
Java
Record is inserted successfully !!!

これがサンプル出力のスナップショットです-

JavaのPreparedStatementを使用してMySQLテーブルにレコードを挿入しますか?

次に、レコードがテーブルに挿入されているかどうかを確認します。したがって、MySQLを開くだけです。データベースサンプルと次のクエリを使用して、selectステートメントを使用してテーブルのレコードを表示します-

mysql> select *from CourseDemo;

以下は出力です-

+----------+-------------+------------+
| CourseId | StudentName | CourseName |
+----------+-------------+------------+
| 101      | John        | Java       |
+----------+-------------+------------+
1 row in set (0.00 sec)

これがテーブル出力のスナップショットです-

JavaのPreparedStatementを使用してMySQLテーブルにレコードを挿入しますか?


  1. Javaを使用してMySQLテーブルに1つの列のみを挿入するにはどうすればよいですか?

    Java-MySQL接続コードでINSERTINTOステートメントを使用して列を挿入します。 まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.54 sec) これは、MySQLテーブルに1つの列のみを挿入するJavaコードです。 例 import java.sql.Connection; import java.sql.Driv

  2. Javaを使用してMySQLテーブルの値を表示する

    このために、ResultSetの概念を使用できます。接続には、MySQLJDBCDriverを使用します。 テーブルを作成しましょう- 例 mysql> create table demo87    -> (    -> name varchar(20),    -> age int    -> )    -> ; Query OK, 0 rows affected (0.62 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 my