MySQL
文章平均质量分 72
无
ziggy7
这个作者很懒,什么都没留下…
展开
-
MySQL多版本并发控制MVCC
作用 InnoDB通过实现提交读和可重复读这两种隔离级别。未提交读隔离级别总是读取最新的数据行,要求很低,无需使用 MVCC。串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。 思想 MVCC 利用了多版本的思想,写操作更新最新的版本快照,而读操作去读旧版本快照,没有互斥关系,这一点和 写时复制 类似。MVCC 规定只能读取已经提交的快照。当然一个事务可以读取自身未提交的快照,这不算是脏读。 在 MVCC 中事务的修改操作(DELETE、INSERT、UPDATE)会为数据行新增一个版本转载 2021-04-17 15:05:46 · 119 阅读 · 0 评论 -
MySQL索引
一、索引 B树与B+树 MySQL索引 B+Tree索引原创 2021-04-10 20:03:20 · 108 阅读 · 0 评论 -
MySQL关系模型
主键 主键: 能够通过主键唯一区分出不同的记录,不能使用业务相关的字段作为主键,所以一般把这个字段命名为id 这张表中,如果用name作为主键,就没法存储同名同学,因为主键不能重复。 联合主键:尽量不用 通过多个字段唯一标识记录,两个或更多的字段设置为主键,这种主键称为联合主键。 外键 在students表中,通过class_id的字段,可以把数据与另一张表关联起来,这种列称为外键 外键约束 将class_id作为外键约束,那么就可以保证无法插入无效的数据(如果classes表不存在id=99的记录,原创 2021-04-05 21:13:31 · 406 阅读 · 0 评论 -
事务
概念 事务:多条语句作为一个整体进行操作。要么全部成功,要么不执行。(单条语句自动作为一个事务,称为隐式事务) -- 从id=1的账户给id=2的账户转账100元 -- 第一步:将id=1的A账户余额减去100 --必须全部执行 UPDATE accounts SET balance = balance - 100 WHERE id = 1; -- 第二步:将id=2的B账户余额加上100 UPDATE accounts SET balance = balance + 100 WHERE id = 2;原创 2021-04-01 11:10:39 · 93 阅读 · 0 评论 -
Mysql常用语句
登录:mysql -u root -p 查询 查询所有数据:SELECT * FROM <表名> 条件查询:SELECT * FROM <表名> WHERE <条件表达式> 条件表达式可以用AND、OR、NOT,可以用() 查询某些列:SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM ... 别名可以去掉 排序:ORDER BY 列名原创 2021-04-01 10:53:22 · 128 阅读 · 0 评论 -
c的mysql例子
编译的时候要带上**-lmysqlclient** #include <iostream> #include <mysql/mysql.h> using namespace std; int main() { const char* db = "yourdb"; const char* server = "localhost"; const char* user = "root"; const char* password = "******";原创 2020-06-17 12:06:15 · 159 阅读 · 0 评论 -
mysql必知必会 第4章 检索数据
第4章 检索数据 4.1 SELECT语句 作用:从一个或多个表中检索信息,为了使用SELECT减速,必须至少给出两条信息:想选择什么,以及从什么地方选择。 4.2 检索单个列 SELECT 列名 FROM 表名; #从表中检索一列 4.3 检索多个列 SELECT 列名,列名,列名 FROM 表名; #逗号隔开 4.4 检索所有列 SELECT * FROM 表名; 4.5 检索不同的行 select distinct 列名 from 表名; #只返回表名中不同的列名行 4.6 限制结果 sel原创 2020-06-09 16:08:08 · 145 阅读 · 0 评论 -
mysql必知必会 第3章 使用MySQL
第3章 使用MySQL 3.1连接到数据库 ●原理:MySQL在内部保存自己的用户列表,并且把每个用户和各种权限关联起来 ●所需信息: 1.主机名(计算机名):如果连接到本地SQL服务器,为localhost 2.端口(默认端口3306) 3.一个合法的用户名 4.用户口令 3.2选择数据库 ●USE:为了打开crashcourse数据库,输入 USE crashcoures; 必须先打开数据库,才能读取其中的数据。 3.3了解数据库和表 ●SHOW:数据库、表、列、用户、权限等信息被存储在数据库和表中(原创 2020-06-09 15:07:44 · 166 阅读 · 0 评论 -
mysql必知必会 1~2章 了解SQL和MySQL
第1章 了解SQL 1.1数据库基础 ●数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件) ●数据库管理系统(DBMS):我们使用DBMS,它替我们访问数据库,数据库是通过DBMS创建和操纵的容器。 ●表:某种特定类型数据的结构化清单,表在数据库中类似于文件放在文件夹中。 ●模式:关于数据库和表的布局及特性的信息 ●列:数据库表类似于一个网格,网格每一列存储着一条特定的信息,每个列有相应的数据类型 ●行:表中的一个记录,如顾客表可以每行存储一个顾客。表中的行数为记录的总数 ●主键原创 2020-06-09 14:44:58 · 163 阅读 · 0 评论
分享