展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页
摘要: 起步 步骤 页的概念 页的大小默认为16k 以页作为磁盘和内存之间交互的基本单位,也就是一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。也就是说,在数据库中,不论读一行,还是读多行, 都是将这些行所在的页进行加载。也就是说,数据库管理存储空间的基本单位是页(P 阅读全文
posted @ 2022-06-13 21:32 DogLeftover 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 起步 页的概念 页的大小默认为16k 以页作为磁盘和内存之间交互的基本单位,也就是一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。也就是说,在数据库中,不论读一行,还是读多行, 都是将这些行所在的页进行加载。也就是说,数据库管理存储空间的基本单位是页(Page 阅读全文
posted @ 2022-06-13 16:55 DogLeftover 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 大纲 指定行格式的语法 在创建或修改表的语句中指定行格式: CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称 ALTER TABLE 表名 ROW_FORMAT=行格式名称 举例: mysql> CREATE TABLE record_test_table ( -> c 阅读全文
posted @ 2022-06-13 15:37 DogLeftover 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 常见索引 聚簇索引 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(所有的用户记录都存储在了叶子节点),也就是所谓的索引即数据,数据即索引 其他特点 特点: 1. 使用记录主键值的大小进行记录和页的排序,这包括三个方面的含义: 页内的记录是按照主键的大小顺序排成一个单向链表 各个存放用户记录 阅读全文
posted @ 2022-06-13 14:54 DogLeftover 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 起步 B树索引适用存储引擎 即使多个存储引擎支持同一种类型的索引,但是他们的实现原理也是不同的。 Innodb和MyISAM默认的索引是Btree索引;而Memory默认的索引是Hash索引。 MyISAM引擎使用 B+Tree 作为索引结构,叶子节点的data域存放的是 数据记录的地址 MyISA 阅读全文
posted @ 2022-06-13 14:14 DogLeftover 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 简介 全表遍历 Hash结构 二叉搜索树 AVL树 B-Tree B+Tree R树 Hash结构 上图中哈希函数h有可能将两个不同的关键字映射到相同的位置,这叫做 碰撞 ,在数据库中一般采用 链接法 来解决。 在链接法中,将散列到同一槽位的元素放在一个链表中 Hash索引适用存储引擎 为了减少IO 阅读全文
posted @ 2022-06-13 14:14 DogLeftover 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 持降序索引 在MySQL5.7和MySQL8.0中创建表 CREATE TABLE ts1(a int,b int,index idx_a_b(a,b desc)); # 在MySQL5.7中查看表结构 show create table ts1\G # 索引仍然是默认的升序 # 在MySQL8.0 阅读全文
posted @ 2022-06-13 10:35 DogLeftover 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 索引的类型 从功能逻辑上说,索引主要有4种,分别是普通索引、唯一索引、主键索引、全文索引 按照物理实现方式,索引可以分为2种:聚簇索引和非聚簇索引 按照作用字段个数进行划分,分成单列索引和联合索引 1.1 普通索引 在创建普通索引时,不附加任何限制条件,只是用于提高查询效率。这类索引可以创建在任何数 阅读全文
posted @ 2022-06-11 08:49 DogLeftover 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 区 B+树的每一层中的页都会形成一个双向链表,如果是以页为单位来分配存储空间的话,双向链表相邻的两个页之间的物理位置可能离得非常远。 B+树索引的适用场景的时候特别提到范围查询只需要定位到最左边的记录和最右边的记录,然后沿着双向链表一直扫描就可以了,而如果链表中 相邻的两个页物理位置离得非常远,就是 阅读全文
posted @ 2022-06-10 15:05 DogLeftover 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 起步 定义 索引(Index)是帮助MySQL高效获取数据的数据结构 本质 索引是数据结构。可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现 高级查找算法 优点 (1)类似大学图书馆建书目索引,提高数据检索的效率, 阅读全文
posted @ 2022-06-09 16:28 DogLeftover 阅读(68) 评论(0) 推荐(0) 编辑
摘要: curl download # 下载后直接解压 # 环境配置: CURL_HOME = C:\app\curl\curl-7.66.0 # 在path中添加 %CURL_HOME%\bin\ # cmd验证:curl --version # get请求 curl localhost:8080/tes 阅读全文
posted @ 2022-06-09 07:59 DogLeftover 阅读(24) 评论(0) 推荐(0) 编辑
摘要: InnoDB表的优势 InnoDB存储引擎在实际应用中拥有诸多优势,比如操作便利、提高了数据库的性能、维护成本低等。 如果由于硬件或软件的原因导致服务器崩溃,那么在重启服务器之后不需要进行额外的操作。 InnoDB崩溃恢复功能自动将之前提交的内容定型,然后撤销没有提交的进程,重启之后继续从崩溃点开始 阅读全文
posted @ 2022-06-08 13:38 DogLeftover 阅读(17) 评论(0) 推荐(0) 编辑
摘要: MyISAM 引擎 主要的非事务处理存储引擎 1、MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM 不支持事务、行级锁、外键, 有一个毫无疑问的缺陷就是 崩溃后无法安全恢复 。 2、mysql5.5之前默认的存储引擎 3、优势是访问的速度快,对事务完整性没有要求 阅读全文
posted @ 2022-06-08 13:11 DogLeftover 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 查看所有存储引擎 show engines; # 方式2 MariaDB [(none)]> show engines \G; *************************** 1. row *************************** Engine: MRG_MyISAM Supp 阅读全文
posted @ 2022-06-08 11:35 DogLeftover 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 在 InnoDB 存储引擎中有一部分数据会放到内存中,缓冲池则占了这部分内存的大部分,它用来存储各种数据的缓存 从缓冲池中读取数据 缓冲池管理器会尽量将经常使用的数据保存起来,在数据库进行页面读操作的时候,首先会判断该页面是否在缓冲池中, 如果存在就直接读取,如果不存在,就会通过内存或磁盘将页面存放 阅读全文
posted @ 2022-06-08 10:59 DogLeftover 阅读(27) 评论(0) 推荐(0) 编辑
摘要: mysql8中测试 查看profiling 是否开启 select @@profiling; show variables like 'profiling'; profiling=0 代表关闭,我们需要把 profiling 打开,即设置为 1: set profiling=1; 任意执行1条查询语 阅读全文
posted @ 2022-06-08 10:16 DogLeftover 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 执行流程 查询流程 1、查询缓存:Server 如果在查询缓存中发现了这条 SQL 语句,就会直接将结果返回给客户端;如果没有, 就进入到解析器阶段。需要说明的是,因为查询缓存往往效率不高,所以在 MySQL8.0 之后就抛弃了这个功能 2、解析器:在解析器中对 SQL 语句进行语法分析、语义分析 阅读全文
posted @ 2022-06-08 09:50 DogLeftover 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 服务器处理客户端请求 连接层 1、系统(客户端)访问 MySQL 服务器前,做的第一件事就是建立 TCP 连接。 2、经过三次握手建立连接成功后, MySQL 服务器对 TCP 传输过来的账号密码做身份认证、权限获取。 用户名或密码不对,会收到一个Access denied for user错误,客 阅读全文
posted @ 2022-06-08 09:47 DogLeftover 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 创建角色 CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]... # 如果 host_name省略,默认为% , role_name不可省略 ,不可为空 代码案例 CREATE ROLE 'manager'@'loc 阅读全文
posted @ 2022-06-07 16:14 DogLeftover 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 连接核实阶段 当用户试图连接MySQL服务器时,服务器基于用户的身份以及用户是否能提供正确的密码验证身份来确定接受或者拒绝连接。 即客户端用户会在连接请求中提供用户名、主机地址、用户密码,MySQL服务器接收到用户请求后,会使用user表中 的host、user和authentication_str 阅读全文
posted @ 2022-06-07 15:54 DogLeftover 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 查看表 MariaDB [(none)]> show databases; # 查看所有数据库 + + | Database | + + | information_schema | | jdbc | | mysql | | performance_schema | + + 4 rows in se 阅读全文
posted @ 2022-06-07 14:37 DogLeftover 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 查看权限类型 show privileges; (1) CREATE和DROP权限 ,可以创建新的数据库和表,或删除(移掉)已有的数据库和表。如果将 MySQL数据库中的DROP权限授予某用户,用户就可以删除MySQL访问权限保存的数据库。 (2)SELECT、INSERT、UPDATE和DELET 阅读全文
posted @ 2022-06-07 14:24 DogLeftover 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 登录mysql服务 mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句" -h参数 后面接主机名或者主机IP,hostname为主机,hostIP为主机IP -P参数 后面接MySQL服务的端口,通过该参数连接 阅读全文
posted @ 2022-06-07 13:55 DogLeftover 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 起步 Linux安装MySQL后查看目录结构 find / -name mysql MySQL数据库文件的存放路径:/var/lib/mysql/ 相关命令目录:/usr/bin(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin 配置文件目录:/usr/s 阅读全文
posted @ 2022-06-07 11:18 DogLeftover 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 宽松模式 如果设置的是宽松模式,那么我们在插入数据的时候,即便是给了一个错误的数据,也可能会被接受,并且不报错 严格模式 出现上面宽松模式的错误,应该报错才对,所以MySQL5.7版本就将sql_mode默认值改为了严格模式 设置宽松模式 set sql_mode = ONLY_FULL_GROUP 阅读全文
posted @ 2022-06-06 21:38 DogLeftover 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 查看大小是否敏感 SHOW VARIABLES LIKE '%lower_case_table_names%' lower_case_table_names参数值的设置: 默认为0,大小写敏感 设置1,大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于sql语句都是转换为小写对表和数据库 阅读全文
posted @ 2022-06-06 21:25 DogLeftover 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 简介 在MySQL 8.0版本之前,默认字符集为 latin1 ,utf8字符集指向的是 utf8mb3 。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL8.0开始,数据库的默认编码将改为 utf8mb4 ,从而避免上述乱码的 阅读全文
posted @ 2022-06-06 17:35 DogLeftover 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 修改密码 # 在myslq5.7中修改密码 alter user 'root' identified by 'abcd1234'; # 使用同样的方式在mysql8.0中修改密码则会报错 错误原因 在MySQL 8.0之前,MySQL使用的是validate_password插件检测、验证账号密码强 阅读全文
posted @ 2022-06-03 22:20 DogLeftover 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 起步 简介 公用表表达式(或通用表表达式)简称为CTE(Common Table Expressions)。CTE是一个命名的临时结果集,作用范围是当前语句。 CTE可以理解成一个可以复用的子查询,当然跟子查询还是有点区别的,CTE可以引用其他CTE,但子查询不能引用其他子查询。所以,可以考虑代替子 阅读全文
posted @ 2022-06-03 21:56 DogLeftover 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 起步 分类 顺序结构 :程序从上往下依次执行 分支结构 :程序按条件进行选择执行,从两条或多条路径中选择一条执行 循环结构 :程序满足一定条件下,重复执行一组语句 针对于MySQL 的流程控制语句主要有 3 类。注意:只能用于存储程序 条件判断语句 :IF 语句和 CASE 语句 循环语句 :LOO 阅读全文
posted @ 2022-06-01 22:18 DogLeftover 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 简介 触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会 自动 激发触发器执行相应的操作 当对数据表中的数据执行插入、更新和删除操作, 阅读全文
posted @ 2022-06-01 21:20 DogLeftover 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 起步 简介 窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是将结果置于每一条数据记录中 分类 静态窗口函数的窗口大小是固定的,不会因为记录的不同而不同 动态窗口函数的窗口大小会随着记录的不同而变化 格式 函数 OVER([PARTITION B 阅读全文
posted @ 2022-06-01 21:20 DogLeftover 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 简介 在结果集中像指针一样,向前定位一条记录、向后定位一条记录,或者是 随意定位到某一条记录 ,并对记录的数据进行处理 游标,提供了一种灵活的操作方式,让我们能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。游标让 SQL 这种面向集合的语言有了面向过程开发的能力 在 S 阅读全文
posted @ 2022-06-01 21:19 DogLeftover 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 简介 定义条件 是事先定义程序执行过程中可能遇到的问题, 处理程序 定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行 定义条件和处理程序在存储过程、存储函数中都是支持的。 前置案例 # 定义1个存储过程 阅读全文
posted @ 2022-06-01 21:18 DogLeftover 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 系统变量 简介 1、系统变量 系统变量分为全局系统变量(需要添加 global 关键字)以及会话系统变量(需要添加 session 关键字),有时也把全局系统变量简称为全局变量,有时也把会话系统变量称为local变量。如果不写,默认会话级别 全局系统变量针对于所有会话(连接)有效,但 不能跨重启 在 阅读全文
posted @ 2022-05-31 23:18 DogLeftover 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 创建存储过程 简介 是一组经过 预先编译 的 SQL 语句的封装 存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行 分类 1、没有参数(无参数无返回) 2、仅仅带 IN 类型(有参数无返 阅读全文
posted @ 2022-05-28 19:27 DogLeftover 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 常见的数据库对象 视图的作用 1、视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图 2、视图是一种 虚拟表 ,本身是 不具有数据 的,占用很少的内存空间,它是 SQL 中的一个重要概念 3、视图建立在已有表的基础上, 视图赖以建立的这些表称为基表 4、 阅读全文
posted @ 2022-05-28 13:30 DogLeftover 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 起步 数据类型 数据类型的属性 整数 代码案例 # 创建数据表,指定字段类型 CREATE TABLE test_int1( f1 TINYINT, f2 SMALLINT, f3 MEDIUMINT, f4 INTEGER, f5 BIGINT ); # 插入没有超出范围的整数,未报错 INSER 阅读全文
posted @ 2022-05-28 13:29 DogLeftover 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 起步 简介 1、数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的 2、为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限 阅读全文
posted @ 2022-05-28 13:29 DogLeftover 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 插入数据 代码案例 # 方式1:一条一条的添加数据 # 没有指明添加的字段时,一定要按照声明的字段的先后顺序添加 INSERT INTO emp1 VALUES (1,'Tom','2000-12-21',3400); # 错误写法:没有指定添加字段,也没有按声明顺序 INSERT INTO emp 阅读全文
posted @ 2022-05-28 13:27 DogLeftover 阅读(18) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页