如何使用 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)