如何使用 JDBC API 在数据库中创建表?

jdbcobject oriented programmingprogramming

答:您可以使用 CREATE TABLE 查询在数据库中创建表。

语法

CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);

要使用 JDBC API 在数据库中创建表,您需要:

  • 注册驱动程序:使用 DriverManager 类的 registerDriver() 方法注册驱动程序类。将驱动程序类名称作为参数传递给它。
  • 建立连接:使用 DriverManager  类的 getConnection() 方法连接数据库。将 URL (String)、用户名 (String)、密码 (String) 作为参数传递给它。
  • 创建 Statement:使用 Connection  接口的 createStatement() 方法创建 Statement 对象。
  • 执行查询:使用 Statement 接口的 execute() 方法执行查询。

示例

以下 JDBC 程序与 MySQL 建立连接并在名为 SampleDB 的数据库中创建名为 customers 的表:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateTableExample {
   public static void main(String args[]) throws SQLException {
      //注册驱动程序
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //获取连接
      String mysqlUrl = "jdbc:mysql://localhost/SampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("连接已建立......");
      //创建语句
      Statement stmt = con.createStatement();
      //查询以创建表
      String query = "CREATE TABLE CUSTOMERS("
         + "ID INT NOT NULL, "
         + "NAME VARCHAR (20) NOT NULL, "
         + "AGE INT NOT NULL, "
         + "SALARY DECIMAL (18, 2), "
         + "ADDRESS CHAR (25) , "
         + "PRIMARY KEY (ID))";
      stmt.execute(query);
      System.out.println("Table Created......");
   }
}

输出

Connection established......
Table Created......

show tables 命令为您提供 MySQL 中当前数据库中的表列表。

如果您验证名为 sampledb 的数据库中的表列表,则可以在其中观察到新创建的表:

mysql> show tables;
+--------------------+
| Tables_in_sampledb |
+--------------------+
| articles           |
| customers          |
| dispatches         |
| technologies       |
| tutorial           |
+--------------------+
5 rows in set (0.00 sec)

相关文章