mysql jdbc execute_JDBC中execute、executeQuery和executeUpdate的区别

欢迎大家访问我的个人博客(https://zhuchuanliang.github.io),才刚刚开始搞,还有很多要改进的地方,希望大家指点。

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。

1>方法executeQuery

用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

如:

//加载数据库驱动

Class.forName("com.MySQL.jdbc.Driver");

//使用DriverManager获取数据库连接

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",

"root","1234");

//使用Connection来创建一个Statment对象

Statement  stmt = conn.createStatement();

//执行查询语句

ResultSet rs =stmt.executeQuery("select * from teacher");

//把查询结果输出来

while (rs.next())

{

System.out.println(rs.getInt(1) + "/t" +    rs.getString(2));

}

2>方法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);

3>方法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值表示是否包含ResultSet

boolean 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() + "条");

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql和jfinal的区别_mysql与JFinal的数据关系-阿里云开发者社区

mysql与jfinal在使用过程中&#xff0c;一定要弄清楚数据关系&#xff0c;否则容易发生类型不匹配的错误。一、关系整理为此&#xff0c;我根据jfinal的源码和mysql的数据字段类型&#xff0c;整理列表如下&#xff1a;mysqljfinal例子编号varchar, char, enum, set, text, tin…

mysql server_id作用_MySQL复制过程中server-id的理解

一. server-id做什么用的&#xff0c;你知道吗&#xff1f;1、 MySQL的同步的数据中是包含server-id的&#xff0c;用于标识该语句最初是从哪个server写入的&#xff0c;所以server-id一定要有的2、 每一个同步中的slave在master上都对应一个master线程&#xff0c;该线程就…

java如何解析cron成可视化_宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7...

宅家里一个月&#xff0c;“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢&#xff1f;小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理&#xff01;内容包括&#xff1a;kafka面试题及解析18道ZooKeeper面试题及解析28道Linux 面试真题及解析45道MySQL面…

java接口如何接受语音参数_Java 是如何优雅地实现接口数据校验的?

作者 | 无敌码农 责编 | 张文头图 | CSDN 下载自东方 IC来源 | 无敌码农(ID&#xff1a;jiangqiaodege)本篇文章给大家分享平时开发中总结的一点小技巧&#xff01;在工作中写过 Java 程序的朋友都知道&#xff0c;目前使用 Java 开发服务最主流的方式就是通过 Spring MVC 定义…

msp430单片机 温度计编程_MSP430系列与89C5l系列的比较

1、89C51单片机是8位单片机。其指令是采用的被称为“CISC”的复杂指令集&#xff0c;共具有111条指令。而MSP430单片机是16位的单片机&#xff0c;采用了精简指令集(RISC)结构&#xff0c;只有简洁的27条指令&#xff0c;大量的指令则是模拟指令&#xff0c;众多的寄存器以及片…

php 正则表达式提取出合法的时间_PHP正则表达式核心技术完全详解 第1节

PHP正则表达式核心技术 第1节正则表达式: 就是描述字符串排列模式的一种自定义语法规则、也是用于描述字符串排列 或 匹配模式的一种语法规则、正则表达式: 就是用于描述字符串排列 或 匹配模式的一种语法规则、它主要用于字符串的: 分割字符串、查找字符串、替换字符串 的一系…

anacoda2如何连接使用mysql_Anaconda 安装 Python 库(MySQLdb)的方法-(转)

安装python库的过程中&#xff0c;最重要的地方就是版本需要兼容。其中操作系统为64位&#xff0c;Python为2.X 64位&#xff0c;下载安装文件的时候也要注意版本匹配。其中文件名中包含的cp27表示CPython 2.7版本&#xff0c;cp34表示CPython 3.4&#xff0c;win_amd64指的是6…

mysql 字段等于select_mysql_select_计算字段_数据处理函数_5

二十一、创建计算字段1、 concat() 把两个字段拼接起来select concat(lie_name1,间隔符&#xff0c;lie_name2) fromtable_name;选择出 name-type(price)这样的格式输出&#xff0c;按id从小到大排序mysql> selectconcat(name,-,type,(,price,)) from goods order by id;--…

php mysql随机记录_php随机取mysql记录方法小结

这篇文章主要介绍了php随机取mysql记录方法,实例分析了几种常见的随机获取mysql数据的方法,是非常实用的技巧,具有一定的参考借鉴价值,需要的朋友可以参考下本文实例总结了php随机取mysql记录方法。分享给大家供大家参考。具体分析如下&#xff1a;在php中要随机取mysql记录我们…

mysql 主从备份问题_我遇到的mysql主从同步的问题

测试mysql主从同步的问题&#xff0c;主从同步test库。主库&#xff1a;rootttt 11:00>use test;Database changedroottest 11:00>show tables;----------------| Tables_in_test |----------------| a |----------------从库&#xff1a;root(none) 11:01>use test;D…

中西方对时间的差异_中西文化的差异-2 时间观

中西文化的差异-2 时间观时间和空间存在不可思议的相似性。因此&#xff0c;人们对时间的不同理解可分为两种时空观念———直线型和循环型。大体而言&#xff0c;英语国家的人认为时间是直线型&#xff0c;客观顺序是把事件分为过去&#xff0c;现在&#xff0c;将来三种时态(…

java开发环境怎么写_Java开发基础设置:如何配置Java运行环境

很多朋友都有自学Java的愿望&#xff0c;但是自学一门语言何其艰难&#xff0c;没人指引的话往往不得其门而入。那么&#xff0c;今天千锋老师就给大家带来Java入门课程中配置Java运行环境的方法&#xff0c;希望能够对大家有所帮助。一、JDK安装 什么是JVMJava Virtual Machin…

被动声呐 相移波束形成_100天计划-DAY9-拖曳声呐

拖曳线列阵声纳是拖曳在距舰船尾部一定距离的声接收系统&#xff08;通常称为线列阵&#xff09;&#xff0c;通过接收航行目标自身辐射的噪声或者通过接收目标反射回来的信号&#xff0c;来检测目标的有无并估计目标有关参数。拖曳线列阵声纳可以分为主动、被动和主被动联合三…

mongodb转实体对像_MongoDB:实体对象(javabean)转DBObject

packageutils;importjava.lang.reflect.Field;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importpojo.User;public classBeanFromDBObject {/*** Description:bean-->DBObject*parambean*returnDBObject 返回类型*/public static DBObject getDBObject(T …

mysql四种隔离级别知乎_详解MySQL事务的四大特性和隔离级别

1、事务的四大特性(ACID)1.1、原子性(Atomicity) 原子性是指事务包含的一系列操作要么全部成功&#xff0c;要么全部回滚&#xff0c;不存在部分成功或者部分回滚&#xff0c;是一个不可分割的操作整体。1.2、一致性(Consistency)一致性是可以理解为事务对数据完整性约束的遵循…

mysql唯一索引弊端_MySQL 关于唯一索引和普通索引的抉择

想象这样一个场景&#xff0c;在设计一张用户表时&#xff0c;每人的身份证号是唯一的&#xff0c;需要搜索。但由于身份证号字段较大&#xff0c;不好将其作为主键。在业务代码已经保证插入身份证唯一的情况下&#xff0c;可以选择建立唯一索引和普通普通索引&#xff0c;这时…

mysql 8 my.cfg_搭建lamp环境以及安装配置phpmyadmin

接下来配置phpmyadminphpMyAdmin是一种MySQL的管理工具,它直接从web上去管理MySQL. 假设你的web(网页存放)根目录是 /var/www/ 假设你的主机web访问是这样的http://192.168.1.11/ 你可以把他安装到 /var/www/phpmyadmin 当然也可是/var/www/的任意下级目录 注意phpMyAdmi…

mysql触发器 err 1064_MySQL触发器定义 - 1064错误

我建议的触发器&#xff1a;#START TRIGGERdelimiter //DECLARE msg VARCHAR(255);CREATE TRIGGER passStandard_check BEFORE INSERT ON ModuleFOR EACH ROWBEGINIF NEW.passStandard < 0 || NEW.passStandard > 1 THENset msg concat(Trigger Error: Pass Standard: ,…

mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...

MySQL常规排序、自定义排序和按中文拼音字母排序&#xff0c;在实际的SQL编写时&#xff0c;我们有时候需要对条件集合进行排序。下面给出3种比较常用的排序方式&#xff0c;一起看看吧MySQL常规排序、自定义排序和按中文拼音字母排序&#xff0c;在实际的SQL编写时&#xff0c…

python装饰器的通俗理解_简单理解Python装饰器

Python有大量强大又贴心的特性&#xff0c;如果要列个最受欢迎排行榜&#xff0c;那么装饰器绝对会在其中。刚接触装饰器&#xff0c;会觉得代码不多却难以理解。其实装饰器的语法本身挺简单的&#xff0c;复杂是因为同时混杂了其它的概念。下面我们一起抛去无关概念&#xff0…