-
MySql学习 (一) —— 基本数据库操作语句、三大列类型
所属栏目:[MySql教程] 日期:2020-12-12 热度:118
注:该MySql系列博客仅为个人学习笔记。 在使用MySql的时候,基本都是用图形化工具,如navicat。最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面学习MySql的一些高级查询,MySql性能和SQL语句的优化等打个基[详细]
-
MySql学习(四) —— 函数、视图
所属栏目:[MySql教程] 日期:2020-12-12 热度:116
注:该MySql系列博客仅为个人学习笔记。 本篇博客主要涉及MySql 函数(数学函数、字符串函数、日期时间函数、流程控制函数等),视图。 ? 一、函数 1. 数学函数 对于数学函数,若发生错误,所有数学函数会返回 NULL 1.1 ?abs(x) ?返回x的绝对值 1.2 ?bin(x) ?[详细]
-
MySql学习(三) —— 子查询(where、from、exists) 及 连接查询(l
所属栏目:[MySql教程] 日期:2020-12-12 热度:115
?注:该MySql系列博客仅为个人学习笔记。 ? 同样的,使用goods表来练习子查询,表结构如下: ? ?所有数据(cat_id与category.cat_id关联): ? ?类别表: ? ?mingoods(连接查询时作测试) ? ? ? 一、子查询 1、 where型子查询:把内层查询的结果作为外层查询的[详细]
-
MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术
所属栏目:[MySql教程] 日期:2020-12-12 热度:91
? 逻辑查询优化包括的技术 1)子查询优化 ?2)视图重写 ?3)等价谓词重写 ?4)条件简化 ?5)外连接消除 ?6)嵌套连接消除 ?7)连接消除 ?8)语义优化 9)非SPJ优化 ? 一、子查询优化 1.?什么是子查询:当一个查询是另一个查询的子部分时,称之为子查询。 2.?查询的子[详细]
-
MySql学习(二) —— where / having / group by / order by / li
所属栏目:[MySql教程] 日期:2020-12-12 热度:137
注:该MySql系列博客仅为个人学习笔记。 ? 这篇博客主要记录sql的五种子句查询语法! ? 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段。 select五种子句 where 条件查询 group by 分组 having 筛选 order by 排序 limit 限制结[详细]
-
MySql学习(五) —— 数据库优化理论篇(一)
所属栏目:[MySql教程] 日期:2020-12-12 热度:135
? 一、数据库管理系统 数据库管理系统(Database Management System,DBMS) 衡量是否是数据库的标准: ACID:是指在数据库管理系统(DBMS)中事务所具有的四个特性: 1) 原子性(Atomicity) 2) 一致性(Consistency) 3)隔离性(Isolation) 4)持久性(Durability) ? 1[详细]
-
MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
所属栏目:[MySql教程] 日期:2020-12-12 热度:127
? 本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避短。 声明:本人使用的数据库版本为MySql 5.1 ? 一[详细]
-
数据库设计三范式
所属栏目:[MySql教程] 日期:2020-12-12 热度:156
概述: 在设计和数据库有关的系统时,数据库表的设计至关重要,这些设计关系整个系统的架构,需要精心的仔细考虑。 ·数据库的设计主要包含了设计表结构和表之间的联系,在设计的过程中,有一些规则应该遵守,也就是我们常说的数据库三范式。 第一范式: ? 第一范[详细]
-
mysql的基本语法
所属栏目:[MySql教程] 日期:2020-12-12 热度:147
本篇文章主要是记录一些常用的mysql语法,方便使用时候进行查阅。 linux上常用命令: (命令都以 ; 结尾) 1,登录mysql:mysql -u账号 -p密码 2,查看帮助:help; 或者h 3,查看有哪些数据库:show databases; 4,进入某个数据库:use databasename; 5,查[详细]
-
Mysql初探:索引
所属栏目:[MySql教程] 日期:2020-12-12 热度:98
此文为极客时间:MySQL实战45讲的 4、5、9、10、11、15、18节索引相关部分的总结 一、Innodb索引模型 1.主键/非主键索引的区别 每个索引在Innodb中都是一颗B+树,其中根据索引叶子节点的不同,分为主键索引和非主键索引。 我们可以看到: 主键索引将索引和整[详细]
-
Mysql初探:数据库事务概述
所属栏目:[MySql教程] 日期:2020-12-12 热度:168
此文为极客时间:MySQL实战45讲的 3、8、18、19节事务相关部分的总结 一、事务的启动方式 mysql 主要有两种事务的启动方式: begin 或 start transaction 显式启动事务。对应的提交语句是 commit ,回滚是 rollback set autocommit = 0 关闭自动提交,然后在[详细]
-
Mysql初探:内存数据刷盘机制
所属栏目:[MySql教程] 日期:2020-12-12 热度:189
此文为极客时间:MySQL实战45讲的12节的学习笔记 一、mysql 的刷盘机制 而之前提到过,mysql 使用了 WAL 技术,即更新的时候先更新内存中的数据,然后必要的时候再将内存中的数据刷入磁盘。我们把内存中这些被修改过,跟磁盘中的数据页不一致的数据页称为脏[详细]
-
Mysql初探:索引
所属栏目:[MySql教程] 日期:2020-12-12 热度:135
此文为极客时间:MySQL实战45讲的 4、5、9、10、11、15、18节索引相关部分的总结 一、Innodb索引模型 1.主键/非主键索引的区别 每个索引在Innodb中都是一颗B+树,其中根据索引叶子节点的不同,分为主键索引和非主键索引。 我们可以看到: 主键索引将索引和整[详细]
-
Mysql初探:三大日志概述
所属栏目:[MySql教程] 日期:2020-12-12 热度:123
此文为极客时间:MySQL实战45讲的 2、15节日志相关部分和网上一些相关文章的内容的总结 一、redo log 1.概述 redo log又叫重做日志,提供的是数据丢失后的前滚操作。 redo log是innodb引擎独有的日志 ,使用了 WAL 技术(Write-Ahead Logging),也就是预写[详细]
-
Mysql初探:数据库表空间的回收
所属栏目:[MySql教程] 日期:2020-12-12 热度:57
此文为极客时间MySQL实战45讲第13节的笔记 一、表数据的存放位置 表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数 innodb_file_per_table 控制的: OFF :表的数据放在系统共享表空间,即跟数据字典放在一起; ON :表数据存储在一个以[详细]
-
any_value()函数
所属栏目:[MySql教程] 日期:2020-12-12 热度:178
转载自:https://blog.csdn.net/Peacock__/article/details/90608246 MySQL5.7之后,sql_mode中ONLY_FULL_GROUP_BY模式默认设置为打开状态。 ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在此模式下,targe[详细]
-
mysql的一些常用操作(一)
所属栏目:[MySql教程] 日期:2020-12-12 热度:70
1.启动Mysql服务 net start mysql 2.进入mysql环境中,由于自己没有设置密码,直接回车进入即可(要将bin加入到环境变量path中) mysql -u root -p 3.创建一个数据库 create database db_test default character set utf8 collate utf8_general_ci; 显示数据[详细]
-
mysql的一些常用操作(二)
所属栏目:[MySql教程] 日期:2020-12-12 热度:195
紧跟上一节,我们创建了四个表: Student、Teacher、Course、Score 接下来就是实际的一些操作了: 1.求每门课程的学生人数。 select course.cname '课程名称',count(*) '人数' from score,course where score.CId=course.CId group by score.CId ?2.查询课程[详细]
-
join的使用
所属栏目:[MySql教程] 日期:2020-12-12 热度:111
我们还是以这四张表为例: 1.left join select * from student a left join score b on a.sid=b.sid; 也就是说A中的元素都会显示,没有值的用Null填充,结果如下: 2.right join select * from student a right join score b on a.sid=b.sid; ?也就是说只会[详细]
-
MySQL的使用及优化
所属栏目:[MySql教程] 日期:2020-12-12 热度:56
前言 最近听了公司里的同事做的技术分享,然后觉得对自己还是挺有帮助的。都是一些日常需要注意的地方,我们目前在开发过程中,其实用不到MySQL太深的内容的。只是能适用我们日常开发的知识就可以了。所以我将自己的理解和学习总结也写出来,供大家一起分享[详细]
-
数据库事务的特性以及隔离级别
所属栏目:[MySql教程] 日期:2020-12-12 热度:161
如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性,也就是我们常说的ACID; ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成[详细]
-
MySQL是如何实现事务的ACID
所属栏目:[MySql教程] 日期:2020-12-12 热度:159
前言 最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。 事务的四大特性ACID 事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I-隔[详细]
-
MySQL逻辑架构:一条SQL查询语句是如何执行的?
所属栏目:[MySql教程] 日期:2020-12-12 热度:150
首先我们来了解 MySQL 的逻辑架构,对 MySQL 有一个整体的认识。 例如在执行下面的一条语句时: mysql select * from T where ID=10; 我们看到的结果是返回一条记录,那么 MySQL 是如何执行这条 SQL 查询语句呢? 首先我们来看一下 MySQL 的逻辑架构图: 大[详细]
-
MySQL重做日志(redo log)
所属栏目:[MySql教程] 日期:2020-12-12 热度:161
前面介绍了三种日志:error log、slow log、binlog,这三种都是 Server 层的。今天的 redo log 是 InnoDB引擎专有的日志文件。 为什么要有 redo log 用个酒店掌柜记账的例子说明 redo log的作用。 酒店掌柜有一个粉板,专门用来记录客人的赊账记录。如果赊账[详细]
-
MySQL索引(一)索引基础
所属栏目:[MySql教程] 日期:2020-12-12 热度:174
索引是数据库系统里面最重要的概念之一。一句话简单来说,索引的出现其实是为了提高数据查询的效率,就像书的目录一样。 常见模型 索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,这里就介绍三种常见、也比较简单的数据结构,它们分别是哈希[详细]
- Mysql向存储过程中传递中文参数变成乱码的解决方
- MYSQL教程MySQL服务器进程CPU占用100%的解决方法
- Mysql必读mysql-proxy实现mysql读写分离
- 当EC2微实例上的ubuntu在内存不足时将其杀死时,自
- MYSQL数据库jdbc操作数据库的基本流程详解
- MYSQL教程MySQL查询优化:连接查询排序limit(join
- MYSQL创建表出错Tablespace for table XXX exist
- Exchanging Partitions and Subpartitions with
- MySQL存储过程相互调用并获得错误码
- mysql – SELECT … FOR UPDATE来自多个线程中