数据库技术系列
Simon郎
这个作者很懒,什么都没留下…
展开
-
MySQL锁,你真的理解么?
MySQL锁1、基本概念锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中的数据也是一种供多个用户使用的共享资源,当多个用户并发地存取数据时,在数据库加锁的目的可以保证数据库数据的一致性。锁的类型在数据库中,对数据的操作其实只有两种,即读和写,所以可用共享锁和互斥锁实现,即共享锁间之间是兼容的,而互斥锁间不兼容。共享锁(读锁):允许事务读互斥锁(写锁):允许事务删除或者更新一行数据共享锁代表了读操作、互斥锁代表了写操作,所以我们可以在数据库中并行读,但是只能串行写,只有这样原创 2020-06-21 18:21:53 · 489 阅读 · 0 评论 -
深入理解MySQL索引
深入浅出MySQL索引1、索引的基本概念索引是数据库中一个很重要的概念,那么什么是索引呢,通俗的讲,索引是存储引擎用于快速找到记录的一种数据结构,就如同书的目录,当要查找某一行记录时,可以在索引中快速定位所在的位置信息,然后就可直接获取目标行的记录。既然索引的出现是为了提高查找效率,那么肯定会存在不同的索引结构(模型),不同的索引模型肯定有其适应的场景,在下面文章中,我们将重点讲解常见的索引模型及其特点。2、常见的索引模型用于提高读写效率的数据结构有很多,我们常见的有哈希表、数组和搜索树。2.1原创 2020-06-16 11:02:13 · 217 阅读 · 0 评论 -
看了这篇文章,再也不用担心面试官问我MySQL事务了!!!
深入浅出MySQL事务事务是保证一组数据库的操作,要么全部成功,要么全部失败,这些操作必须保证是一体的,可以理解为事务是并发控制的一个基本单位,事务的的四大特性ACID是事务的基础。在MySQL中,事务的支持是在引擎层出现的。在这篇文章中,我们将会重点讲解事务的四大特性ACID、多版本控制MVCC、当前读和一致性读。1、事务的四大特性ACID1.1原子性概念原子性是指一个事务是一个不可分割的单位,其中的操作要么成功,要么失败,保证了这些操作是一体的,如果操作执行失败,则已经执行的语句必须回滚退回原创 2020-06-12 21:57:06 · 186 阅读 · 0 评论 -
面试官问我一条SQL语句是怎么执行的,我被叼了!!!
深入浅出MySQL中的语句执行流程MySQL是一种关系型数据库,因为是开源且是免费的,因此在企业级开发中被广泛的使用。许多开发者都能够很熟练的在业务中使用的CRUD操作,只关心操作语句产生的结果,忽略语句的执行流程,这篇文章我们会讲解MySQL的基础架构都包含什么,每个部分有什么样的作用,语句是怎么执行的。1、MySQL架构1.1总体架构先看一张图,来源于Gary Chen由上图可知,MySQL可以主要分为连接层、服务层、引擎层和存储层,我们来详细讲解下每层的作用及特点连接层:理解为客户端,原创 2020-06-11 22:19:58 · 834 阅读 · 0 评论 -
数据库技术九(数据库权限控制)
SQL分类 1. DDL:操作数据库和表 2. DML:增删改表中数据 3. DQL:查询表中数据 4. DCL:管理用户,授权DCL:管理用户,授权 1. 管理用户 1. 添加用户:语法形式:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密...原创 2019-02-20 14:32:19 · 8100 阅读 · 2 评论 -
数据库技术八(事务start transaction、rollback、commit)
一、事务的基本介绍1.概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。2.操作: 1. 开启事务: start transaction; 2. 回滚:rollback; 3. 提交:commit;3.例子:CREATE TABLE account ( id ...原创 2019-02-20 13:22:58 · 1197 阅读 · 0 评论 -
数据库技术七②(多表查询的练习)
一、准备表1.部门表-- 部门表CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门所在地);-- 添加4个部门INSERT INTO dept(id,dname,loc) VALUES (10,'教研...原创 2019-02-20 11:18:15 · 200 阅读 · 0 评论 -
数据库技术七①(多表查询)
多表查询语法形式:select 列名列表 from 表名列表 where....下面将会以例子的形式给出sql语句一、准备表1.创建部门表CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) );INSERT INTO dept(NAME) VALUES...原创 2019-02-19 21:33:43 · 163 阅读 · 0 评论 -
数据库技术六(数据库的设计)
一、多表之间的关系1. 分类: 1. 一对一(了解): * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): * 如:部门和员工 * 分析:一个部门有多个员工...原创 2019-02-19 11:32:46 · 7332 阅读 · 0 评论 -
数据库技术五(约束)
约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性。约束的分类:目录约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性。约束的分类:主键约束非空约束唯一约束外键约束一、非空约束非空约束:not null,值不能为null1. 创建表时添加约束CREATE TABLE stu1(id INT NOT NULL,NAME VAR...原创 2019-02-18 08:51:23 · 285 阅读 · 0 评论 -
数据库技术四(数据的查询)②
DQL:查询语句一、排序查询语法形式:order by子句 order by 排序字段1 排序方式1,排序字段2,排序方式2......SELECT * FROM student ORDER BY math ASCSELECT * FROM student ORDER BY math DESC,english ASC排序方式 ASC:升...原创 2019-02-16 14:31:01 · 257 阅读 · 0 评论 -
数据库技术四(数据的查询Select)①
DQL数据查询语句以表为例CREATE TABLE student( id INT, -- 编号 NAME VARCHAR(20), -- 姓名 age INT, -- 年龄 sex VARCHAR(5), -- 性别 address VARCHAR(100), -- 地址 math INT, -- 数学 englis...原创 2019-02-16 13:07:44 · 387 阅读 · 0 评论 -
数据库技术二(数据库的基本类型和基本操作)
一、数据库的基本类型1.int:整数类型 age int;2.varchar:字符串型name varchar(20):姓名最大为20个字符李四2个字符,lisi四个字符。3.double:小数类型 tall double(5,2)4data:日期,仅包含年月日(yyyy--MM--dd)5.datatime:日期,包含年月日时分秒(yyyy--MM--dd--HH::...原创 2019-02-13 14:46:27 · 1745 阅读 · 0 评论 -
数据库技术一(基本概念)
学习数据库技术所使用的软件(mySql服务端软件+sqlyog)链接:https://pan.baidu.com/s/17Huk7L_XGWa8xqh2A0uw8Q提取码:quw6安装配置直接百度(网上有很多)客户端与数据库服务器的关系? 客户机--服务器应用分为两个不同的部分,服务器部分是负责所有数据访问和处理的一个软件,这个软件所在的计算机成为数据库服务器。 ...原创 2019-02-10 22:03:39 · 255 阅读 · 0 评论 -
数据库技术三(DML数据的操作 Insertt、Delete、Update)
DML(Data Manipulation Language)是数据操纵语言,针对的是表中的“数据”。在SQLyog中查询表中的结构 SELECT * FROM 表名;一、数据的添加语法形式:INSERT INTO 表名(列名1,列名2,列名3,....) VALUES(值1,值2,值3,......)其中的列名与值的要保持相对应的关系且数据类型要一致。当要为列添加全部...原创 2019-02-14 23:13:24 · 331 阅读 · 0 评论