{MySQL}索引事务和JDBC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、索引
    • 1.1索引是什么
    • 1.2作用
    • 1.3代码
  • 二、事务
    • 2.1什么是事务
    • 2.2使用
  • 三.JDBC
  • 总结


前言

接着上次,继续讲下MySQL


提示:以下是本篇文章正文内容,下面案例可供参考

一、索引

1.1索引是什么

索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。
通俗的讲:一本书都有目录,而这个索引就是类似目录的功能

1.2作用

数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
索引所起的作用类似书籍目录,可用于快速定位、检索数据。
索引对于提高数据库的性能有很大的帮助
在这里插入图片描述

1.3代码

查看

show index from 表名;

在这里插入图片描述
创建

create index 索引名 on 表名(字段名);

在这里插入图片描述
当我再次查看的时候就是
在这里插入图片描述
删除

drop index 索引名 on 表名;

二、事务

2.1什么是事务

事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。
在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务

2.2使用

(1)开启事务:start transaction;
(2)执行多条SQL语句
(3)回滚或提交:rollback/commit;
我们假设一个大贼去偷钱,从阿里巴巴上偷了2k,但是网络出现了错误,导致阿里巴巴账户上失去了2k,但是大贼账户上也没有增加2k。
上代码

![start transaction;
-- 阿里巴巴账户减少2000
update accout set money=money-2000 where name = '阿里巴巴';
-- 四十大盗账户增加2000
update accout set money=money+2000 where name = '四十大盗';
commit;

在这里插入图片描述

现在是账户上都是3k金额
在这里插入图片描述
然后我现在再这个这个上面最后一步不用先commit,然后我在直接rollback,是可以回到之前的数据,但是继续看
在这里插入图片描述
我如果commit后面直接用rollback的话,那就来不及了,还是变成1000和5k了
,所以rollback是全部失败,commit是全部成功的意思

三.JDBC

在这里插入图片描述
JDBC优势:
Java语言访问数据库操作完全面向抽象接口编程
开发数据库应用不用限定在特定数据库厂商的API
程序的可移植性大大增强

这个可以直接在springboot中用框架连接,所以简单介绍一下为止


总结

好了,今天的blog到这里结束了,希望大家三连啊

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

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

相关文章

Jmeter吞吐量控制器总结

吞吐量控制器(Throughput Controller) 场景: 在同一个线程组里, 有10个并发, 7个做A业务, 3个做B业务,要模拟这种场景,可以通过吞吐量模拟器来实现。 添加吞吐量控制器 用法1: Percent Executions 在一个线程组内分别建立两个吞吐量控制器, 分别放业务A和业务B …

多浏览器密码修改,账户Token全部失效解决方案

问题场景: 用户在多个浏览器登录同一个账户时,正常情况下每个浏览器获得token应该是不同的。但若是其中一个浏览器进行了修改密码的操作,就应该删除该账户关联的所有token。该功能如何实现呢? 在这里提供一个解决方案,…

如何基于PyTorch框架自定义数据集类获取数据

在PyTorch框架中,可以通过自定义数据集类来加载和处理数据 要自定义数据集类,需要继承 PyTorch提供的 torch.utils.data.Dataset类,并实现两个主要方法:__len__ 和 __getitem__ 下面是一个示例,展示如何基于PyTorch框…

R503S指纹识别模块的通信协议

1 物理层 物理层采用串口通讯,波特率 57600,8 位数据位,1 位停止位,无奇偶校验位。 2 数据包格式 模块采用 UART 与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式。对于多字节的&#x…

用CSS中的动画效果做一个转动的表

<!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title></title><style>*{margin:0;padding:0;} /*制作表的样式*/.clock{width: 500px;height: 500px;margin:0 auto;margin-top:100px;border-rad…

JavaScript(注释,数据类型,运算符,条件语句)

一 注释 1.1 单行注释 //这是单行注释 1.2 多行注释 /*这是多行注释*/ 1.3 嵌套在HTML文件中注释 <!--注释--> 1.4 注释的快捷键 ctrl/ 二 JavaScript输出方式 2.1 在浏览器中展示对话框&#xff0c;弹出要展…

强化学习计划

文章目录 强化学习强化学习解决的是什么样的问题&#xff1f;举出强化学习与有监督学习的异同点。有监督学习靠样本标签训练模型&#xff0c;强化学习靠的是什么&#xff1f;强化学习的损失函数&#xff08;loss function&#xff09;是什么&#xff1f;写贝尔曼方程&#xff0…

【Linux Shell学习笔记】Linux Shell的流控制

1、 if条件判断 1.1 格式 1.1.1 单分支 if [ 判断表达式 ];then 代码块 fi 1.1.2 双分支 if [ 判断表达式 ];then 代码1 else 代码2 fi 1.1.3 多分支 if [ 判断表达式1 ];then 代码1 elif [ 判断表达式2 ];then 代码2 elif [ 判断表达式3 ];then 代…

【数据结构】双向带头循环链表的实现

前言&#xff1a;在前面我们学习了顺序表、单向链表&#xff0c;今天我们在单链表的基础上进一步来模拟实现一个带头双向链表。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:数据结构 &#x1f448; &#x1f4af;代码仓库:卫卫周大胖的…

USB -- STM32F103复合设备(HID+MassStorage)传输讲解(十)

目录 链接快速定位 前沿 1 描述符讲解 1.1 设备描述符 1.2 配置描述符 1.3 接口描述符 1.4 功能描述符 1.5 端点描述符 1.6 字符串描述符 1.7 报告描述符 2 运行演示 链接快速定位 USB -- 初识USB协议&#xff08;一&#xff09; 源码下载请参考链接&#xff1a;…

修改字符串(c++题解)

题目描述 给你一个长度为 的字符串 &#xff0c;由大写和小写英文字母组成。 对字符串 进行 次修改。由两个整数和一个字符组成的元组 表示 -th 修改 &#xff0c;如下所示。 如果是&#xff0c;则将的个字符改为。如果是 &#xff0c;将 中的所有大写字母转换为小写字…

java中PhantomReference WeakReference SoftReference垃圾回收触发时机以及使用场景

java 中对象引用一般引用分为四种情况 强引用 即我们平常创建的对象 Object obj new Object() 垃圾回收触发时机 在没设置 jvm 参数 -XX:PretenureSizeThreshold 和 -XX:MaxTenuringThreshold 的情况下 -XX:PretenureSizeThreshold 的值为 0&#xff0c;即未设置大对象直接…

三巨头对决:深入了解pnpm、yarn与npm

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 三巨头对决&#xff1a;深入了解pnpm、yarn与npm 前言包管理器简介npm&#xff08;Node Package Manager&#xff09;&#xff1a;Yarn&#xff1a;pnpm&#xff08;Performant Npm&#xff09;&#…

Linux 服务器安全策略技巧:使用数字证书进行认证

什么是数字证书? 数字证书是一种用于验证和加密网络通信的安全工具。它是由认证机构(CA)颁发的一种电子文件,用于证明某个实体的身份。数字证书包含了实体的公钥和其他相关信息,可以用于验证实体的身份和确保通信的机密性。 为什么使用数字证书进行认证? 在Linux服务器…

基于Mapify的在线艺术地图设计

地图是传递空间信息的有效载体&#xff0c;更加美观、生动的地图产品也是我们追求目标。 那么&#xff0c;我们如何才能制出如下图所示这样一幅艺术性较高的地图呢&#xff1f;今天我们来一探究竟吧&#xff01; 按照惯例&#xff0c;现将网址给出&#xff1a; https://www.m…

微信小程序实现一个天气预报应用程序

微信小程序实现一个天气预报应用程序 第一步创建一个项目第二步项目目录下找到 pages/index/index.wxml 文件第三步在 pages/index/index.wxss 文件中写入样式第四步在 pages/index/index.js 文件中添加以下代码项目简介 第一步创建一个项目 第二步项目目录下找到 pages/index…

在 Python 中编写循环Loops的艺术

在 Python 中编写循环Loops的艺术(The Art of Writing Loops in Python) 文章目录 在 Python 中编写循环Loops的艺术(The Art of Writing Loops in Python)一次获取索引Indexes和值Values通过 Product 函数避免嵌套循环Nested Loops使用 Itertools 模块编写花式循环进行无限循环…

SpringBoot知识

1、Spring和SpringBoot对比 2、版本调整 &#xff08;1&#xff09;先排除是否是JDK与SpringBoot的版本不一致导致的&#xff1a;如JDK1.8和SpringBoot3.1.5冲突&#xff1b; &#xff08;2&#xff09;调整编译版本 &#xff08;3&#xff09;调整maven的jdk &#xff08;4&…

Vscode运行调试文件

文章目录 vscode调试运行流程vscode 执行报错settings.json成功截图 vscode调试运行流程 vscode左侧菜单栏点击运行调试icon&#xff0c;点击菜单右侧栏运行和调试按钮&#xff0c;选择node调试器&#xff0c;js文件行数左边点击添加红色断点&#xff0c;运行当前文件 vscode…

【docker实战】01 Linux上docker的安装

Docker CE是免费的Docker产品的新名称&#xff0c;Docker CE包含了完整的Docker平台&#xff0c;非常适合开发人员和运维团队构建容器APP。 Ubuntu 14.04/16.04&#xff08;使用 apt-get 进行安装&#xff09; # step 1: 安装必要的一些系统工具 sudo apt-get update sudo ap…