MySQL
文章平均质量分 69
分享刷题时遇到的问题
无问287
这个作者很懒,什么都没留下…
展开
-
sql语句创建数据库
在软件开发过程中,数据库是至关重要的一环。它不仅存储了应用程序的数据,还负责数据的管理和处理。创建数据库是开发过程中的首要步骤之一,而SQL(Structured Query Language)是用于管理数据库的标准语言。本篇博客将带您深入了解如何使用SQL语句创建数据库,从基础到实践,一步步指导您完成这一过程。原创 2024-02-25 17:11:34 · 2684 阅读 · 0 评论 -
Python操作MySQL数据库
在Python中,我们可以使用pymysql库来操作MySQL数据库。pymysql是一个纯Python实现的MySQL客户端,它允许我们连接到MySQL服务器并执行SQL语句。本文将介绍如何使用pymysql库进行基本的数据库操作。原创 2024-02-20 19:44:54 · 2816 阅读 · 0 评论 -
数据库索引的艺术:提升查询速度的秘密武器
在数字世界中,数据是新的石油。随着数据的不断增长,如何高效地检索和管理数据成为了一个重要课题。数据库索引就像是图书馆中的索引卡片,它们帮助我们快速找到所需的信息。在这篇博客中,我们将探索不同类型的数据库索引,并了解它们如何提升查询速度和数据管理效率。原创 2024-02-02 10:31:51 · 2990 阅读 · 0 评论 -
索引创建注意点
索引字段的数据应该尽量不为 NULL,因为对于数据为 NULL 的字段,数据库较难优化。如果字段频繁被查询,但又避免不了为 NULL,建议使用 0,1,true,false 这样语义较为清晰的短值或短字符作为替代。原创 2024-02-01 14:30:42 · 3023 阅读 · 0 评论 -
数据库索引
索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B 树, B+树和 Hash。索引的作用就相当于目录的作用。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。原创 2024-02-01 11:32:21 · 3243 阅读 · 0 评论 -
MyISAM和InnoDB区别
具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。一般情况下我们选择 InnoDB 都是没有问题的,但是某些情况下你并不在乎可扩展能力和并发能力,也不需要事务支持,也不在乎崩溃后的安全恢复问题的话,选择MyISAM也是一个不错的选择。大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。原创 2024-01-31 14:26:49 · 3076 阅读 · 0 评论 -
MySQL中的binlog、redolog和undolog的区别
binlog主要用于数据恢复和主从复制,适用于所有存储引擎。redolog主要用于系统崩溃恢复和脏页恢复,仅适用于InnoDB存储引擎。undolog主要用于事务回滚和MVCC,仅适用于InnoDB存储引擎。原创 2024-01-30 11:11:00 · 3424 阅读 · 0 评论 -
MySQL事务隔离级别
事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。原创 2024-01-31 09:58:34 · 3733 阅读 · 0 评论 -
sql触发器
触发器是一种特殊的存储过程,其主要功能是强化约束和跟踪变化。当对一个表进行插入、删除或更新操作时,触发器会被自动激活执行。由于触发器没有输入和输出参数,因此它不能被显示调用,而是作为语句的执行结果自动引发。,实现比CHECK语句更为复杂的约束逻辑,例如检查其他表的列数据以进行逻辑上的核查;,通过检测数据库内的操作,禁止未经许可的更新和变化,从而确保输入表中的数据的有效性。原创 2024-01-10 00:15:00 · 3605 阅读 · 0 评论 -
MyBatis中的#{}和${}的区别
当我们在Java代码中使用Map或者注解的方式来传递参数时,MyBatis会将参数值替换到#{}的位置上。从上面的示例可以看出,当我们需要插入不可信的参数值时,使用${}可能会导致SQL注入的风险。因此,为了确保程序的安全性,推荐在MyBatis中使用#{}进行参数绑定和预编译。在MyBatis框架中,我们在编写SQL语句时,经常会遇到参数绑定的问题。为此,MyBatis提供了两种参数占位符符号#{}和${},来帮助我们方便地插入参数值。在这个例子中,${username}是一个字符串替换的占位符。原创 2024-01-04 00:15:00 · 3706 阅读 · 0 评论 -
parameterType、resultType和resultMap
例如,我们有一个User类,它有id、name和age三个属性,但是数据库中的字段名是user_id、username和user_age,我们就可以使用resultMap来定义一个映射关系,让MyBatis知道如何把数据库中的字段名转换成Java对象的属性名。MyBatis会自动将查询结果映射到指定的Java对象或简单类型上。例如,如果有一个User类,它有id、name和age三个属性,当我们从数据库中查询到一个用户的信息后,就可以使用resultType来指定返回的结果类型为User。原创 2023-12-28 01:00:00 · 4133 阅读 · 0 评论 -
数据库三大范式
数据库三大范式是关系数据库设计中的一组规范,旨在提高数据结构的合理性、减少数据冗余和提高数据操作的效率。但要注意,范式化设计并不是一成不变的,根据具体的业务需求和应用场景,有时也需要对范式进行适度的调整和冗余处理。建立在第一范式的基础上,要求表中的每个非主键列完全依赖于主键列,而不是依赖于其他非主键列。在第二范式的基础上,要求表中的每个非主键列之间不应该存在传递依赖关系。这可以通过将表拆分为更小的表来实现,每个表都包含一个实体的属性。如果存在传递依赖,需要将其转化为直接依赖关系。原创 2023-12-20 17:44:39 · 3495 阅读 · 0 评论 -
centos7安装和卸载MySQL8.0
2.使用 rpm 命令查看已安装的安装包3.使用yum卸载安装的mysql4.查询剩余的安装包这里是我的centos7上的mysql安装包 (删除以自己机器上的为准)5.移除掉第4步查询的安装包6.删除残余的安装包7.继续查找是否还有残留文件 这里是我的centos7上的mysql文件 (删除以自己机器上的为准)8.移除第7步查询残留文件9.最后在检查一遍二.安装Mysql1.下载 MySQL yum包原创 2023-12-14 16:19:34 · 4295 阅读 · 0 评论 -
MySQL的系统信息函数
系统信息函数让你更好的使用MySQL数据库。原创 2023-11-29 15:10:34 · 3820 阅读 · 0 评论 -
MySQL的时间与日期函数
日期的含义:指的是我们常说的年、月、日。时间的含义:指的是我们常说的时、分、秒。补充时间格式符含义表。原创 2023-11-28 10:56:22 · 3946 阅读 · 0 评论 -
MySQL的数学函数
在MySQL中,有许多内置的数学函数可以帮助我们进行各种复杂的数学计算。这些函数包括round、ceil、floor、truncate、mod和pow等。下面,我将详细介绍这些函数的用法。原创 2023-11-27 11:42:42 · 3778 阅读 · 0 评论 -
MySQL字符函数
以上是一些常用的MySQL字符函数及其用法。通过使用这些函数,我们可以更方便地处理和分析字符串数据。在实际开发中,可以根据需要选择合适的字符函数来解决问题。原创 2023-11-26 17:08:40 · 3910 阅读 · 1 评论 -
MySQl的基础操作
使用MySQL进行数据库操作摘要:本文将介绍如何使用MySQL对数据库进行基本操作,包括创建数据库、修改数据库、删除数据库、创建表、插入数据、查询数据以及更新和删除数据等。原创 2023-11-23 12:04:49 · 3736 阅读 · 0 评论 -
MySQL索引的创建
以上是MySQL中常用的一些索引类型,它们各有特点和用途,可以根据实际需求选择适合的索引类型来提高查询性能。原创 2023-11-22 21:11:11 · 4016 阅读 · 0 评论 -
深入理解MySQL索引及其优化策略
摘要:本文将详细介绍MySQL索引的概念、类型、原理以及如何进行优化。通过阅读本文,您将掌握MySQL索引的基本知识,为提高数据库性能打下坚实的基础。原创 2023-11-22 19:34:08 · 3972 阅读 · 0 评论 -
LEFT JOIN RIGHT JOIN INNER JOIN 区别(带用法)
left join: 包含左表的所有行,对应的右表行可能为空right join: 包含右表的所有行,对应的左表行可能为空inner join: 只包含左右表都匹配并且不为空的行。原创 2023-11-18 01:30:00 · 3803 阅读 · 1 评论 -
MySQL中的DISTINCT和GROUP BY
如果使用的是索引列,那么DISTINCT和GROUP BY的性能差别不大。在MySQL中,DISTINCT和GROUP BY的性能会受到多个因素的影响,包括表的大小、数据类型、查询条件等。这是因为GROUP BY需要对所有数据进行排序和聚合操作,而DISTINCT只需要对不重复的数据进行处理,因此在数据量较大的情况下,DISTINCT的性能相对更优。这是因为GROUP BY需要对所有数据进行排序和聚合操作,而DISTINCT只需要对不重复的数据进行处理,因此DISTINCT在没有索引的情况下相对更快。原创 2023-11-17 20:50:33 · 3828 阅读 · 1 评论