MYSQL数据库
MYSQL数据库
lucky tiger
要一直前进,一直静下心来学习。
展开
-
面试问题之-------------为什么要建立索引
什么是索引? MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。1、减少io读取次数,B树特点就是矮胖,树的深度代表Io读取的次数①:计算机操作系统做了一些优化,当一次IO时,不光把当前磁盘地址的数据,而是把相邻的数据也都读取到内存缓冲区内,因为局部预读性原理告诉我们,当计算机访问一个地址的数据的时候,与其相邻的数据也会很快被访问到。每一次IO读取的数据我们称之为一页(page)。具体一页有多大数据跟操作系统有关,一般为4k或8k,也就是我们读.原创 2020-08-19 22:09:37 · 308 阅读 · 0 评论 -
硬盘基本知识(磁头、磁道、扇区、柱面)
1、硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内。盘片的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片就编号为2面和3面。下图显示的是一个盘面,盘面中一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇.转载 2020-08-19 10:43:38 · 3676 阅读 · 0 评论 -
MYSQL数据库学习笔记十一(读写锁)
1. 锁介绍参考博客:https://blog.csdn.net/qq_36630853/article/details/107140916 按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制: 全局锁:锁的是整个database。由MySQL的SQL layer层实现的 表级锁:锁的是某个table。由MySQL的SQL layer层实现的 show open tables; 行级锁:锁的是某行数据,也可能锁定...原创 2020-07-24 11:10:19 · 231 阅读 · 0 评论 -
MYSQL数据库笔记十(JOIN)
1、select * from tb_emp;select * from tb_dept;select * from tb_emp,tb_dept;select * from tb_emp a inner join tb_dept b on a.deptid = b.id;原创 2020-07-23 20:08:30 · 89 阅读 · 0 评论 -
MYSQL数据库笔记九(explain)******
参考链接:https://blog.csdn.net/lvhaizhen/article/details/907637991、创建tb_emp(员工表)和tb_dept(部门表)DROP TABLE IF EXISTS `tb_emp`;CREATE TABLE `tb_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `deptid` int(11) NOT NULL, PRIMA原创 2020-07-23 17:07:16 · 74 阅读 · 0 评论 -
MySQL数据库八(explain)
explain的作用:通过explain+sql语句可以知道如下内容:①表的读取顺序。(对应id)②数据读取操作的操作类型。(对应select_type)③哪些索引可以使用。(对应possible_keys)④哪些索引被实际使用。(对应key)⑤表直接的引用。(对应ref)⑥每张表有多少行被优化器查询。(对应rows)1、idINSERT INTO n VALUES (5,'FXY',25);insert into n values(7,'SXY',24);//大小.原创 2020-07-23 17:02:57 · 177 阅读 · 0 评论 -
MYSQL数据库笔记七(索引)
复合索引最常用单只索引:即一个索引只包含单列,一个表可以有多个单列索引;唯一索引:索引列的值必须唯一,但允许有空值复合索引:即一个索引包含多个列ALTER TABLE n ADD UNIQUE index_name (id);//添加惟一索引ALTER TABLE n ADD INDEX index_AAA (id);//添加普通索引ALTER TABLE n ADD PRIMARY KEY (id);//添加主键 主键也是一个唯一索引show index from n...原创 2020-07-20 22:16:53 · 159 阅读 · 0 评论 -
MYSQL数据库笔记六(聚集索引和非聚集索引)
1、呈上主键是唯一的聚集索引那什么是聚集索引什么是非聚集索引呢?mysql的innodb表,就是索引组织表,表中的所有数据行都放在索引上这就约定了数据是严格按照顺序存放的,所以不管插入的先后顺序,它在那个物理上的那个位置与插入的先后顺序无关。聚集(clustered)索引,也叫聚簇索引定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。注:第一列的地址表示该行数据在磁盘中的物理地址,后面三列才是我们SQL里面用的表里的列,其中id是主键原创 2020-07-18 22:08:38 · 162 阅读 · 0 评论 -
MYSQL数据库笔记五(常用语句三 键)
1、# 添加主键ALTER TABLE n ADD PRIMARY KEY (id);ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY (id); # 主键只有一个,所以定义键名似乎也没有什么用# 删除主键ALTER TABLE n DROP PRIMARY KEY ;# 添加外键ALTER TABLE m ADD FOREIGN KEY (id) REFERENCES n(id); # 自动生成键名m_ibfk_1ALTER TABL原创 2020-07-18 20:24:27 · 158 阅读 · 0 评论 -
MYSQL数据库笔记四(常用语句二)
1、在一个表内 CREATE TABLE n(id INT, name VARCHAR(10));# 添加字段ALTER TABLE m ADD age VARCHAR(2) ;# 删除字段ALTER TABLE m DROP age;# 更改字段属性和属性ALTER TABLE m CHANGE age a INT;# 只更改字段属性ALTER TABLE m MODIFY age VARCHAR(7) ;2、CREATE TABLE n(id INT, name VARC原创 2020-07-18 19:28:02 · 112 阅读 · 0 评论 -
MYSQL数据库笔记三(常用语句)
1、# 查看所有的数据库SHOW DATABASES ;# 创建一个数据库CREATE DATABASE k;# 删除一个数据库DROP DATABASE k;# 使用这个数据库USE k;2、CREATE DATABASE LVBIN;USE LVBIN;使用这个数据库创建一个表CREATE TABLE n(id INT, name VARCHAR(10));CREATE TABLE m(id INT, name VARCHAR(10));3原创 2020-07-18 17:06:05 · 112 阅读 · 0 评论 -
MYSQL数据库笔记二(主键、外键、索引)
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键成绩表中的学号是学生表的主键,在成...原创 2020-07-18 15:20:28 · 592 阅读 · 0 评论 -
MYSQL笔记一(存储引擎)
1、mysql -u root -p2、查询数据库引擎show engines;3、查询默认的存储引擎show variables like '%storage_engine%';4、查询事务隔离级别show global variables like 'tx_isolation';5、数据库存储引擎: https://blog.csdn.net/yjclsx/article/details/81911027https://www.jb51.net/article/558原创 2020-07-18 13:51:25 · 176 阅读 · 0 评论 -
Ubuntu 18.04 下安装Mysql-Server
https://blog.csdn.net/kylinxjd/article/details/90722062https://blog.csdn.net/sinat_31582061/article/details/104795573原创 2020-07-16 21:07:37 · 158 阅读 · 0 评论 -
事务的四大特性
⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结转载 2020-07-09 09:23:53 · 329 阅读 · 0 评论 -
什么是脏读、幻读?(MySQL)
什么是事务?我们这里所说的事务大多数是指数据的事务,事务是指一个业务操作,一个业务操作内部包含多个小的子操作,这些操作要目全部一起执行成功,要么全部执行失败,不存在说一部分成功一部分失败的情况。事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);事务的四大特性:1 、原子性事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做2 、一致性...原创 2020-07-08 10:11:34 · 2763 阅读 · 1 评论