MYSQL基础之【正则表达式,事务处理】
文章目录
- 前言
- MySQL 正则表达式
- MySQL 事务
- 事务控制语句
- 事务处理方法
- PHP中使用事务实例
- 后言
前言
hello world欢迎来到前端的新世界
😜当前文章系列专栏:Mysql
🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力
MySQL 正则表达式
在前面的章节我们已经了解到MySQL可以通过 LIKE …% 来进行模糊匹配。
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。
下表中的正则模式可应用于 REGEXP 操作符中。

实例
了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解:
查找name字段中以’st’为开头的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
查找name字段中以’ok’为结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
查找name字段中包含’mar’字符串的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
查找name字段中以元音字符开头或以’ok’字符串结尾的所有数据:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
MySQL 事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
- 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
- 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。
- 事务用来管理 insert , update , delete 语句。
一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性或不可分割性)、Consistency(一致性)、Isolation(隔离性或独立性)、Durability(持久性)
- 原子性:一组事务,要么成功;要么撤回,即事务在执行过程中出错会回滚到事务开始前的状态。
- 一致性 : 一个事务不论是开始前还是结束后,数据库的完整性都没有被破坏。因此写入的数据必须完全符合所有预设规则(资料精确度、串联性以及后续数据库能够自发完成预定工作)。
- 隔离性:数据库允许多个事务并发的同时对其数据进行读写修改等操作,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离可分为:Read uncommitted(读未提交)、Read committed(读提交)、Repeatable read(可重复读)、Serializable(串行化)。
- 持久性:事务在处理结束后对数据做出的修改是永久的,无法丢失。
事务控制语句
1,显式的开始一个事务:
start transaction
或
begin
2, 做保存点,一个事务中可以有多个保存点:
savepoint 保存点名称
3, 提交事务,并使数据库中进行的所有修改成为永久性的:
commit
或
commit work
4,回滚结束用户的事务,并撤销正在进行的所有未提交的修改:
rollback
或
rollback work
5.删除一个事务的保存点,若没有指定保存点,执行该语句操作会抛错。
release savepoint 保存点名称
6.将事务滚回标记点:
rollback to 标记点
7.设置事务的隔离级别。InnoDB 存储引擎提供事务的隔离级别有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ 和 SERIALIZABLE。
set transaction
事务处理方法
-
用 begin , rollback , commit 来实现事务处理。
-
用 set 来改变 MySQL 的自动提交模式。
- set autocommit = 0 (禁止自动提交)。
- set autocommit = 1 (开启自动提交)。
PHP中使用事务实例
<?php
$handler=mysql_connect("localhost","root","password");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行 mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values('2')"))
{
mysql_query("ROOLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values('4')"))
{
mysql_query("ROOLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?>
后言
创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力
相关文章:
MYSQL基础之【正则表达式,事务处理】
文章目录 前言MySQL 正则表达式MySQL 事务事务控制语句事务处理方法PHP中使用事务实例 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不…...
Mysql并发时常见的死锁及解决方法
使用数据库时,有时会出现死锁。对于实际应用来说,就是出现系统卡顿。 死锁是指两个或两个以上的事务在执行过程中,因争夺资源而造成的一种互相等待的现象。就是所谓的锁资源请求产生了回路现象,即死循环,此时称系统处于…...
二十九、微服务案例完善(数据聚合、自动补全、数据同步)
目录 一、定义 二、分类 1、桶(Bucket)聚合: 2、度量(Metric)聚合: 3、管道聚合(Pipeline Aggregation): 4、注意: 参与聚合的字段类型必须是: 三、使用DSL实现聚合 聚合所必须的三要素: 聚合可配…...
vue 目录树的展开与关闭
目录 1、翻页方法中控制目录树节点的展开与关闭2、搜索目录树节点名称控制节点的展开与关闭 <el-tree:data"data_option"ref"tree":props"defaultProps"node-click"handleNodeClick":default-expanded-keys"needExpandedKeys&…...
【Docker】python flask 项目如何打包成 Docker images镜像 上传至阿里云ACR私有(共有)镜像仓库 集成Drone CI
一、Python环境编译 1、处理好venv环境 要生成正常的 requirements.txt 文件,我们就需要先将虚拟环境处理好 创建虚拟环境(可选): 在项目目录中,你可以选择使用虚拟环境,这样你的项目依赖将被隔离在一个…...
力扣labuladong——一刷day55
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣951. 翻转等价二叉树二、力扣124. 二叉树中的最大路径和三、力扣112. 路径总和(遍历)四、力扣112. 路径总和(分解&a…...
springboot实现验证码功能
转载自 : www.javaman.cn 1、编写工具类生成4位随机数 该工具类主要生成从0-9,a-z,A-Z范围内产生的4位随机数 /*** 产生4位随机字符串*/public static String getCheckCode() {String base "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn…...
内测分发平台是否支持应用的微服务化部署
内测分发平台的微服务化部署支持是现代应用开发和部署的一个重要特性。首先我们得知道什么是微服务化部署都有哪些关键功能,如何实施微服务化的部署。下文以我自己理解总结了几点。 图片来源:news.gulufenfa.com 微服务是一种基于独立运行的小型服务来构建应用程序…...
1140. 最短网络,prim算法,模板题
1140. 最短网络 - AcWing题库 农夫约翰被选为他们镇的镇长! 他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。 约翰的农场的编号是1…...
升级jdk17过程中,原来的jdk8下的webservice客户端怎样处理
背景:之前jdk8环境下,使用的cxf框架,而且是动态加载解析作为客户端。大家一直相处的很愉快。但是最近升级jdk17,发现cxf不好用了。网上百度,大部分都是说升级cxf版本,并且添加jaxb的相关依赖就可以了。但是…...
Verilog基本语法概述
一、概述 Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种 行为级(可用于电路的功能描述) 描述语言又是一种 结构性(可用于元器件及其之间的连接)…...
论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM
前言 论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping,是发表在MDPI drones(二区,IF4.8)上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为…...
蓝桥杯刷题day01——字符串中的单词反转
题目描述 你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息 message 转换为正常语序。 注意:输入字符串 message 中可能会存在前导空…...
Python---引用变量与可变、非可变类型
引用变量 在大多数编程语言中,值的传递通常可以分为两种形式“ 值 传递 与 引用 传递”,但是在Python中变量的传递基本上都是引用传递。 变量在内存底层的存储形式 a 10 第一步:首先在计算机内存中创建一个数值10(占用一块…...
GDOUCTF2023-Reverse WP
文章目录 [GDOUCTF 2023]Check_Your_Luck[GDOUCTF 2023]Tea[GDOUCTF 2023]easy_pyc[GDOUCTF 2023]doublegame[GDOUCTF 2023]L!s![GDOUCTF 2023]润!附 [GDOUCTF 2023]Check_Your_Luck 根据 if 使用z3约束求解器。 EXP: from z3 i…...
Day43力扣打卡
打卡记录 子数组的最小值之和(乘法原理 单调栈) 大佬的题解 class Solution:def sumSubarrayMins(self, arr: List[int]) -> int:n len(arr)# 左边界 left[i] 为左侧严格小于 arr[i] 的最近元素位置(不存在时为 -1)left, s…...
elementui的table合并列,三个一组
<el-table :span-method"objectSpanMethod" :cell-style"iCellStyle" :data"tableData" height"63vh" border style"width: 100%; margin-top: 6px"><el-table-column type"index" label"序号"…...
HarmonyOS-Service服务开发(一)
文章目录 创建新项目启动Serviceets获取service的bundleName DataAbility开发指导开发Data步骤创建Data 创建新项目 ServiceAbility开发指导 在config.json中也有配置出现 启动Service ets获取service的bundleName 项目的bundleName service的bundleName 这里serviceAbil…...
FLASK博客系列4——再谈路由
最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由(其实就是我上次偷懒剩下一点没讲完)。 通过上次的文章,我们基本了解了Flask中的路由,是不是比较简单呢?别急,今天来点猛料。 一、路由之HTTP方法绑…...
sql之left join、right join、inner join的区别
sql之left join、right join、inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下࿱…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
