IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JDBC中execute() executeQuery()和executeUpdate()方法之间有什么区别? -> 正文阅读

[大数据]JDBC中execute() executeQuery()和executeUpdate()方法之间有什么区别?

executeQuery(),?executeUpdate()?和?execute()?是JDBC API的java.sql.Statement接口的方法,用于执行SQL语句。

executeQuery() Vs executeUpdate() Vs execute()

executeQuery()executeUpdate()execute()
此方法用于执行从数据库中检索某些数据的 SQL 语句。此语句用于执行更新或修改数据库的 SQL 语句。此方法可用于任何类型的 SQL 语句。
此方法返回一个 ResultSet 对象,该对象包含查询返回的结果。此方法返回一个 int 值,该值表示受查询影响的行数。对于不返回任何内容的语句,这将为 0。此方法返回布尔值。TRUE 表示查询返回了结果集对象,FALSE 表示返回了整型值或未返回任何内容。
此方法用于执行选择查询。此方法用于执行非选择查询。此方法用于执行选择和非选择查询。
例如:SELECT

例如:
DML->INSERT , UPDATE and DELETE

DDL-> CREATE, ALTER

任何类型的 SQL 语句。

创建语句对象后,可以使用语句接口的执行方法之一执行它,即execute(), executeUpdate() 和?executeQuery()。

execute() 方法:此方法用于执行 SQL DDL 语句,它返回一个布尔值,指定可以检索结果集对象的天气。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Example {
? ?public static void main(String args[]) throws SQLException {
? ? ? //Registering the Driver
? ? ? DriverManager.registerDriver(new com.mysql.jdbc.Driver());
? ? ? //Getting the connection
? ? ? String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
? ? ? Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
? ? ? System.out.println("Connection established......");
? ? ? //Creating the Statement
? ? ? Statement stmt = con.createStatement();

? ? ? //Executing the statement
? ? ? String createTable = "CREATE TABLE Employee( "
? ? ? ? ?+ "Name VARCHAR(255), "
? ? ? ? ?+ "Salary INT NOT NULL, "
? ? ? ? ?+ "Location VARCHAR(255))";
? ? ? boolean bool = stmt.execute(createTable);

? ? ? System.out.println(bool);
? ?}
}

输出

Connection established......
false

executeUpdate():此方法用于执行插入、更新、删除等语句。它返回一个整数值,表示受影响的行数。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ExecuteUpdateExample {
? ?public static void main(String args[]) throws SQLException {
? ? ? //Registering the Driver
? ? ? DriverManager.registerDriver(new com.mysql.jdbc.Driver());
? ? ? //Getting the connection
? ? ? String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
? ? ? Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
? ? ? System.out.println("Connection established......");
? ? ? //Creating the Statement
? ? ? Statement stmt = con.createStatement();
? ? ?
? ? ? String insertData = "INSERT INTO Employee("
? ? ? ? ?+ "Name, Salary, Location) VALUES "
? ? ? ? ?+ "('Amit', 30000, 'Hyderabad'), "
? ? ? ? ?+ "('Kalyan', 40000, 'Vishakhapatnam'), "
? ? ? ? ?+ "('Renuka', 50000, 'Delhi'), "
? ? ? ? ?+ "('Archana', 15000, 'Mumbai')";

? ? ? int i = stmt.executeUpdate(insertData);
? ? ? System.out.println("Rows inserted: "+i);
? ?}
}

输出

Connection established......
Rows inserted: 4

executeQuery():此方法用于执行返回表格数据的语句(示例选择)。它返回类结果集的对象。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ExecuteQueryExample {
? ?public static void main(String args[]) throws SQLException {
? ? ? //Registering the Driver
? ? ? DriverManager.registerDriver(new com.mysql.jdbc.Driver());
? ? ? //Getting the connection
? ? ? String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
? ? ? Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
? ? ? System.out.println("Connection established......");
? ? ? //Creating the Statement
? ? ? Statement stmt = con.createStatement();

? ? ? //Retrieving data
? ? ? ResultSet rs = stmt.executeQuery("Select *from Employee");

? ? ? while(rs.next()) {
? ? ? ? ?System.out.print("Name: "+rs.getString("Name")+", ");
? ? ? ? ?System.out.print("Salary: "+rs.getInt("Salary")+", ");
? ? ? ? ?System.out.print("City: "+rs.getString("Location"));
? ? ? ? ?System.out.println();
? ? ? }
? ?}
}

输出

Connection established......
Name: Amit, Salary: 30000, City: Hyderabad
Name: Kalyan, Salary: 40000, City: Vishakhapatnam
Name: Renuka, Salary: 50000, City: Delhi
Name: Archana, Salary: 15000, City: Mumbai
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:48:45  更:2022-10-08 20:49:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:46:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码