MySQL:事务与DCL

MySQL学习笔记三:  1. 多表查询     2. 事务     3. DCL ## 多表查询: * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREME... 阅读详情

事务

  • 概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。

  • 操作:

    1. 开启事务:start transaction;
    2. 回滚:rollback;
    3. 提交:commit;
  • MySQL数据库中事务默认自动提交

    • 事务提交的两种方式:
      • 自动提交:
        • mysql就是自动提交的
        • 一条DML(增删改)语句会自动提交一次事务。
      • 手动提交:
        • Oracle 数据库默认是手动提交事务
        • 需要先开启事务,再提交
      • 修改事务的默认提交方式:
        • 查看事务的默认提交方式:SELECT @@autocommit; – 1 代表自动提交 0 代表手动提交
        • 修改默认提交方式: set @@autocommit = 0;
  • 事务的四大特征:

    1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
    2. 一致性:事务操作前后,数据总量不变
    3. 隔离性:多个事务之间。相互独立。
    4. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
  • 事务的隔离级别(了解)

    • 概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。

    • 存在问题:

      1. 脏读:一个事务,读取到另一个事务中没有提交的数据
      2. 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。
      3. 幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。
    • 隔离级别:

      1. read uncommitted:读未提交
        * 产生的问题:脏读、不可重复读、幻读
      2. read committed:读已提交 (Oracle)
        * 产生的问题:不可重复读、幻读
      3. repeatable read:可重复读 (MySQL默认)
        * 产生的问题:幻读
      4. serializable:串行化【类似于线程中的锁机制】
        * 可以解决所有的问题
    • 注意:隔离级别从小到大安全性越来越高,但是效率越来越低

    • 数据库查询隔离级别:

      • select @@tx_isolation;
    • 数据库设置隔离级别:

      • set global transaction isolation level 级别字符串;

DCL:管理用户,授权

  • 管理用户
    1. 添加用户:
      • 语法:create user ‘用户名’@‘主机名’ identified by ‘密码’;
    2. 删除用户:
      • 语法:Drop user ‘用户名’@‘主机名’
    3. 修改用户密码:
      • update user set password = password(‘新密码’)where user = ‘用户名’
      • set password for ‘用户名’@‘主机名’ = password(‘新密码’)SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
      • mysql中忘记了用户的密码?
        1. cmd–>net stop mysql 停止mysql 服务(需要管理员运行cmd)
        2. 使用无验证方式启动mysql服务:mysql–skip–grant-tables
        3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
        4. use mysql
        5. updateuser set password = password(‘你的新密码’) where user = ‘**’
        6. 关闭两个窗口
        7. 打开任务管理器,手动结束mysql.exe的进程
        8. 启动mysql服务
        9. 使用新密码登录
    4. 查询用户
      • 切换到mysql数据库use mysql
      • 查询user表select * from user
      • 通配符:%表示可以在任意主机使用用户登录数据库
  • 权限管理:
    1. 查询权限:
      • show grant for ‘用户名’@‘主机名’show grant for 'list'@'%'
    2. 授予权限:
      • grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’
      • 给张三用户授予所有权限,在任意数据库任意表上GRANT ALL ON *.* TO 'zhangsan'@'localhost';
    3. 撤销权限:
      • revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;
数据库的DDL、DML、DQL、DCL名词详解【全套笔记】 简言之: 1.DDL(DataDefinitionLanguage):数据定义语言,用来定义数据库对象:库、表、列等; 2.DML(DataManipulationLanguage):数据操作语言,用来定义数据库记录(数据); 3.DQL(DataQueryLanguage):数据查询语言,用来查询记录(数据); 4.DCL(DataControlLanguage):数据控制语言,用来定义访问权限和安全级别。 举例说明 1.DDL 用来定义数据库对象:库、表、列等; 适用范围:对数据库中的某些对象(. 阅读详情

相关推荐

Python实战:5分钟搞定固定翼无人机三自由度仿真(附完整代码)

本文提供了一个基于Python的固定翼无人机三自由度仿真快速实现方案。通过面向对象设计,封装了核心运动学模型,并对比了欧拉法与龙格-库塔法两种积分方法。文章附有完整实例代码,帮助算法工程师和研究人员在5分钟内搭建轻量级仿真环境,用于快速验证控制律、路径规划等核心算法逻辑。

docker7nomad的博客 747

DCL中的COMMIT\ROLLBACK以及TRUNCATE和DELETE的对比

DCL:数据控制语言; 1.COMMIT: 指的是提交数据,一旦执行COMMIT,那么数据就被永久地保存在数据库中---那么也就不可以回滚; 2.ROLLBACK: 指的是回滚数据,一旦执行ROLLBACK,那么就可以实现数据的回滚(但是并不一定成功)---回滚到最近的一次COMMIT之后。 由此,对比一下TRUNCATE TABLE(DDL)和DELETE FROM(DML): 相同点:都能删除表中的所有数据,并且保留表结构; 不同点:TRUNCATE TABLE--->一旦执行此操作,表

m0_65300193的博客 919

Unreal Engine鸿蒙移植实战:环境配置、构建流程与性能优化指南

游戏引擎移植是跨平台开发中的关键技术环节,其核心原理在于通过适配目标操作系统的底层接口和工具链,实现同一套代码在不同硬件和软件环境下的高效运行。这项技术的价值在于最大化代码复用率,降低多平台维护成本,并能让应用快速触达新兴生态系统的用户。在移动游戏和XR应用领域,随着鸿蒙HarmonyOS生态的快速发展,将成熟的商业引擎如Unreal Engine迁移至此平台,成为开发者探索新市场机会的重要路径。本文聚焦于Unreal Engine项目向鸿蒙系统的移植实践,详细解析了从环境搭建、源码适配到构建打包的全链路流

weixin_29011395的博客 403

MySQL:DCL 数据控制语句盘点

本篇内容包括:DCL 简介、GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT、LOCK命令的使用。

栗筝i的博客 5376

AGV避坑指南:海康控制系统与Modbus设备对接的那些‘坑’

本文深入解析海康AGV控制系统与Modbus设备对接中的常见问题及解决方案,涵盖通信协议对接、信号干扰、硬件层问题和软件优化策略。通过真实案例和实用技巧,帮助工程师规避典型陷阱,提升系统稳定性和效率。

l3m4n的博客 740

ESP32驱动TFT屏幕实战:LVGL与TFT_eSPI完美结合

本文详细介绍了如何在ESP32上结合TFT_eSPI驱动库与LVGL图形库,实现高效、流畅的嵌入式GUI开发。内容涵盖硬件连接、软件环境搭建、库配置、LVGL移植、界面创建及性能优化等全流程实战指南,帮助开发者快速构建低成本、高性能的交互式显示应用。

weixin_29206669的博客 200

MySQL基础之事务和DCL指令

MySQL的事务-初级篇一、事务1. 事务的基本概念2. 事务的ACID属性3. 事务的分类4. 事务的创建5. 事务的隔离等级5.1 三种错误假设5.1.1 脏读5.1.2 不可重复读5.1.3 幻读5.2 四个级别5.2.1 读未提交5.2.2 读已提交5.2.3 可重复读5.2.4 串行化5.3 五个状态5.3.1 活动的(active)5.3.2 部分提交的(partially committed)5.3.3 失败的(failed)5.3.4 中止的(aborted)5.3.5 提交的(co

weixin_44446626的博客 723

个人信息保护合规审计人员(高级)能力考核试卷+面试模拟

《个人信息保护合规审计考试与面试指南》 摘要:本文提供个人信息保护合规审计考试及面试的全面指导。考试采用闭卷笔试形式,满分100分,合格线75分,时长120分钟,包含单选、多选、判断题及综合案例分析题。内容涵盖《个人信息保护法》核心条款、审计程序、风险评估等实务要点。面试环节采用情景模拟方式,重点考察应试者在压力下处理审计独立性、客户关系与监管要求的平衡能力,以及应对数据泄露等突发事件的处置流程。案例题聚焦大型互联网平台的数据收集、共享、跨境传输等高风险环节的合规审计,要求设计完整的审计方案框架。面试评分标

qq_41525079的博客 1142

事务,DML,DDL,DCL的概念

1.事务 事务的官方解释是:事务是包含一个或多个SQL语句的逻辑单元.事务中的SQL语句能够全不提交(COMMIT),也可以全不回滚(Rollback).从上面的解释看,事务类似于操作系统中的进程,执行时不可分割,要么一起提交,要么一起回滚,可以将事务理解为于Oracle服务器的一次交互,Oracle中有很多的事务类型,包括:读写事务,可读事务,离散事务.默认的是读写事务.※ 读写事务

frankzcy的专栏 3455

第10章 shellcode实战:18 神级开源shellcode工具:donut

Donut是一款shellcode生成器,可将C/C++、C#生成的PE文件转换为shellcode文件,同时支持JS、XSL、VBS脚本转换为shellcode。以下“原生”EXE/DLL指非托管PE文件(包括并不限于C/C++、delphie等编写生成的可执行文件),可以直接由系统加载运行,区别于.Net生成的托管文件。被处理exe/dll为32位程序,则需要用32为的shellcode加载器启用,exe/dll为64位的就用64位shellcode加载器启用。

李小咖·网安技术库 2796

出现 Error:Unable to access jarfile xxxx\target\nacos-server.jar 解决方法

Nacos中的 2.x执行步骤如上,如果需要安装下载1.x版本,执行该步骤之后 自动更新下载的是2.x版本 对此如果需要下载安装1.x的版本,可通过如下连接(windows版本)

码农研究僧的博客 5697

Java_Mysql:6. 事务和DCL

java_mysql笔记

JiangTao_qjww的博客 155

【Unity引擎技术整合】 Unity学习路线 | 知识汇总 | 持续更新 | 保持乐趣 | 共同成长

本文对Unity引擎的知识进行了一个整理总结,基本包含了Unity中大部分的知识介绍。 网上也有很多Unity相关的学习资料,但大多数都不成体系,学起来的时候难免会东奔西走的摸不着头脑。 本文整理的多数文章都是有对应的系列性文章专栏,可以更方便的进行系统学习相关知识体系。

努力前行,总会成为自己心中的那道光 15万+

MySQL数据库学习日志(五):数据库事务 DCL

MySQL数据库学习日志(五):数据库事务 DCL MySQL数据库学习日志(五):数据库事务 DCL数据库事务(一)什么是数据库事务(二)事务的目的(三)事务特性(四)操作事务1. 自动提交事务2. 手动提交事务3. 事务原理(五)事务的并发异常(六)隔离级别1. 隔离级别的查看和修改2. 隔离级别应用以Read Uncommitted测试为例1)测试脏读2)测试不可重复读3)测试幻读4)测试丢失更新DCL(一)创建用户(二)授权用户(三)查看权限(四)删除用户(五)修改管理员的密码(六)修改普通用

张小憨憨的博客 1063

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

MySQL多表查询、事务、DCL:内含mysql如果忘记密码解决方案

MySQL多表查询、事务、DCL 多表查询 * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALU...

陈陈陈亚萌_的博客 123

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

mysql(三):多表设计、事务、DCL

目录1 查询语句(DQL)1.0 完整查询语句1.1 基本查询(select)1.1.1 字段别名(as)1.1.2 聚合函数1.1.3 聚合运算1.1.4 去重语句1.2 条件查询(where)1.2.1 算数运算符1.2.3 比较运算符1.2.3 逻辑运算符1.2.4 模糊查询(like)1.2.5 正则查询(regexp)1.3 聚合分组(group by)1.4 聚合筛选(having)1.5 排序(order by)1.6 限制(limit)2 多表查询2.1 联合查询(union)2.2

m0_53077537的博客 328

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MySQL(三):多表查询、事务、DCL

一、多表查询 查询语法: select 列名列表 from 表名列表 where.... 准备sql: # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO de...

baiduwenku112的博客 212

MySQL最基础(三):多表查询、事务管理和部分DCL

by konley mysql最基础第三弹(完结篇),主要涉及多表查询、事务管理和部分DCL知识 十、多表查询 10.1笛卡尔积 如果直接这样子查两个表 select * from emp,dept; 将会产生表1字段数*表2字段数条记录 我们发现不是所有的数据组合都是有用的, 只有员工表.dept_id = 部门表.id 的数据才是有用的。所以需要 通过条件过滤掉没用的数据 笛卡尔积 有两个集合AB,取这两个集合的所有组成情况(相乘) 要完成多表查询,首先应该消除笛卡尔积中无用、冗余的数据。 1

谢康立的博客 289

MySQL基础:SQL分类DDL、DML、DQL、DCL;函数、约束、多表查询、事务、并发事务四大问题、事务隔离级别——脏写、脏读、不可重复读、幻读

MySQL基础:SQL分类DDL、DML、DQL、DCL;函数、约束、多表查询、事务、并发事务四大问题、事务隔离级别——脏写、脏读、不可重复读、幻读

qq_44700578的博客 2528

MySQL--DQL、DML、DDL、DCL概念与区别

在SQL中,根据功能和操作对象的不同,通常将语文分为四大类:DQL(数据查询语言)、DML(数据操作语言)、DDL(数据定义语言)、DCL(数据控制语言)定义:用于从数据库中检索数据,不修改数据或数据库结构核心命令:SELECT:查询数据用途:从表中提取特定条件的过滤支持复杂的条件过滤、排序、分组、聚合等操作示例: SELECT name, age FROM users WHERE age > 18 ORDER BY name; 二、DML(Data Manipulation Language,数据

zx733988的博客 1560

【MySQL】基础命令DDL DML DCL / c++编程连接mysql

MySQL学习:主要学习这两大类 一、SQL语言: 1.DDL :数据定义语句,定义即为定义结构。主要有一下关键字:create,drop,alter,show 2.DML:数据操纵语句,即操纵具体数据。分为:insert、delete、select、update 3.DCL:数据数据库控制语句,即控制权限。分为:自主权限管理,强制权限管理。 二、MySQL内部机制: 存储引擎 ...

zDavid_2018的博客 518

MySQL事务

MySQL事务事务的基本介绍事务的四大特征数据库语句分类 事务的基本介绍 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败 操作:1.开启事务 start transaction 2.回滚 rollback 3.提交 commit Mysql默认自动提交事务,每执行一条sql语句会自动提交,set @@autocommit =0 修改默认提交 事务的四大特征 1.原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败 2.持久性:事务一旦提交或者回滚,数据库会持久化的

CptOctopus的博客 152

MYSQL的分类 DDL、DML、DQL、DCL

主要用于维护存储数据的结构,这种结构包括数据库,表、视图、索引、同义词、聚簇等。代表指令:create 创建数据库和数据库的一些对象drop 删除数据库/表、索引、条件约束以及数据表的权限等alter 修改数据库表的定义及数据属性。

从未完美过的博客 483

MySQL 五大类 SQL 命令详解:DQL、DML、DDL、DCL、TCL

DDL 用于定义数据库的结构,包括创建、修改和删除数据库对象(如表、索引、视图等),常用的命令有 CREATE、ALTER 和 DROP。-- 创建表-- 修改表,添加新列-- 删除表DDL 命令会改变数据库的结构,通常这些操作是不可逆的,需要谨慎执行。DQL:用于查询数据,如 SELECT。DML:用于增删改数据,如 INSERT、UPDATE 和 DELETE。DDL:用于定义数据库结构,如 CREATE、ALTER 和 DROP。DCL。

weixin_44161678的博客 627

mysql ddl dml dcl_mysql DDL、DML、DCL、DQL区分

mysql [Structure Query Language] 的组成分4个部分:DDL [Data Mefinition Language] 数据定义语言DML [Data Manipulation Language]  数据操纵语言DCL [Data Control Language] 数据控制语言DQL [Data QueryLanguage...

weixin_36155267的博客 276
上一篇: LeetCode137.只出现一次的数字 II(易解,易懂,高效)
下一篇: JDBC详述执行过程
Young-_-D
博客等级 码龄8年 62粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值