![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Maybe_ch
从0开始
展开
-
数据库缓冲池
数据库缓冲池数据库缓冲池如何读取数据?缓冲池管理器会将经常使用的数据保存起来,在数据库页面读操作的时候,进行判断。首先判断页面是否在缓冲池中,如果存在就直接读取,如果不存在,就会通过内存或磁盘将页面存放在缓冲池中再进行读取。执行SQL语句的时候更新了缓冲池中的数据,数据是否会马上同步到磁盘上?对数据库的记录进行修改的时候,首先会修改缓冲池中页里面的记录信息,然后数据库会以一定的频率刷新到...原创 2019-11-17 11:37:07 · 484 阅读 · 0 评论 -
索引的使用原则
极客时间学习笔记原创 2019-11-15 14:52:07 · 208 阅读 · 0 评论 -
索引数据结构B树与B+树对比
通过学习极客时间数据库专栏记录笔记,并自己进行总结。索引数据结构查询性能的决定因素索引只能放在硬盘中,因此硬盘的I/O次数决定了索引数据结构查询性能的好坏B树B 树进行查找。假设我们想要查找的关键字是 9,步骤可以分为以下几步:1.我们与根节点的关键字 (17,35)进行比较,9 小于 17 那么得到指针 P1;2.按照指针 P1 找到磁盘块 2,关键字为(8,12),因为 9 在 ...原创 2019-11-13 21:28:15 · 660 阅读 · 0 评论 -
索引分类
在极客时间上学习了数据库专栏,记录下学习笔记功能逻辑分类普通索引基础的索引没有任何约束,主要用于提高查询效率唯一索引在普通索引的基础上增加了数据唯一性的约束,在一张数据表里可以有多个唯一索引主键索引在唯一索引的基础上增加了为空的约束,也就是NOT NULL + UNIQUE,同时一张表里最多只有一个主键索引全文索引Mysql自带的全文索引只能用在InnoDB和MyISAM,并且只...原创 2019-11-12 17:31:17 · 196 阅读 · 0 评论 -
数据库优化总体思路
记录极客时间数据库专栏学习原创 2019-11-09 22:49:34 · 169 阅读 · 0 评论 -
MySql 游标的使用
今天在极客时间学习了SQL必知必会专栏,游标的部分,在下面总结一下游标的使用。使用游标的步骤如下:定义游标,用变量接收游标状态,打开游标,游标中取得数据,关闭游标,释放游标,下面就从这是步骤来使用游标。定义游标DECLARE cursor_name CURSOR FOR select_statementcursor_name 为游标名称,select_statement代表SELECT语...原创 2019-11-07 00:11:14 · 577 阅读 · 0 评论 -
存储过程的 3 种参数类型
参数类型是否返回作用IN否向存储过程传入参数,存储过程中修改该参数的值,不能别返回OUT是把存储过程计算的结果放在该参数中,调用者可以得到返回值INOUT是IN和OUT的结合,既用于存储过程的传入参数,同事又可以把计算结果放到参数中...原创 2019-11-01 14:28:53 · 4843 阅读 · 0 评论 -
select语句的执行流程(MySql)
以一条select语句为例:select * from T where ID=4 ,梳理下执行的流程一条sql语句在执行过程中需要经过连接器、分析器、优化器、执行器等,也有可能会经过查询缓存,如图所示连接器想要连接数据库那么必须是要通过连接器,连接器负责与客户端建立连接、获取权限、维持和管理连接。当你输入了用户名和密码后,连接器会在权限表中查询你拥有的权限,之后本次连接中你对表能否操作...原创 2019-08-16 00:42:13 · 2234 阅读 · 0 评论 -
Mysql存储引擎对比
存储引擎特点InnoDB支持事务、行级锁定、外键约束MyISAM不支持事务、不支持外键、速度快、占用资源少Memory系统内存作为存储介质、响应速度快、mysql进程崩溃会造成数据丢失NDB分布式集群环境Archive较好的压缩机制,用于文件存档,常用来做仓库5.5版本以后的mysql默认的引擎是InnoDB...原创 2019-07-09 11:32:42 · 141 阅读 · 0 评论 -
【SQL Server】创建索引
索引类型聚聚索引:表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值都是唯一的,并且不能为空。非聚集索引:非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个。唯一索引:唯一索引不...原创 2018-09-14 15:32:49 · 387 阅读 · 0 评论 -
【SQL Server】创建与使用事务
事务的特性原子性:事务是一个完整的操作,事务的各步操作时不可分的,要么都执行,要么都不执行。一致性:当事务完成时,数据必须处于一致状态。隔离性:并发事务之间彼此隔离、独立,它不应以任何方式依赖与或影响其他事务。永久性:事务完成后,它对数据库的修改被永久保存。事务分类显式事务 用BEGIN TRANSACTION明确指定事务的开始。 最常用的事务类型隐式事务 通过...原创 2018-09-13 17:28:08 · 3306 阅读 · 0 评论 -
【SQL Server】存储过程
如何创建存储过程定义存储过程的语法 CREATE PROC[EDURE] 存过过程名 @参数1 数据类型 = 默认值 OUTPUT, … …, @参数n 数据类型 = 默认值 OUTPUT, AS SQL语句 GO存储过程的参数和C#语言的方法一样,参数可选。...原创 2018-09-07 16:53:40 · 339 阅读 · 0 评论 -
【SQL Server】常用的系统存储过程
系统存储过程 说明 sp_databases 列出服务器上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当前环境下可查询的对象的列表 sp_columns 返回某个表列的信息 sp_help 查看某个表的所有信息 ...原创 2018-09-06 18:30:14 · 298 阅读 · 0 评论 -
存储过程实例-遍历链表结构
业务场景:我以类似于链表的结构存储一些数据,现在需要遍历这一链表。每条数据用一个字段存它的下一条数据的id。 解决方法:一条一条取出加入数据到临时表之中之后再全部拿出。 实例数据表结构如下: 存储过程如下:CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`(in userid int)BEGIN #Routine ...原创 2018-07-24 14:25:51 · 338 阅读 · 0 评论 -
【SQL Server】SQLServer-创建数据库(脚本)
一、创建单个数据文件和日志文件use master go --创建数据库create database StudentManageDBon primary ( name = 'StudentManageDB_data',--数据库文件的逻辑名 filename='D:\DB\StudentManageDB_data.mdf',--逻辑名+mdf 主数据文件 数据库物...原创 2018-08-21 14:19:43 · 6732 阅读 · 0 评论 -
数据库完整性设计
1.主键约束(PRIMARY KEY)1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL). 4) 主健可作外健,唯一索引不可; 例如给表Students的StudentId字段添加主键约束if exists(select * from sysobjects ...原创 2018-08-21 19:32:57 · 3059 阅读 · 0 评论 -
The user specified as a definer ('root'@'%') does not exist 解决方法
权限问题,授权 给 root 所有sql 权限mysql> grant all privileges on . to root@”%” identified by “”; Query OK, 0 rows affected (0.00 sec)mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)...转载 2018-09-04 11:18:05 · 276 阅读 · 0 评论 -
【SQL Servcer】添加登录账户和数据库用户
登录验证方式1.SQLServer账户 2.Windows账户登录名用以登录SQL Server数据库服务器一个数据库服务器上可能有若干个数据库数据库用户用户访问指定的数据库。登录成功后,根据登录名找到对应的数据库用户,再去访问某个具体用户数据库。找到该数据库用户对应的权限,操作数据库。 登录名与数据库用户的关系:一对多 数据库用户与数据库的关系:一...原创 2018-09-05 10:23:02 · 4157 阅读 · 0 评论 -
【SQL Server】SA账户为什么可以访问所有数据库
要知道为什么SA用户有所以权限,首先我们需要了解系统内置的数据库用户系统内置的数据库用户dbo用户 - 表示数据库的所有者(DBowner) - 无法删除dbo用户,此用户始终出现在每个数据库中。 - 默认分配给sa登录账号 我们可以查看数据库中安全性中的用户,都有dbo guest用户适用于没有数据库用户的登录账号访问每个数据库可有可删除 所以说...原创 2018-09-05 10:32:06 · 1014 阅读 · 0 评论 -
【SQL Server】向数据库用户授权并设置角色
数据库用户授权授权的语法 grant 权限[on 表名] to 数据库用户 收回权限的语法 revoke 权限[on 表名] to 数据库用户 代码编写示例 hehcong为创建好的StudentManageDB数据库的用户。user StudentManageDBgo --给hehcong分配权限(查询、插入、修改)grant select,insert,upda...原创 2018-09-05 14:46:47 · 6296 阅读 · 0 评论 -
【SQL Server】变量的使用
变量的分类局部变量:(仅在过程中使用) 局部变量必须标记@作为前缀,如@age。 局部变量的使用也是先声明(使用declare),再赋值。 全局变量:(任何时候均可以使用) 全局变量必须以标记@@作为前缀,如@@version. 全局变量由系统定义和维护,我们只能读取,不能修改全局变量值。局部变量定义与赋值局部变量的定义语法 DECLARE @变量名 数据类型 赋值方法 ...原创 2018-09-05 15:34:17 · 973 阅读 · 0 评论 -
【SQL Server】视图
视图的概念是存储在服务器端一个查询块,是一张虚拟表。 表示一张表的部分数据或多张表的综合数据。 其结构和数据是建立在对表的查询基础上。 视图的使用,跟普通的表的查询使用完全一样视图中不存放数据数据存放在视图所引用的原始表中。表视图的多样性一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。视图的用途筛选表中的行。 防止未经许可的用户访问敏感数据。 ...原创 2018-09-06 15:04:13 · 3743 阅读 · 0 评论 -
【SQL Server】什么是存储过程?
什么是存储过程?预先存储好的SQL程序保存在SQL Server中(跟视图的存储方式一样)通过名称和参数执行 在数据库服务器端直接调用(DBA) 供应用程序调用(软件开发工程师) 类似于JAVA和C#中的方法可带参数,也可返回结果可包含数据操纵语句、变量、逻辑控制语句等存储过程的优点执行速度快允许模块化程序设计提高系统安全性减少网络流通量...原创 2018-09-06 16:02:40 · 745 阅读 · 0 评论 -
MYSQL 启动错误193
在D:\mysql\mysql-5.6.40-winx64\mysql-5.6.40-winx64\bin 有个mysqld的空文件,删除他即可。原创 2018-07-24 09:41:48 · 605 阅读 · 1 评论