如何在数据库动态建表

Posted 程序咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在数据库动态建表相关的知识,希望对你有一定的参考价值。

动态建表首先需要了解Statement类

Statement 对象用 Connection 的方法createStatement 创建,例如

//创建连接对象
Connection connection = DBUtil.getConnection();
//创建Statement对象
Statement statement
=connection.createStatement();

创建完之后通过执行以sql语句为参数的Statement的方法,来执行sql语句完成对数据库的操作。

Statement共有三种方法,分别是 executeQuery、executeUpdate 和execute。

方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。
方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQLDDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。如果没有进行操作就返回-1。
方法 execute用于执行返回多个结果集、多个更新计数或二者组合的语句,我们不会需要该高级功能,所以本概述就不进行介绍了。

动态建表实例:

String tablename="WrongExpression";
sql = "create table "+tablename+"(time varchar(255),expression varchar(20),result varchar(20))";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

 

以上是关于如何在数据库动态建表的主要内容,如果未能解决你的问题,请参考以下文章

支持动态或静态片段的不同屏幕尺寸?

Mybatis动态建表

jdbc mysql动态建表

是否可以动态编译和执行 C# 代码片段?

Android studio 动态片段根据日期

你如何在片段中膨胀动态创建的对象?