MySQL数据库
讲不出 再见
这个作者很懒,什么都没留下…
展开
-
MySQL数据库——事务
1、事务的4个特性ACID原子性(Automicity):一个事务包含多个操作,这些操作要么全被成功执行,要么全都不被执行。一致性(Consistency):一致性是针对数据的,不管事务执行成功与否,都不会破坏数据的完整性和一致性。隔离性(Isolation):多个事务之间相互不影响。持久性(Durability):事务一旦执行成功,那么事务的执行结果会存储于磁盘中,即便是计算机宕机或者重启,事务的结果仍然存在。2、事务的分类2.1、扁平事务是我们最常用的一种事务,一般就是: B原创 2020-06-24 15:25:00 · 266 阅读 · 0 评论 -
MySQL数据库——聚集索引,非聚集索引,自适应哈希索引,全文索引,索引优化
1、自适应哈希索引InnoDB 引擎下的主键索引是 b+树 索引,b + 树的特点是非叶子节点只存储主键索引值,叶子节点既存储了索引值,还存储了对应的行记录,所以数据都在叶子节点,而 InnoDB 是用页为单位去存储 b + 树的节点,一页存一个节点,故一个节点可以存很多条索引信息,树的高度一般最多也就在 3 ~ 4 层,精准查询的话,会有 3 ~ 4 次查询。数据库里存储的数据非常多,被访问频繁非常高的数据被称为热点数据,针对热点数据,InnoDB 做了一个性能的提升,就是采用了自适应哈希索引,为原创 2020-06-18 22:06:13 · 626 阅读 · 0 评论 -
MySQL数据库——配置文件、日志文件、套接字文件、pid文件、表结构文件、存储引擎文件
1、配置文件配置文件里是MySQL数据库的全局参数,指定了MySQL启动时的各种配置,比如缓存池的大小,缓存池实例数量,日志文件大小(位置),等等。配置文件就是之前博客里讲的(linux下)my.cnf 或者(windows下)my.ini。配置文件里的参数按照在运行期间是否可以被修改分为 静态参数 和 动态参数。静态参数是在数据库运行期间无法修改的,如果要修改静态参数,只能在配置文件里修改,然后重启数据库。动态参数是在数据库运行期间可以修改的。按照参数的作用范围可以分为 会话参数 和 全局参数原创 2020-06-08 10:22:55 · 820 阅读 · 0 评论 -
MySQL数据库——InnoDB引擎(四种线程,缓存池)
1、4种后台线程MySQL数据库实例是一个进程,包含了多个线程,这篇文章将介绍一下InnoDB引擎的4种线程。1.1、Master Thread主线程。是数据库功能的核心提供者,如果主线程崩溃了,那数据库就没法正常使用了,除非重启主线程。1.2、IO Thread这是负责数据库读取和写入的线程,默认读取线程有4个,写入线程有4个,当然可以通过设置下图的两个参数来增加或者减少线程数。1.3、Purge Thread在提交了一个事务给数据库时,为了保证事务能够回滚,会在内存中原创 2020-06-24 10:09:06 · 1435 阅读 · 0 评论 -
MySQL数据库——介绍
1、数据库 和 数据库实例的区别数据库是一系列文件的集合,是静止的。而数据库实例是运行起来的进程,是动态的,通过运行起来的数据库实例去操作数据库。MySQL数据库实例是单进程的(包含多线程),一般一个实例对应一个数据库,但是对于集群或者分布式,可能多个实例对应于一个数据库。2、启动数据库安装好MySQL后,启动数据库:./mysql && 作为命令参数,表示将MySQL作为后台进程,即便我们关闭了命令行窗口,数据库依然是运行的。查看MySQL进程信息:ps -ef | g原创 2020-06-03 14:38:37 · 176 阅读 · 0 评论 -
MySQL数据库-触发器
目录1. 概念2. 创建触发器3. 查看触发器4. 删除触发器总结:1. 概念触发器是一段程序,可以理解为一种特殊的存储过程,听这个名字就知道,当某个条件发生时,就会触发这个触发器执行,就像地雷一样,事先定义好触发条件,触发器的执行语句,然后一旦该条件发生,触发器就执行。2. 创建触发器CREATE TRIGGER 触发器名 触发时机 触发事件 ON...原创 2020-02-18 15:58:52 · 322 阅读 · 0 评论 -
MySQL数据库-存储过程和函数
1. 创建存储过程和函数简单的说,存储过程就是一条或者多条SQL语句的集合。创建存储过程的基本语法:CREATE PROCEDURE 存储过程名 (参数) [特征] begin 若干SQL语句 end;参数的格式是:IN 或者 OUT 或者 INOUT 参数名 参数类型 //IN表示输入参数,OUT表示输出参数,INOUT即可输入也可输出。begin end用于表示...原创 2020-02-17 21:23:48 · 782 阅读 · 0 评论 -
foreach报错:syntax error at or near " "
特别注意:说明图中红圈处包含了一个特殊字符,不是空格字符,查询的时候就报错了。select count(guid) from class where id in <foreach collection="GuidList" index="index" item="item" open="(" close=")" separator=","> ...原创 2019-06-19 14:06:07 · 7848 阅读 · 0 评论 -
MySQL数据库-运算符
1、算术运算+ 、- 、* 、/ 、%。就这5个,和数学中的一样,没有类型的转换。2、比较运算 = 判等 <=> 安全判等<> 或 != 不等于判断< 、> 、 >= 、 <= 都能判断 数据、字符串、表达式,NULL的规则和判等一样(也就是说不能用于判断空值NULL)。IS NULL 和...原创 2019-03-27 20:12:52 · 1561 阅读 · 0 评论 -
MySQL数据库-库函数
1、数学函数ABS(X) 绝对值函数 ## PI()返回圆周率,默认是返回6位小数。 ## SQRT(X)平方根函数,x为负数,那就返回null。MOD(x,y)求余函数,返回x被y除后的余数 。 ## LOG(X)和LOG10(X)对数运算。2、字符串函数计算字符串长度。...原创 2019-03-27 20:48:24 · 192 阅读 · 0 评论 -
MySQL数据库-数据类型
整数类型显示宽度问题:比如创建表,id INT(11),这表明id列的数据类型是INT,11只是表明最大可能存储的数是11位,只是表明而已,仅仅用于显示数据的宽度,如果存入一个大于11位的整数,那还是可以的,只要不超过INT的取值范围就行,不会影响数据的。浮点数类型和定点数类型所以总结来讲:尽量使用 定点数。日期与时间类型每个类型都有合法的取值...原创 2019-03-27 20:12:42 · 495 阅读 · 0 评论 -
MySQL数据库-用户权限管理
MySQL是一个数据库集成开发工具(也可叫MySQL服务器),可以在MySQL里面创建自己定义的各种数据库,但是MySQL一旦安装好了,就会有初始的一些数据库,这些数据库是MySQL的配置、权限等等这类似的系统级的数据库,比如MySQL工具中有一个mysql数据库,里面就有user表格用于存储整个MySQL的用户信息。权限表(拥有的权限是对于整个MySQL服务器而言的)user表...原创 2019-03-27 20:47:41 · 880 阅读 · 0 评论 -
MySQL数据库-性能优化
1、优化sql语句,这个是直接的,当然还有如果sql语句执行的过程中需要进行各种验证,那么会降低sql语句的执行速度,可以在执行sql语句前关闭相关的验证,执行完sql后,再开启验证。视情况而定,不是所有的情况下都要关闭验证。2、数据库设计优化。数据库设计的好,那么性能也得到优化。很多列的表,有些列频繁被访问,而有的列不怎么访问,那么可以拆分成多个表,这样得到优化了。还有建立多个表的中...原创 2019-03-27 20:45:40 · 139 阅读 · 0 评论 -
MySQL数据库-增删查改
查询字段select * from table1; 最好不要用*,因为会降低查询速度。select 列名1,列名2,。。。 form table1;select 列名1,列名2 from table where expr;有查询条件。带关键字IN查询语句select 列名1,列名2 from table 列名1 in (条件1,条件2,,,); 也可以not in...原创 2019-03-27 20:48:05 · 191 阅读 · 0 评论 -
MySQL数据库-索引
概念 索引是一种具有独立物理空间的数据库结构。使用索引的目的就是提高查询数据的速度。比如,不用索引,那么查询数据就要一个个遍历数据库记录去查询,直到查询到,如果有了索引,那么就会根据索引去查,大大提高速度。 优点:1、大大提高查询速度,这是主要原因; 2、使用排序和分组查询的时候,明显减少分组和排序的时间。 缺点:1、索引要独立占据空间,所以消耗存储空间; 2、...原创 2019-03-27 20:47:56 · 178 阅读 · 0 评论 -
MySQL数据库-视图
视图是一种虚拟表,是呈现给用户看的,呈现出来的样式和表格是一样的。视图的应用场景:1、整个数据库又很多表,很多信息,但是普通用户关心的可能只有整个数据库中几个列的数据而已,那么去数据库查看的话,几个列分散在几张表中,需要打开好几张表,而且只是去看每张表中区区一两个列的数据,或者区区几个列的数据而已,这样很繁琐,视图的作用就是可以将用户需要看的那几个列集合成一个表展示给用户,不管这个数据库中的那...原创 2019-03-27 20:47:48 · 283 阅读 · 0 评论 -
MySQL的基本sql语句
1.创建数据库create database data_name;2.创建表格use database_name; //一定要指定数据库,否则报错create table table_name( 列名 数据类型, ....... 列名 数据类型)3.删除表drop table table_name4. 修改表名alter ...原创 2019-03-27 20:48:13 · 148 阅读 · 0 评论