Java动态拼接sql创建mysql数据库表
时间: 2023-08-22 13:05:51 浏览: 58
可以使用 Java 中的字符串拼接来动态创建 MySQL 数据库表的 SQL 语句。例如:
```java
public static void main(String[] args) {
String tableName = "user";
String sql = "CREATE TABLE " + tableName + " ("
+ "id INT(11) NOT NULL AUTO_INCREMENT,"
+ "username VARCHAR(50) NOT NULL,"
+ "password VARCHAR(50) NOT NULL,"
+ "email VARCHAR(50) NOT NULL,"
+ "PRIMARY KEY (id)"
+ ")";
System.out.println(sql);
}
```
上述代码会输出创建 "user" 表的 SQL 语句:
```
CREATE TABLE user (id INT(11) NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL,password VARCHAR(50) NOT NULL,email VARCHAR(50) NOT NULL,PRIMARY KEY (id))
```
您可以根据需要修改表名、字段名和数据类型等信息,然后执行该 SQL 语句即可创建相应的表。另外,为了防止 SQL 注入攻击,建议使用 PreparedStatement 来执行 SQL 语句,具体操作可以参考如下代码:
```java
public static void createTable(String tableName) {
String sql = "CREATE TABLE " + tableName + " ("
+ "id INT(11) NOT NULL AUTO_INCREMENT,"
+ "username VARCHAR(50) NOT NULL,"
+ "password VARCHAR(50) NOT NULL,"
+ "email VARCHAR(50) NOT NULL,"
+ "PRIMARY KEY (id)"
+ ")";
try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.executeUpdate();
System.out.println("Table " + tableName + " created successfully");
} catch (SQLException e) {
e.printStackTrace();
}
}
```
其中,DB_URL、USER 和 PASS 分别表示数据库连接 URL、用户名和密码,可以根据实际情况进行修改。同时,该方法使用 try-with-resources 语句来自动关闭资源,避免产生资源泄漏的问题。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)