MySQL
文章平均质量分 93
MySQL从入门到精通
不断前进的皮卡丘
你有多努力的现在,就会有多无惧的未来。加油吧,少年!
展开
-
MySQL日志
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。作用:保证数据的一致性查询 张三 账户余额张三 账户 -1000李四 账户 +1000如果第二步骤到第三步骤出现了异常情况报错,则出现数据不一致问题。因此需要事务来完成,业务逻辑执行之前开启事务,执行 完毕后提交事务。如果执行过程中报错,则回滚事务,把数据恢复到事务开始之前的状态。原创 2024-08-27 16:01:15 · 711 阅读 · 3 评论 -
MySQL索引
索引(index)是MySQL中高效获取数据的树结构(有序),数据库索引允许快速访问数据库表中的特定信息。没有索引,数据库系统必须对表中的每一行数据进行扫描,以找到匹配的行。这种全表扫描在数据量较小时尚可接受,但随着数据量的增加,性能将急剧下降索引虽然可以提高查询效率,但它们也有成本。首先,索引需要额外的存储空间。其次,当对表中的数据进行增加、删除或修改操作时,索引也需要被更新,这会增加额外的写操作开销。因此,设计高效的索引策略需要在查询性能和维护成本之间找到平衡。原创 2024-08-27 15:58:49 · 908 阅读 · 1 评论 -
数据库的三大范式
设计数据表的时候,要考虑很多的问题:如果数据库设计得不合理的话,可能导致下面的几种问题:我们可以看出设计良好的数据库是很重要的,它有下面的优点:设计数据库,我们得重视数据表的设计,为了建立冗余度小,结构合理的数据库,设计数据库必须遵循一定的规则。关系型数据库中,关于数据表设计的基本原则,规则就称为范式,范式是我们在设计数据库结构过程中需要遵循的规则和指导方法。不过,有的时候为了提高某一些查询性能,我们还需要破坏范式规则,也就是反规范化。范式的定义会用到主键和候选键,我们先来看看相关的概念,数据库中的键是原创 2022-06-08 19:25:01 · 60096 阅读 · 97 评论 -
MySQL触发器
有一些表是互相关联的,比如说商品表和库存表,我们对商品表的数据进行操作,那么对应的库存表还得发生变化,这样才可以保证数据的完整。如果我们是自己手动维护的话,比较麻烦。这个时候我们可以使用触发器,创建一个触发器,让商品信息数据的插入操作自动触发库存数据的插入操作等,这样我们就不需要担心因为忘记添加库存数据而导致数据丢失了。触发器是作用在表上的,比如说我们希望表A新增一条记录的时候就触发 触发器的执行,而且还要选择触发器是在insert语句执行之前执行触发器还是之后。说明::表示触发器监控的对象。:表示触发原创 2022-06-03 20:24:44 · 1050 阅读 · 40 评论 -
MySQL 游标
我们之前写的sql语句,虽然可以通过筛选条件来限定返回的记录,但是我们却没有办法在结果集里面,像指针一样,定位每一条记录,向前定位,向后定位,或随意定位到某一条记录。为了解决这个问题,我们可以使用游标。游标可以让我们可以对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作接下来就让我们来看看具体怎么使用。这里的select语句用来返回一个创建游标的结果集cursor 英文意思是游标,光标简单记忆就是说用一个查询语句来描述游标举例2.2打开游标定义好游标后,如果想要使用它,就得原创 2022-06-03 20:24:06 · 17690 阅读 · 8 评论 -
MySQL 流程控制
我们之前学习MySQL的时候,写的语句比较简单,程序也比较单一,但是在实际开发中,解决复杂的问题是需要执行多个sql语句的,流程控制语句的作用就是用来控制存储过程中SQL语句的执行顺序。流程分为顺序结构,分支结构和循环结构。对应MySQL来说,流程控制语句主要有3类。分支结构之caseCASE 语句的语法结构1:loop内的语句一直重复执行,直到循环被退出(使用leave子句),跳出循环过程。语法loop_label表示LOOP语句的标注名称,可以省略例:id小于10时重复执行循原创 2022-06-03 20:22:49 · 878 阅读 · 0 评论 -
MySQL 程序出错的处理机制
我们有的时候向数据库中的表插入数据的时候,有时候因为没有注意到字段的约束,经常会出现错误,比如下面这种情况。我们可以看看表的结构,来看到底为什么会出错我们发现email要求非空,但是这个时候我们插入数据的时候没有给Email赋值,就导致它为空,所以报错。我们很容易联想到,像Java这样的语言,当程序出现异常的时候,有对应的异常处理机制,比如throws,try catch finally,接下来我们来看看MySQL中是如何处理异常的。在存储过程中未定义条件和处理程序,且当存储过程中执行的SQL语句原创 2022-06-03 20:21:50 · 1036 阅读 · 0 评论 -
MySQL 变量
系统变量是服务器层次的启动MySQL服务,生成MySQL服务实例期间,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特征。这些系统变量的值要么是的默认值,要么是(例如my.ini等)中的参数值。每一个MySQL客户机成功连接MySQL服务器后,都会产生与之对应的会话。会话期间,MySQL服务实例会在MySQL服务器内存中生成与该会话对应的会话系统变量,这些会话系统变量的初始值是全局系统变量值的复制。如下图:在MySQL中有些系统变量只能是全局的,例原创 2022-06-03 20:19:55 · 825 阅读 · 2 评论 -
MySQL 存储过程与存储函数
存储过程和视图与函数的对比接下来看看存储过程的分类,现在不懂没关系,等文章后面内容看完再回过来看,其实分类和函数的分类差不多,就是根据有无参数和有无返回值来划分。IN,OUT,INOUT都可以在一个存储过程中带多个类似于Java的语法接下来对参数类型前面的IN,OUT,INOUT进行说明characteristics表示创建存储过程时指定的对存储过程的约束条件,其取值信息如下::说明存储过程执行体是由SQL语句组成的,当前系统支持的语言为SQL。:指明存储过程执行的结果是否确定。DETERMINI原创 2022-06-03 20:19:13 · 510 阅读 · 0 评论 -
MySQL视图
视图可以帮助我们使用表的一部分,如果只想让员工查看表的部分数据,就可以使用视图。案例演示我们可以看出,我们刚刚创建的视图就是根据之前已有表创建的上面的演示都是视图基于表来创建,其实视图也可以根据视图来创建①查看当前数据库的表对象,视图对象②查看视图的结构③查看视图的属性信息④查看视图的详细定义信息我们以上面创建的视图vu_emp1和表emps来进行演示我们来看看对视图的数据进行修改,会不会影响表的数据我们可以看到表中的数据发生了改变接下来看看修改表中的数据,对应的视图里面的数原创 2022-06-01 12:51:38 · 2263 阅读 · 85 评论 -
JDBC详解
jdbc就是Java语言连接数据库,学习数据库和Java后,再学习jdbc,我们可以清楚如何把前面所学联系一起,本文带你从一个技术的出现到原理到实战,层层递进,让你领会其中的方方面面,并且对以后的框架也有帮助原创 2022-03-03 11:03:16 · 1296 阅读 · 10 评论 -
MySQL事务问题
事务MySQL事务及其特征事务的概念事务的特性事务的演示事务的细节说明事务的并发问题脏读(Dirty read)不可重复读幻读事务的隔离级别1.详细介绍+演示2.设置隔离级别3.隔离级别的作用范围4、查看隔离级别MySQL事务及其特征在正式讲解事务之前,我们先来说一下什么是事务。事务(transaction)是用来维护数据库的完整性的,它可以保证一系列的MySQL操作要么全部执行,要么全部不执行我来举几个例子,来帮助大家理解,最经典的就是银行的转帐问题,比如说张三要转账给李四,我们是不是得保证张三原创 2022-03-19 11:54:05 · 3227 阅读 · 53 评论 -
MySQL查询进阶之多表查询
一、多表查询1.引出2.笛卡尔积3. 笛卡尔积的解决方法二、多表查询分类1.等值连接和非等值连接2.自连接和非自连接3.内连接和外连接一、多表查询多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。1.引出我们事先准备了几张表,为了后面方便操作,先看看表结构假如我们现在要查询员工的姓名还有部门名称.原创 2022-03-17 19:32:46 · 2137 阅读 · 49 评论 -
MySQL基础之select基本查询
DQL语言基本查询一、基本的select语句1.查询常量2.从表中查数据3.使用列的别名查询4.去重5.空值NULL参与运算6.过滤数据二、 运算符1.算术运算符2.比较运算符3.逻辑运算符4.位运算符三、 排序和分页1.排序2.分页一、基本的select语句1.查询常量2.从表中查数据 SELECT 标识选择哪些列FROM 标识从哪个表中选择很明显,它的意思就是说,我们要从哪一张表中查询数据比如说,我们要从员工表emp中查询所有数据,当然了,如果我们只是想要查询部分数据,原创 2022-03-16 17:22:14 · 2851 阅读 · 42 评论 -
初识MySQL
MySQL基础一、初识数据库1.数据库基本概念2.数据库类型关系型数据库非关系型数据库NOSQL3.常见数据库二、MySQL数据库1. MySQL安装以及目录信息2.查看MySQL应用程序3.各个目录文件夹4.常见命令5.数据库的卸载6 SQL yog(MySQL图形化界面工具)三、SQL语言入门1.概述2.SQL分类3.创建数据库表1.认识数据库表2.创建数据库表t_student4.数据库表列类型5.DML操作数据1.插入数据2.修改表中数据3.删除数据6.DDL操作表结构1.修改表结构1.1增加列1.原创 2022-03-15 19:47:14 · 1966 阅读 · 28 评论