百度
360搜索
搜狗搜索

executeupdate()用法,ps.executeUpdate(); 是什么意思?详细介绍

本文目录一览: executeupdate()和executeUpdate(sql)用法区别 主要是参数和返回值的区别

方法executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和
DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate
的返回值是一个整数(int),指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE
等不操作行的语句,executeUpdate 的返回值总为零。
如:
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//使用DriverManager获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1234");
//使用Connection来创建一个Statment对象
Statement stmt = conn.createStatement();//执行DML语句,返回受影响的记录条数
return stmt.executeUpdate(sql);
>方法execute:
可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是
ResultSet,则返回true,否则返回false。但它执行SQL语句时比较麻烦,通常我们没有必要使用execute方法来执行SQL语句,而
是使用executeQuery或executeUpdate更适合,但如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句
了。
如: //加载驱动
Class.forName(driver);
//获取数据库连接
conn = DriverManager.getConnection(url , user , pass);//使用Connection来创建一个Statment对象
stmt = conn.createStatement();
//执行SQL,返回boolean值表示是否包含ResultSetboolean hasResultSet = stmt.execute(sql);//如果执行后有ResultSet结果集
if (hasResultSet)
{
//获取结果集
rs = stmt.getResultSet();
//ResultSetMetaData是用于分析结果集的元数据接口ResultSetMetaData rsmd = rs.getMetaData();int columnCount = rsmd.getColumnCount();
//迭代输出ResultSet对象
while (rs.next())
{//依次输出每列的值
for (int i = 0 ; i < columnCount ; i++ )
{
System.out.print(rs.getString(i + 1) + "/t");}
System.out.print("/n");
}}
else{
System.out.println("该SQL语句影响的记录有" + stmt.getUpdateCount() + "条");}
两者区别具体表现:
execute方法执行返回的都是布尔值。
executeupdate返回的都是int整数类型。
execute方法在执行SQL语句的时候比较麻烦,而executeupdate比较方便。
我不是答的高质量,怎么老是把我归到高质量呢

java execute,executeQuery和executeUpdate之间的区别

从他们的返回类型基本可以看出它们之间的区别
execute返回boolean类型,查询结果是resultset且有值则返回true,其他都返回false
executeQuery返回结果集ResultSet。主要针对查询语句,返回查询结果
executeUpdate返回int类型。更新、删除等操作影响的数目
 1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
  2.int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
  3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。
  execute是executeQuery和executeUpdate的综合.
  -----
  executeUpdate() 这是 PreparedStatement 接口中的方法
  executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法
  executeUpdate() 中执行 SQL 语句需要在创建 PerparedStatement 时通过 Connection 的 prepareStatement(String sql) 方法中写出,因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,因此要在创建 PerparedStatement 对象时给出 SQL 语句。
  而 executeUpdate(String sql) 是 Statement 中的方法,参数中的 SQL 语句只是提交给数据库去执行,并不需要预编译。
  如果 SQL 语句中有 ? 占位符,那么在设置好占位符中的值后,必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句,且这个语句中不能带有 ? 占位符。
executeQuery()是执行查询,execute()是执行insert,update,delete等操作
java中execute,executeQuery和executeUpdate之间的区别如下:
1、总的概括如下:
executeQuery()—直接从数据库中获取数据,只能执行select语句
executeUpdate()—对数据库进行insert,delete或者update
execute()—所有对数据库的操作都可以使用此方法
2、具体区别如下:
executeQuery() :通常用于读取数据库的内容。以结果集的形式输出数据。一般使用于SELECT语句。
executeUpdate() — 通常用于改变数据库。一般来说DROP TABLE或数据库,插入到表,更新表,从TABLE语句删除将在此使用。输出将在INT的形式。此int值表示受到查询的行数。
execute() — 如果用户不知道要用于执行SQL语句该方法,可以使用这种方法。这将返回一个布尔值。 TRUE表示结果是一个ResultSet,FALSE表示它有它表示受查询的行数的int值。

ps.executeUpdate(); 是什么意思?

代码不全,我猜ps是数据库的操作,你可以给ps设置SQL语句,然后ps.executeUpdate(); 是执行了这条SQL语句。返回值int是你更新了数据库中几条记录。
方法executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。
是当成功插入数据到数据库时候,这个会返回一个大于1的数字,来表明数据成功插入库之中
方法executequery
这个方法被用来执行
select
语句,它几乎是使用最多的
sql
语句。
方法executeupdate
用于执行
insert、update

delete
语句以及
sql
ddl(数据定义语言)语句,例如
create
table

drop
table。insert、update

delete
语句的效果是修改表中零行或多行中的一列或多列。executeupdate
的返回值是一个整数,指示受影响的行数(即更新计数)。对于
create
table

drop
table
等不操作行的语句,executeupdate
的返回值总为零。
方法execute:
用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能
是当成功插入数据到数据库时候,这个会返回一个大于1的数字,来表明数据成功插入库之中
sql注入发生的时间,sql注入发生的阶段在sql预编译阶段,当编译完成的sql不会产生sql注入,采用jdbc操作数据时候,preparedStatement 预编译对象会对传入sql进行预编译。
那么当传入id 字符串为 "update ft_proposal set id = 3;drop table ft_proposal;" 这种情况下就会导致sql注入删除ft_proposal这张表。
预编译语句
处理使用预编译语句之外,另一种实现方式可以采用存储过程,存储过程其实也是预编译的,存储过程是sql语句的集合,将所有预编译的sql语句编译完成后,存储在数据库上。
当传入的参数为3;drop table user;当执行时可以看见打印的sql语句为:select name from usre where id = ?;不管输入何种参数时,都可以防止sql注入,因为mybatis底层实现了预编译。

阅读更多 >>>  c语言while循环用法举例,c语言中while的用法

executeQuery();和addBatch();executeBatch();除了执行单个和批量处理的不同外,还有什么不同?

方法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 的返回值总为零。
在压力不是特别大.数据量不的特别大的时候是看不出差异的..(大概数据量上升到百万级别的时候就有明显区别了)......但是既然这么设计了,我想最好还是把多条相似语句放到一起执行.
executeQuery()是专门用来执行DQL(就是数据查询语句SELECT)语句的;
而addBatch()和executeUpdate()是用来执行数据插入的,不同就是一个批量,一个单个插入。这两个不要一起使用,那样addBatch()就和没写一样。addBatch()是用来缓存数据的,将多条sql语句缓存起来,再通过executeBatch()方法一次性发给数据库,大大提高执行效率。executeUpdate()注重的及时性,每写一条sql语句就发送给数据库保存起来,没有缓存,这样频繁操作数据库效率非常低。
还有一点需要注意的是:使用addBatch()缓存数据时要在循环中设置条件,当循环达到指定次数后执行executeBatch(),将缓存中的sql全部发给数据库,然后执行clearBatch()清楚缓存,否则数据过大是会出现OutOfMemory(内存不足)。

在Java中如何使用execute()、executeQuery()、executeUpdate()三个方法

execute(String sql)
执行给定的 SQL 语句,该语句可能返回多个结果。
executeQuery(String sql)
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)
头2种一般在查询中使用
最后一个在插入、更新、删除时使用

java 两个mysql数据库之间复制表 如何使用executeUpdate

stmt2.executeUpdate("INSERT INTO ldDB users('"+ext +"','"+pass +'")");
这样就可以了,不过一般建议后台写两个类,使用其对象来存储一下数据

请我用Update()更新,为什么返回值为

executeUpdate(sql)的返回值是更新的条数(更新的记录数量)。返回值是一个整数。
对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为0。
executeUpdate
用于执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
例如 :CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。
使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。
也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL 语句。实际上,相对于创建表来说,executeUpdate 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。
update的时候sqlca有一个属性为sqlerrtext,你可是看看返回的sqlerrtext,这对你找出问题的所在可能会有帮助

jsp中通过executeUpdate实现数据库的添加时引号怎么用呀

当插入的值是字符串的时候才需要使用到引号。
如果你插入的值全是字符串类型的,那么你下面的这种写法就没有错,如果不全是字符串类型的,有些就不能加上引号的。(我使用Oracle是这样的)
我建议你先用一个String sql = ”insert into ....”;这样的语句将sql写出来 ,然后打印出来拿到数据库中去执行以下这条语句,你就能知道哪些地方出错了。
希望我的回答对你有所帮助。
少了几个"+"号,应为——
ss.executeUpdate("insert into manainfor values('" + manano + "'" + "," + "'" + mananame + "'" + "," + "'" + manasex + "'" + "," + "'" + manaposi + "'" + "," + "'" + manalevel + "'" + "," + "'" + manaphon + "'" + "," + "'" + manatele + "'" + "," + "'" + manapere + "'" + ")");
简练点——
ss.executeUpdate("insert into manainfor values ('" + manano + "','" + nananame + "','" + manasex + "','" + manaposi + "','" + manalevel + "','" + manaphon + "','" + manatele + "','" +manapere + "')" );
建议这样的sql文用PreparedStatement构建,比之普通的Statement不仅效率更高,而且sql文构建也不容易出这样的错,如——
int manano;
String nananame;
String manasex;
String manaposi;
String manalevel;
String manaphon;
String manatele;
String manapere;
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "insert into manainfor values (?, ?, ?, ?, ?, ?, ?, ?)";
try {
conn = XXXXXXXXXXXX;
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, manano);
pstmt.setString(2, nananame);
pstmt.setString(3, manasex);
pstmt.setString(4, manaposi);
pstmt.setString(5, manalevel);
pstmt.setString(6, manaphon);
pstmt.setString(7, manatele);
pstmt.setString(8, manapere);
pstmt.executeUpdate();
} catch (SQLException e) {
xxxxxxxxxx;
} finally {
xxxxxxxxxxx;
}

阅读更多 >>>  关于风景名胜的对联

如何使用JDBC PreparedStatement对象批量处理更新和插入Oracle数据

 如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。Oracle提供的Statement和 CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用setExecuteBatch():
PreparedStatement pstmt3D null;
try {
((OraclePreparedStatement)
pstmt).setExecuteBatch(30);
...
pstmt.executeUpdate();
}

网站数据信息

"executeupdate()用法,ps.executeUpdate(); 是什么意思?"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:executeupdate()用法,ps.executeUpdate(); 是什么意思?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!