第十七章:数据库操作

数据库基础

 SQL语言

1、select 语句

select 语句用于从数据中检索数据。语法如下:

SELECT 搜选字段列表 FROM 数据表名

WHERE 条件表达式 GROUP BY 字段名 HAVING 条件表达式(指定分组的条件)

ORDER BY 字段名[ASC|DESC]

2、insert 语句

insert 语句用于向表中插入新数据。语法如下:

insert into 表名[(字段1,字段2...)]values(属性值1,属性值2);

 

 3、update 语句

update 语句用于更新数据表中的某些记录。语法如下:

UPDATE 数据表名 SET 字段名=新的字段值 WHERE 条件表达式;

 

 4、delete 语句

delete 语句用于删除数据。语法如下:

delete from 数据表名 where 条件表达式;

 

 

DBC中常用的类和接口

1、 DriverManager 类

  DriverManager 类师JDBC的管理层,用于管理数据库中的驱动程序。在操作指定数据库之前,需要使用Java中Class 类的静态方法forName(String className)加载指定数据库的驱动程序。

2、Connection 接口

   Connection 接口代表与特定的数据库的连接,在连接上下文中执行SOL语句并返回结果。 

3、Statement 接口

      Statement 接口用于在已经建立连接的基础上向数据库发送SQL语句。 

4、PreparedStatement 接口

     PreparedStatement 接口用来动态地执行SQL语句。通过PreparedStatement 实例执行的动态的SQL语句,将被预编译并能保存到PreparedStatement 实例中,从而可以反复地执行该SQL语句。 

5、ResultSet 接口

       ResultSet 接口类似与一个临时表,用来展示存放数据库查询操作所获得的结果。ResultSet 实例具有指定当前数据行的指针,指针开始的位置在第一个记录的前面,通常next()方法可将指针向下移。 

数据库操作

      要对数据库表中的数据库进行操作,首先应该建立与数据库的连接。通过JDBC API 中提供的各种各类,可对数据表中的数据进行查找、添加、修改、删除等操作。代码如下:
 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
import com.mysql.cj.jdbc.Driver;
 
 
public class JDBC {
	Connection connection;
 
	public static void main(String[] args)throws  SQLException {
	JDBC jdbc=new JDBC();
	jdbc.getConnection();
	System.out.println("查询所有课程,结果为:");
	jdbc.selectAll();
	System.out.println("新增4号课程,名为Web");
	jdbc.add(4,"Web");
	System.out.println("查询所有课程,结果为:");
	jdbc.selectAll();
	System.out.println("修改三课程,名为office");
	jdbc.update(3,"office");
	System.out.println("查询所有课程,结果为:");	
	jdbc.selectAll();	
	System.out.println("删除4号课程");
	jdbc.delete(4);
	System.out.println("查询所有课程,结果为:");
	jdbc.selectAll();
	jdbc.close();
	}
	//删除课程
	public void delete(int id) throws SQLException {
		//第三步:获取statement对象
		PreparedStatement preparedStatement=
	connection.prepareStatement("delete from couse where id= ?;");
		preparedStatement.setInt(1,id);
		//执行SQL语句返回结果集
		preparedStatement.executeUpdate();
		
	}
	//修改课程
	public void update(int id,String name) throws SQLException {
		//第三步:获取statement对象
		PreparedStatement preparedStatement=
connection.prepareStatement("update couse set name= ? where id= ?;");
		preparedStatement.setString(1, name);
		preparedStatement.setInt(2, id);
		//第四步: 获取statement对象
		preparedStatement.executeUpdate();
	}
	//添加课程
	public void add(int id, String name)throws SQLException {
		//第三步:获取statement对象
		PreparedStatement preparedStatement=connection.prepareStatement("insert into couse value(?,?);");
		
		preparedStatement.setInt(1, id);
		preparedStatement.setString(2, name);
		//第四步:执行SQL语句返回结果集
		preparedStatement.executeUpdate();
	}
 
	public void getConnection()throws SQLException{
		//第一步注册驱动	
		DriverManager.registerDriver(new Driver());	
	//第二步:获取连接		
		connection=DriverManager.getConnection(
		"jdbc:mysql://localhost:3306/school_java","root","1234");
	
		}
	
	//查询所有课程
	public void selectAll()throws SQLException {
	//第三步:获取statement对象
	PreparedStatement preparedStatement=
	connection.prepareStatement("select * from couse;");
//第四步: 执行SQL语句返回结果集
	ResultSet resultSet=preparedStatement.executeQuery();
//第五步:遍历结果集
		while(resultSet.next()) {
			System.out.print(resultSet.getInt("id")+" ");
			System.out.println(resultSet.getString("name"));
		}
	//第六步:关闭连接释放资源
		resultSet.close();
		preparedStatement.close();
	
	}
	public void close()throws SQLException {
		connection.close();
	}
}

运行结果:

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PTA-用天平找小球

三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。 输入格式: 输入在一行中给出3个正整数,顺序对应球A、B、C的重量。 输出格式: 在一行中输出唯一的那个不一样的球。 输入样例&#xff…

【8】Spring Boot 3 集成组件:安全组件 spring security【官网概念篇】

目录 【8】Spring Boot 3 集成组件:安全组件 spring securitySpring Security 简介先决条件引入依赖身份验证密码存储密码存储历史DelegatingPasswordEncoder密码存储格式密码加解密类自定义密码存储 体系结构 ArchitectureServlet 过滤器DelegatingFilterProxyFilt…

基于element-plus定义表单配置化扩展表单按钮

文章目录 前言一、新增btn.vue组件二、使用总结如有启发&#xff0c;可点赞收藏哟~ 前言 在后台管理系统一般都存在列表查询&#xff0c;且可输入数据进行查询 基于element-plus定义表单配置化 新增按钮配置化 一、新增btn.vue组件 <template><template v-for&qu…

java协程操作mysql数据库

我的项目&#xff1a; nanshaws/nettyWeb: 复习一下netty&#xff0c;并打算做一个web项目出来 (github.com) 最近在项目中分别添加了虚拟线程操作mysql数据库&#xff0c;和用协程操作mysql数据库 同理先跟我这个博客操作一下前面的&#xff1a;就单纯代码的时候进行修改&a…

2014年12月22日 Go生态洞察:Go语言中的代码生成

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Sui第七轮资助:八个项目共获得超过50万美元的资助

今日&#xff0c;Sui基金会宣布了本月获得资助的项目方&#xff0c;他们将获得超过50万美元的资助金&#xff0c;用于构建项目&#xff0c;推动Sui的采用和发展。要获得资助&#xff0c;项目必须提交提案&#xff0c;详细说明他们正在构建的内容、预算明细、关键里程碑、团队经…

Vue环境的搭建

1.Vue开发的两种方式 &#xff08;1&#xff09;核心包传统开发模式 基于html/css/js文件&#xff0c;直接引入和辛堡&#xff0c;开发Vue。 &#xff08;2&#xff09;工程化开发模式&#xff1a; 主要是基于构建工具&#xff08;例如,webpack&#xff09;的环境中开发Vue…

SpringBoot——感谢尚硅谷官方文档

SpringBoot——感谢尚硅谷官方文档 1 Spring与SpringBoot1、Spring能做什么1.1、Spring的能力1.2、Spring的生态1.3、Spring5重大升级1.3.1、响应式编程1.3.2、内部源码设计 2、为什么用SpringBoot2.1、SpringBoot优点2.2、SpringBoot缺点 3、时代背景3.1、微服务3.2、分布式分…

数据科学导论——数据预处理

第1关:引言-根深之树不怯风折,泉深之水不会涸竭 第2关:数据清理-查漏补缺 import numpy as np import pandas as pd import matplotlib.pyplot as plt def student():train = pd.read_csv(Task1/diabetes_null.csv, na_values=[#NAME?])train[Insulin] = train[Insulin].f…

Linux运行jmeter报错java.sql.SQLException:Cannot create PoolableConnectionFactory

在性能测试过程中遇见1个问题&#xff0c;终于解决了&#xff0c;具体问题如下。 问题 在windows电脑写jmeter脚本连接数据库连接成功 然后把该脚本放到Linux服务器上面&#xff0c;并把jmeter mysql驱动放到服务器上面&#xff0c;修改jmeter的mysql驱动路径信息 注意&…

并行与分布式计算 第9章 算法设计

文章目录 并行与分布式计算 第9章 算法设计9.1 设计过程9.1.1 PCAM设计过程9.1.2 划分9.1.3 通信9.1.4 组合9.1.5 映射 8.2 设计方法8.2.1 划分技术9.2.2 分治9.2.3 平衡树技术9.2.4倍增技术9.2.5 流水线技术9.2.6 破对称技术 并行与分布式计算 第9章 算法设计 9.1 设计过程 …

如何提高图片转excel的效果?(软件选择篇)

在日常的工作中&#xff0c;我们常常会遇到一些财务报表类的图片需要转换成可编辑的excel&#xff0c;但是&#xff0c;受各种条件的限制&#xff0c;常常只能通过手工录入这种原始的方式来实现&#xff0c;随着人工智能、深度学习以及网络技术的发展&#xff0c;这种原始的录入…

一张图,了解美格智能高算力AI模组

美格智能高算力A模组&#xff0c;澎湃算力让AI触手可及&#xff01;

安徽省广德市选择云轴科技ZStack Cloud云平台建设县级智慧城市

信创是数字中国建设的重要组成部分&#xff0c;也是数字经济发展的关键推动力量。作为云基础软件企业&#xff0c;云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施&#xff0c;ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级&#xff0c;是其中唯一兼容四种…

Pytest模式执行python脚本不生成allure测试报告

1.安装allure 下载allure的zip安装包将allure.zip解压到python的lib目录中将allure的bin路径添加到环境变量path中(注意&#xff1a;配置环境变量后&#xff0c;一定要重启电脑。因为环境变量没生效&#xff0c;我搞了半天在pycharm不能生成报告&#xff0c;在cmd中可以生成报…

Re51:读论文 Language Models as Knowledge Bases?

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;Language Models as Knowledge Bases? ArXiv网址&#xff1a;https://arxiv.org/abs/1909.01066 官方GitHub项目&#xff1a;https://github.com/facebookresearch/LAMA 本文是2019年…

2022-1-25 机器人运动规划方法综述 航空学报

论文PDF abstract 随着应用场景的日益复杂&#xff0c;机器人对旨在生成无碰撞路径&#xff08;轨迹&#xff09;的自主运动规划技术的需求也变得更加迫 切。虽然目前已产生了大量适应于不同场景的规划算法&#xff0c;但如何妥善地对现有成果进行归类&#xff0c;并分析不同…

深入解析Java 8中HashMap的底层原理

引言 HashMap是Java中常用的集合类&#xff0c;用于存储键值对。其底层实现经过多次优化&#xff0c;包括哈希算法、数组扩容、链表转红黑树等。本文将深入研究HashMap的底层原理&#xff0c;并详细探讨如何解决哈希碰撞的技术。 1. 哈希算法 HashMap的核心是哈希算法&#…

Webstorm 插件文件目录颜色分析——白蓝绿红黄灰

Webstorm 插件文件目录【白色、蓝色、绿色、红色、黄色、灰色】对应当前文件发生什么了&#xff0c;即文件夹当前状态。 WebStrom配置好git或SVN后文件颜色代表的含义&#xff1a; 白色&#xff1a;本地无修改内容 蓝色&#xff1a;文件内容有修改&#xff0c;暂未提交到git…

从入门到精通!Python数据分析畅销书《利用Python进行数据分析》第三版中文版助你成为数据分析师!

Python数据分析畅销书《利用Python进行数据分析》第三版中文版助你成为数据分析师&#xff01; 个人简介什么是数据分析如何自学数据分析书籍推荐作译者简介作者简介译者简介 主要变动导读视频&#xff1a;购书链接&#xff1a;参与方式往期赠书回顾 个人简介 &#x1f3d8;️&…