Connection conn = DBHelper.getconnection(); //封装连接数据库的工具类 String sql = "select * from t_test"; Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery(sql); Connection conn = DBHelper.getconnection(); //封装连接数据库的工具类 String sql = "delete from t_test where user_id = ?"; PreparedStatement ps = conn.prepareStatement(sql); pst.setString(1, userid.trim()); ps.executeUpdate();
这段代码的不同之处在于一个是进行了查询语句, 一个是进行了带条件的查询语句, 在什么时候使用什么语句命令是由执行的sql语句的返回值来决定的
1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
2. int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。
方法executeQuery
用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。
方法executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。你也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL 语句。实际上,相对于创建表来说,executeUpdate 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。
方法execute:
用于执行返回多个结果集、多个更新计数或二者组合的语句。