MySQL学习笔记
文章平均质量分 91
阿 霖
热爱编程,正在进阶java后端,对分布式感兴趣
展开
-
【MySQL】MySQL事务总结
文章目录MySQL 事务总结ACID分类实现原子性实现原理:undo log持久性实现原理:redo log和 binlog 比较隔离性隔离级别现代数据库解决并发控制的方法有哪些两段锁协议MVCC快照读和当前读原理锁共享锁和排他锁行锁记录锁间隙锁临键锁意向锁(Intention Lock)好处兼容性插入意向锁自增长锁隐式锁不同语句的加锁情况MySQL 事务总结ACID事务是一组不可分割的操作,一个独立的工作单元,它满足四个特性。原子性(Atomicity):事务的操作要么都成功,要么失败回滚。不可原创 2021-02-21 16:13:51 · 105 阅读 · 0 评论 -
【MySQL】MySQL索引总结
MySql 索引1. 索引分类普通索引唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。单个索引:一个列构成的索引。联合索引(复合索引):对表的多个列建立索引。联合索引就是一棵 B+ 树,只是对多个列进行排序,比如 a,b 两个列建立联合索引,会先按 a 排序,再按 b 排序。联合索引的使用必须满足最左匹配原则,即查询从索引的最左列开始且不跳过索引中的列,**如果跳过,索引就会失效。**这是 B+ 树索引的一个特征。聚集索引(主键索引):聚集索引是根据表的主键构原创 2021-01-09 19:23:52 · 112 阅读 · 0 评论 -
18_MySQL学习笔记(十八)_事务
TCLTransaction Control Language 事务控制语言事务:事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MYSQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将会返回事务开始之前的状态;如果单元中的所有SQL语句均执行成功,则事务被顺利执行。1.mysql中的...原创 2019-11-22 17:53:55 · 96 阅读 · 0 评论 -
17_MySQL学习笔记(十七)_标识列
标识列又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值一、创建表时设置标识列CREATE TABLE tab_identity( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20));INSERT INTO tab_identity(id,NAME) VALUES(NULL,'john'); INSERT INT...原创 2019-11-22 17:53:23 · 103 阅读 · 0 评论 -
16_MySQL学习笔记(十六)_常见约束
常见约束create table 表名( 字段名 字段类型 约束)含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束NOT NULL:非空,用于保证该字段的值不能为空比如:姓名,学号等DEFAULT:默认,用于保证该字段有默认值比如:性别PRIMARY KEY:主键,用于保证该字段的值有唯一性,并且非空比如:学号、员工编号等...原创 2019-11-22 17:52:52 · 167 阅读 · 0 评论 -
15_MySQL学习笔记(十五)_常见的数据类型
常见的数据类型原则:所选择的类型越简单越好,能保存数值的类型越小越好数值型:整型小数:定点数浮点数字符型:较短的文本:char、varchar较长的文本:text、blob(较长的二进制数据,如图片)日期型一、整型tinyint、smallint、mediumint、int/integer、bigint特点:如果不设置无符号还是有符号,默认是有符号...原创 2019-11-22 17:51:56 · 141 阅读 · 0 评论 -
14_MySQL学习笔记(十四)_DDL语言
DDL语言数据定义语言库和表的管理一、库的管理创建,修改,删除二、表的管理创建、修改、删除创建:create修改:alter删除:drop一、库的管理库的创建语法:create database【if not exists】库名;案例:创建库bookscreate database if not exists books;库的修改更改库的字符集alt...原创 2019-11-22 17:51:25 · 94 阅读 · 0 评论 -
13_MySQL学习笔记(十三)_DML语言
DML语言数据操作语言插入:insert修改:update删除:delete一、插入语句方式一:语法:insert into 表名(列名,...)values(值1,...);1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕...原创 2019-11-22 17:50:40 · 252 阅读 · 0 评论 -
12_MySQL学习笔记(十二)_联合查询
联合查询union 联合 合并:将多条查询语句的结果和并为一个结果引入的案例:查询部门编号>90或者邮箱保含a的员工信息语法:查询语句1union查询语句2union...应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时特点:1、要求多条查询语句的查询列数是一致的2、要求多条查询语句的查询的每一列的类型和顺序最好一致3、unio...原创 2019-11-22 17:49:53 · 83 阅读 · 0 评论 -
11_MySQL学习笔记(十一)_分页查询
分页查询应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求语法:SELECT 查询列表from 表1【join type】join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段*limit offset(要显示条目的起始索引),size(要显示的条目个数);offset:要显示条目的起始...原创 2019-11-22 17:48:41 · 129 阅读 · 0 评论 -
10_MySQL学习笔记(十)_子查询
子查询含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询示例:SELECT first_name from employees wheredepartment_id in( SELECT department_id from departments WHERE location_id = 1700)分类:按子查询出现的位置:se...原创 2019-11-22 17:47:53 · 131 阅读 · 0 评论 -
9_MySQL学习笔记(九)_sql99
SQL99分类:内连接(*):inner外连接左外(*):left【outer】右外(*):right【outer】全外:full【outer】交叉连接:cross语法:SELECT 查询列表from 表1 别名 (连接类型)join 表2 别名on 连接条件[where 筛选条件][group by 分组][having 筛选条件][order by 排...原创 2019-07-17 21:41:26 · 106 阅读 · 0 评论 -
MySQL学习笔记(五)_函数基本概念and字符函数
常见函数1、基本概念概念:类似于java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1.隐藏了实现细节2.提高代码的重用性调用:SELECT 函数名(实参列表) 【FROM 表】;特点:1.叫什么(函数名)2.干什么(函数功能)分类:1.单行函数 如:concat、length、ifnull等2.分组函数 功能:做统计使用,又称...原创 2019-07-13 10:18:10 · 196 阅读 · 0 评论 -
MySQL学习笔记(六)_数学函数,日期函数,流程控制函数
常见函数3、数学函数round 四舍五入SELECT ROUND(-1.45);SELECT ROUND(1.567, 2);小数点后保留2位ceil 向上取整,返回>=该参数的最小整数SELECT CEIL();floor 向下取整,返回<=该参数的最大整数SELECT FLOOR();truncate 截断SELECT TRUNCATE...原创 2019-07-13 20:35:20 · 237 阅读 · 0 评论 -
MySQL学习笔记(七)_分组查询
分组查询1.分组函数功能:用作统计使用,又称为聚合函数或统计函数或组函数分类:sum 求和,avg 平均值,min 最小值,count 计算个数简单的使用SELECT SUM(salary) FROM employees;SELECT AVG(salary) FROM employees;SELECT MIN(salary) FROM employees;SELECT...原创 2019-07-15 19:59:28 · 104 阅读 · 0 评论 -
MySQL学习笔记(八)_sql92之内连接查询
连接查询含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件分类:按年代分类 :sq192标准:仅仅支持内连接 sq199标准:支持所有内连接+外连接(左,右连接)+交叉连接按功能分类:内连接:等值连接非等值连接自连接外连接:左外连接...原创 2019-07-15 21:52:10 · 113 阅读 · 0 评论 -
MySQL学习笔记(一)_数据库简介
1.保存数据的容器内存:如:数组,集合文件:(实现永久的存储数据) 文件的不好的地方:查询不方便。数据库的好处: 1.实现数据的持久化 2.使用完整的管理系统统一管理,易于查询2.数据库简介1、DB 数据库(database):存储数据的“仓库”。 它保存了一系列有组织的数据。2、DBMS数据库管理系统(Database Management System)。数据库是...原创 2019-07-11 22:23:19 · 121 阅读 · 0 评论 -
MySQL学习笔记(二)_基础查询
DQL语言的学习1、基础查询语法: select 查询列表(查询的东西) from 表名;类似于:System.out.println(打印东西);特点: 1、查询列表可以是:表中的字段,常量值,表达式,函数 2、查询的结果是一个虚拟的表格操作: 1、查询表中的单个字段 SELECT last_name FROM employees(表名); 2、查...原创 2019-07-12 10:09:17 · 120 阅读 · 0 评论 -
MySQL学习笔记(三)_条件查询
DQL语言的学习2、条件查询语法: SELECT 查询列表 FROM 表名 WHERE 筛选条件;*执行顺序: 1.先看有无表 2.再筛选满足条件的行 3.查询分类:一、按条件表达式筛选 条件运算符: > < = != <>(不等于)>= <= 案例1:查询工资>...原创 2019-07-12 10:33:54 · 147 阅读 · 0 评论 -
9_MySQL学习笔记(九)_sql99内连接
SQL99分类:内连接(*):inner外连接左外(*):left【outer】右外(*):right【outer】全外:full【outer】交叉连接:cross语法:SELECT 查询列表from 表1 别名 (连接类型)join 表2 别名on 连接条件[where 筛选条件][group by 分组][having 筛选条件][order by 排...原创 2019-07-17 20:36:25 · 98 阅读 · 0 评论 -
MySQL学习笔记(四)_排序查询
3、排序查询1.语法SELECT 查询列表FROM 表WHERE 筛选条件ORDER BY 排序列表[ASC|DESC][升序|降序]2特点:ASC表示的是升序,DESC表示的是降序如果不写,默认是升序案例1:查询员工信息,要求工资从高到低排序SELECT *FROM employeesORDER BY salary DESC;案例2...原创 2019-07-12 20:27:48 · 106 阅读 · 0 评论