如何使用JDBC API在数据库中创建表?
答:您可以使用CREATETABLE查询在数据库中创建表。
语法
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) );
要使用JDBCAPI在数据库中创建表,您需要:
注册驱动程序:使用DriverManager类的registerDriver()方法注册驱动程序类。将驱动程序类名称作为参数传递给它。
建立连接:使用DriverManager 类的getConnection()方法连接数据库。将URL(字符串),用户名(字符串),密码(字符串)作为参数传递给它。
CreateStatement:使用Connection 接口的createStatement()方法创建一个Statement对象。
执行查询:使用execute()
Statement接口的方法执行查询。
示例
以下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("Connection established......"); //创建语句 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......
showtables命令为您提供MySQL当前数据库中的表列表。
如果您验证名为sampledb的数据库中的表列表,则可以在其中观察到新创建的表:
mysql> show tables; +--------------------+ | Tables_in_sampledb | +--------------------+ | articles | | customers | | dispatches | | technologies | | tutorial | +--------------------+ 5 rows in set (0.00 sec)