![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
吗吗哈哈
喝光大佬的卡布奇诺
展开
-
深入剖析MySQL索引
一、索引到底是什么?数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速排序、更新数据库表中数据。我们怎样来理解这张图呢?数据在计算机磁盘中以文件的形式存储,每一行数据有其自己的磁盘地址。如果没有索引,在查找某数据时就需要在磁盘中依次遍历所有数据才能查询;而如果有了索引,就只需要在索引的存储空间内去检索这些数据的磁盘地址(索引的特殊数据结构来完成)就可以完成查询。就类似于在字典中可以通过拼音或者部首来查询相应的字。在Navicat工具中,我们在创建索引时是以下这样情况:原创 2020-09-03 19:06:23 · 134 阅读 · 0 评论 -
MySQL中索引一遍过
一、什么是索引索引用于快速找出在某个列种有一特定值的行。不使用索引,MySQL必须从第一条记录开始遍历完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多。如果表中查询的列有一个索引,MySQL能够快速到一个位置去搜索数据文件。不必查看所有的数据,那么将会节省很大一部分时间二、索引的优势与劣势1. 优势类似大学图书馆建立书目索引,提高数据检测效率,降低数据库的IO成本。通过索引对数据进行排序,降低数据排序的成本,降低CPU的消耗。2. 劣势实际上索引也是一张表,该表保原创 2020-08-29 13:40:12 · 122 阅读 · 0 评论 -
MySQL中的存储过程一路通关!
一、什么是存储过程一种可编程的函数,是为了完成特定功能的SQL语句集。存储过程就是具有名字的一段代码,用来完成一个特定的功能。创建的存储过程保存在数据库的数据字典中。二、为什么要存储过程将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用。批量处理统一接口,确定数据的安全性相对于oracle数据库来说,MySQL的存储过程相对功能较弱,使用较少。三、存储过程的创建和调用1. DELIMITER $$首先声明一点,delimiter与存储过程无关,只是之后的操作原创 2020-08-29 09:43:10 · 137 阅读 · 0 评论 -
MySQL中关于视图的一点两点
一、什么是视图视图是一个虚拟表,其内容由查询定义。简单的来说视图时由select结果组成的表。同真实表一样,视图包含一系列带有名称的列和行数据。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。二、视图的特性视图是对若干基本表的而引用,一张虚表,查询语句执行的结果。不存在具体的数据(基本表数据发生了改变,视图也会跟着改变)。可以跟基本表一样,进行增删改查操作(有条件限制)。三、视图的作用安全性创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定,原创 2020-08-28 17:24:51 · 223 阅读 · 0 评论 -
让我们来聊聊MySQL中的权限操作
一、什么是权限权限是限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限。二、有哪些权限?CREATE 创建数据库、表或者索引DROP 除数据库或权限ALTER 更改表,比如添加字段、索引等DELETE 删除数据权限INDEX 索引权限INSERT 插入权限SELECT 查询权限UPDATE 更新查询CREATE VIEW 创建视图权限EXECUTE 执行存储过程权限三、关于用户的操作创建用户create user '原创 2020-08-28 12:32:38 · 215 阅读 · 0 评论 -
来聊一聊MySQL中事务的相关问题
一、什么是事务事务是不可分隔的操作,假设该操作有ABCD四个操作。若ABCD四个步骤都成功完成,则认为i事务完成;若ABCD中任意一个步骤操作失败,则认为事务失败。每条sql语句都是一个事务。事务只对DML语句有效,对于DQL无效。二、事务的ACID原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。一致性(Consistency)一致性是指事务必须是数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一原创 2020-08-28 10:30:52 · 97 阅读 · 0 评论 -
一些我们在MySQL中常用的函数
一、常用函数简介函数就是事先提供好的一些可以直接使用的功能。可以用在select语句及其子语句中,也可以用在update,delete语句中。二、 函数分类2.1 字符串函数2.2 数值函数2.3 日期和时间函数2.4 流程函数2.5 其他函数...原创 2020-08-27 14:17:41 · 149 阅读 · 0 评论 -
MySQL中子查询看不明白?那就得好好练
一、子查询1.1 什么是子查询?有两种情况下可以认为是子查询:一个select语句中包含另一个完整的select语句。两个以上select语句,那么就是子查询了。1.2 子查询出现的位置原创 2020-08-25 13:48:13 · 178 阅读 · 0 评论 -
MySQL多表查询一遍打通
一、表之间的关系1.1 一对一的关系表中的各个字段属性只能属于一个主键信息,并且一个主键只能在各个字段有唯一一个属性。可以用一对一的夫妻制来理解表之间的一对一关系。1.2 一对多关系一个主键在各个字段上可以有多个不同的属性,对应多种信息。一个人可以有几辆汽车,要求查询他的所有汽车。//创建车主表CREATE TABLE person ( id int PRIMARY KEY, color varchar(50), name varchar(50));//创建车表CREATE TA原创 2020-08-24 21:26:00 · 171 阅读 · 0 评论 -
MySql中数据完整性彻底解析
一、数据完整性首先我们可以通过三个方面整体感知一下MySQL的数据完整性。1.1 什么是据完整性?保证用户输入的数据保存到数据库中是正确的。1.2 如何添加数据完整性?在创建表时给表中添加约束1.3 完整性分类实体完整性域完整性引用完整性二、实体完整性2.1 什么是实体?想要了解实体完整性,就首先需要知道什么是实体。表中的一行(一条记录)就代表了一个实体。2.2 实体完整性的作用实体完整性用来标识每一行数据,使得数据不重复,是一种行级约束。2.3 约束分类(1)主键约原创 2020-08-22 23:17:04 · 400 阅读 · 0 评论 -
点了五根烟,终于把MySql中查询操作(DQL)搞懂了!
一、SQL虚拟结果集数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户。那么什么是结果集呢?在DBMS的图形化操作界面中,通过查询语句查询出来的数据以表的形式展示,并且存放在内存当中,我们就称这个表是虚拟结果集,而查询返回的结果也是一张虚拟表。二、查询指定列的数据SELECT 列名1,列名2... FROM 表名;三、条件查询3.1 条件插叙定义条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用一些运算符及关键字。3.2 运算符及关键字= (等于)、!原创 2020-08-21 20:07:15 · 200 阅读 · 0 评论 -
mysql中的DML操作
一、查询表中的所有数据 SELECT * FROM 表名;二、DML是对表中的数据进行增、删、改的操作2.1 插入操作插入语法INSERT INTO 表名 (列名1,列名2....) VALUES(列值1,列值2....);注意事项 1. 列名于列值的类型、个数、顺序要一 一对应 2. 值不要超出列定义的长度 3. 插入的日期和字符一样,都要用引号括起来批量插入INSERT INTO 表名(列名1,列名2...)VALUES (列值1,列值2...),原创 2020-08-11 13:11:14 · 224 阅读 · 0 评论 -
mysql中DDL的操作方法
一、MySQL语法规范介绍不区分大小写,但建议关键字大写,表名和列明小写。每条命令最好用分号结尾每条命令根据长度,可以进行缩进或换行注释(1)单行注释:# + 注释文字(2)多行注释:/* 注释文字 */...原创 2020-08-10 21:18:30 · 238 阅读 · 0 评论