title: Inserting records into a MySQL table using Java
body: <p>I created a database with one table in MySQL:</p>
  
  <pre><code>CREATE DATABASE iac_enrollment_system;
  
  USE iac_enrollment_system;
  
  CREATE TABLE course(
      course_code CHAR(7),
      course_desc VARCHAR(255) NOT NULL,
      course_chair VARCHAR(255),
      PRIMARY KEY(course_code)
  );
  </code></pre>
  
  <p>I tried to insert a record using Java:</p>
  
  <pre><code>// STEP 1: Import required packages
  import java.sql.*;
  import java.util.*;
  
  public class SQLInsert {
  // JDBC driver name and database URL
  static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
  static final String DB_URL = "jdbc:mysql://localhost:3306/iac_enrollment_system";
  
  // Database credentials
  static final String USER = "root";
  static final String PASS = "1234";
  
  public static void main(String[] args) {
      Connection conn = null;
      Statement stmt = null;
      Scanner scn = new Scanner(System.in);
      String course_code = null, course_desc = null, course_chair = null;
  
      try {
          // STEP 2: Register JDBC driver
          Class.forName("com.mysql.jdbc.Driver");
  
          // STEP 3: Open a connection
          System.out.print("\nConnecting to database...");
          conn = DriverManager.getConnection(DB_URL, USER, PASS);
          System.out.println(" SUCCESS!\n");
  
          // STEP 4: Ask for user input
          System.out.print("Enter course code: ");
          course_code = scn.nextLine();
  
          System.out.print("Enter course description: ");
          course_desc = scn.nextLine();
  
          System.out.print("Enter course chair: ");
          course_chair = scn.nextLine();
  
          // STEP 5: Excute query
          System.out.print("\nInserting records into table...");
          stmt = conn.createStatement();
  
          String sql = "INSERT INTO course " +
              "VALUES (course_code, course_desc, course_chair)";
          stmt.executeUpdate(sql);
  
          System.out.println(" SUCCESS!\n");
  
      } catch(SQLException se) {
          se.printStackTrace();
      } catch(Exception e) {
          e.printStackTrace();
      } finally {
          try {
              if(stmt != null)
                  conn.close();
          } catch(SQLException se) {
          }
          try {
              if(conn != null)
                  conn.close();
          } catch(SQLException se) {
              se.printStackTrace();
          }
      }
      System.out.println("Thank you for your patronage!");
    }
  }
  </code></pre>
  
  <p>The output appears to return successfully:
  <img src="https://i.stack.imgur.com/GxiFZ.png" alt="insert_success"></p>
  
  <p>But when I select from MySQL, the inserted record is blank:
  <img src="https://i.stack.imgur.com/T5aix.png" alt="mysql_blank_record"></p>
  
  <p>Why is it inserting a blank record?</p>