mysql
文章平均质量分 76
包含mysql入门和mysql进阶,熟练掌握mysql基本知识,需要linux基础
龙崎流河
沉淀
展开
-
只需这一篇博客就能完全弄懂LSM树
B+树是写入的时候就找好key的位置,读取的时候直接根据索引查找key的值LSM是写入是可能一个key存在不同层的树上,读取的时候,需要合并key不同树上的值。相当于B+树是写入时merge,LSM是读取时候merge。原创 2023-04-03 22:38:42 · 630 阅读 · 1 评论 -
redis学习经验
书籍推荐。原创 2023-02-14 11:24:42 · 329 阅读 · 0 评论 -
MySQL的数据目录
在MyISAM中的索引全部都是 二级索引 ,该存储引擎的 数据和索引是分开存放 的。所以在文件系统中也是使用不同的文件来存储数据文件和索引文件,同时表数据都存放在对应的数据库子目录下。那在数据库 atguigu 对应的子目录下就会创建一个名为 test.frm 的用于描述表结构的文件。.frm文件的格式在不同的平台上都是相同的。这个后缀名为.frm是以。为了保存表结构, InnoDB 在 数据目录 下对应的数据库子目录下创建了一个专门用于。存储的,我们直接打开是乱码的。原创 2022-11-20 16:25:22 · 860 阅读 · 0 评论 -
mysql8其它新特性
MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是MySQL Optimizer优化器进行了改进。如果a是b的管理者,那么,我们可以把b叫做a的下属,如果同时b又是c的管理者,那么c就是b的下属,是a的下下属。另外,窗口函数不会因为分组而减少原表的行数,这对我们在原表数据的基础上进行统计和排序非常有用。其中,rank的值为使用RANK函数产生的序号,rows的值为当前窗口的总计录值。主要用于查询小于或等于某个值的比例。返回当前行的前n行的expr的值。原创 2022-11-10 16:38:05 · 592 阅读 · 0 评论 -
mysql触发器
MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会自动激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时, 可以使用触发器来实现。原创 2022-11-09 16:24:35 · 2248 阅读 · 0 评论 -
mysql变量与游标
MySQL会将该命令的配置保存到数据目录下的mysqld-auto.cnf文件中,下次启动时会读取该文件,用其中的配置来覆盖默认的配置文件。MYSQL中的系统变量以两个@开头,其中“@@global”仅用于标记全局系统变量,其他同理。方式一:修改MySQL配置文件,继而修改MySQL系统变量的值(该方法需要重启MySQL服务)MySQL的用户变量以一个@为开头,根据作用范围不同又分为会话用户变量和局部变量。针对于当前会话是有效的,一旦结束会话,重新建立起新的会话就会失效了。原创 2022-11-09 14:14:28 · 730 阅读 · 0 评论 -
mysql存储过程与函数
存储过程的功能更加强大,包括能够执行对表的操作(比如创建表,删除表等)和事务操作,这些功能是存储函数不具备的。3.创建存储过程date_ diff(), 实现传入两个女神生日,返回日期间隔大小。6.创建带inout模式参数的存储过程,传入a和b两个值,最终a和b都翻倍并返回。2.创建存储过程get_phone(),实现传入女神编号,返回女神姓名和女神电话。创建函数add_ float(), 实现传入两个float,返回二者之和。limit(), 根据传入的起始索引和条目数,查询女神表的记录。原创 2022-11-08 18:01:53 · 564 阅读 · 0 评论 -
mysql视图
注意:这里只会将数据复制过来,不会讲索引主键等复制过来查询语句中字段的别名会作为视图中字段也可以用这种形式取别名![//img-blog.csdnimg.cn/2443495bbc0740d69d8cb0586af09260.png)]](https://img-blog.csdnimg.cn/2443495bbc0740d69d8cb0586af09260.png)更新视图中的数据:不能更新视图中的数据:要想让视图可更新,视图中的行和底层基本表中的行之间必须存在一对一关系。原创 2022-11-04 20:59:31 · 353 阅读 · 0 评论 -
mysql约束
MySQL5.7可以使用check约束,但check约束对数据验证没有任何作用。添加数据时,没有任何错误或警告,MySQL8.0支持.检查某个字段的值是否符合要求,一般指的是值的范围。的组合,主键约束列不允许重复,也不允许出现空值。用来限制某个字段或者某列的值不能重复。将两个字段建立在一起作为一个约束。限定某个表的某个字段的引用完整性。用来唯一标识表中的一行记录。原创 2022-11-02 17:39:12 · 291 阅读 · 0 评论 -
mysql数据类型精讲
创建表,指定表中的字段时,可以指定字段的字符集。原创 2022-10-27 18:32:54 · 791 阅读 · 0 评论 -
mysql数据处理之增删改
小结:DML操作默认情况下执行完以后都会自动提交数据,如果希望执行以后不自动提交数据,则需要使用SET autocommit = FALSE。说明:emp1表中要添加的数据的字段长度不能低于employees表中查询的字段长度。没有进行赋值的hire_date的值为null。简单来说就是某一列的值是通过别的列计算得来的。删除数据时,可能会因为约束的影响导致删除失败。注意一定要按照声明的字段先后顺序添加。方式一:一条一条的添加数据。指明要添加字段(推荐)向book表中插入记录。原创 2022-10-26 14:40:25 · 435 阅读 · 0 评论 -
创建与管理表
查看创建数据库的结构创建此数据库使用的是默认的字符集显示的指明了要创建的数据库的字符集如果要创建的数据库已经存在则创建不成功,但不会报错。查看当前连接得数据库都有哪些切换数据库查看当前数据库中保存得数据表查看指定数据库下保存得数据表。原创 2022-10-23 16:56:32 · 352 阅读 · 0 评论 -
子查询课后练习
如果子查询相对较简单,建议从外往里写,一旦子查询结构较复杂,建议从里往外写。子查询的编写技巧(或步骤):1.从外往里写2.从里往外写。如果相关子查询通常是从外往里写。原创 2022-10-22 15:18:03 · 196 阅读 · 0 评论 -
mysql子查询
子查询在主查询之前一次执行完成。子查询的结果被主查询使用。原创 2022-10-21 23:30:28 · 259 阅读 · 0 评论 -
mysql聚合函数
AVG/SUM只适用于数值类型的字段MAX/MIN适用于数值类型,字符串类型,日期时间类型的字段COUNT计算指定字段在查询结构中出现的个数(不包含null值)count(具体字段): 不一定对找不到列名就数行数如果需要统计表中的记录数,使用count(*),count(1),count(具体字段)哪个效率更高?如果使用的是MyISAM存储引擎,则三者效率相同,都是O(1)。如果使用的是InnoDB存储引擎,则三者效率不同,count( * )=count(1)>count(字段)原创 2022-10-18 23:54:24 · 303 阅读 · 0 评论 -
mysql单行函数
函数将我们经常使用的代码封装起来,需要时直接调用即可,既提高代码效率,又提高了可维护性。原创 2022-10-18 19:33:16 · 191 阅读 · 0 评论 -
mysql多表查询
为什么需要多表查询?放在一张表里字段太多,一次加载的更少,效率低,其次还会造成数据的冗余。查询员工名为’Abel’的人在哪个城市工作?多表查询如何实现?错误的实现方式:每个员工都与每个部门匹配了一遍查询出2889条记录107条记录27条记录department_id出现在两个表中不指明就会报错,需要指定字段在哪个表中建议:从sql优化的角度建议多表查询时,每个字段前都指明其所在的表。原创 2022-10-16 21:17:50 · 436 阅读 · 0 评论 -
SQL排序与分页
按照salary从高到低的顺序显示员工信息使用order by对查询到的数据进行排序默认升序降序排列我们也可以使用列的别名进行排序order by语句执行顺序:二级排序:显示员工信息,按照department_id的降序排列,salary的升序排列。原创 2022-10-14 14:29:05 · 479 阅读 · 0 评论 -
SQL基础查询以及运算符的使用
在SQL中,+没有连接eider作用就表示加法运算,会将字符串转化为数值(隐式转化)。安全等于 ,和=的唯一区别就是可以用NULL进行判断。并不是比较字符串长度,而是逐个比较字符大小直到比较出结果。两边都是字符串,按照ASCII的比较规则进行比较。相反not in表示不在括号内离散的数字的情况。除以就默认是浮点型,分母如果为0结果为null。XOR :追求的“异”字,两边一真一假就要。位运算符: & | ^ ~ >>原创 2022-10-13 00:25:24 · 615 阅读 · 0 评论 -
安装mysql(非常详细,看不懂你来打我,有zip包资源)
快速无伤安装mysql原创 2021-12-21 20:56:40 · 397 阅读 · 0 评论 -
JDBC连接池&JDBCTemplate入门
**数据库连接池:**其实就是一个容器(集合),存放数据库连接的内容。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问后,会将连接对象归还给容器。**好处:**可以节约资源,用户访问高效。实现:1.获取连接:getConnection(),归还连接:Connection.close().如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了,而是归还连接。2.一般我们不去实原创 2021-04-16 11:30:51 · 178 阅读 · 0 评论 -
JDBC入门
JDBC:java DataBase Connectivity java数据库连接,java语言操作数据库,本质是sun公司定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商取实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(JDBC)编程,真正执行的代码时驱动jar包中的实现类。快速入门步骤:导入驱动jar包注册驱动获取数据库连接对象Connection定义sql获取执行sql语句的对象Statement执行sql,接受返回结果处理结果释放资源代码实现:pac原创 2021-04-13 22:25:44 · 86 阅读 · 2 评论