![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
段远山
山不向我走来,我便向它走去!.........张雨亭
展开
-
Redis的5个常见使用场景
Redis的五个常见使用场景1、会话缓存(Session Cache)最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗?幸运的是,随着 Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。2、全页缓原创 2020-06-15 11:51:28 · 11515 阅读 · 0 评论 -
为什么需要用非关系型数据库(NOSQL)?
为什么需要NOSQL随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:1、High performance——对数据库高并发读写的需求Web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往...原创 2020-06-15 11:25:18 · 2567 阅读 · 0 评论 -
什么是sql注入?如何防止sql注入?
sql注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码防止策略1.严格限制Web应用的数据库的操作权限,给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害2检查输入的数据是否具有所期望的数据格式,严格限制变量的..原创 2020-06-12 17:38:03 · 993 阅读 · 0 评论 -
阿里- MySQL数据库规范
一、建表规约1.【强制】表达是与否概念的字段,必须使用 is_xxx的方式命名,数据类型是 unsigned tinyint( 1表示是,0表示否)。说明:任何字段如果为非负数,必须是 unsigned。正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。2.【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。说明:MySQL ...原创 2020-06-10 22:21:23 · 312 阅读 · 0 评论 -
SQLYog(小海豚)常用快捷键
Ctrl+M 创建一个新的连接Ctrl+N 使用当前设置新建连接Ctrl+F4 断开当前连接对象浏览器F5 刷新对象浏览器(默认)Ctrl+B 设置焦点于对象浏览器SQL 窗口Ctrl+T 新建查询编辑器Ctrl+E 设置焦点于 SQL 窗口Ctrl+Y 重做Ctrl+Z 撤销Ctrl+X 剪切Ctrl+V 粘贴Ctrl+H 替换Ctrl+G 转到Ctrl+O 在 SQL 窗口打开一个 SQL 文档Ctrl+Shift+U 使选择内容大写Ctrl+Shift+L 使选择原创 2020-06-10 14:43:48 · 1342 阅读 · 0 评论 -
MySQL数据类型简介
数据类型(data_type)是指系统中所允许的数据的类型。MySQL 数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。因此,在创建表时必须为每个列设置正确的数据类型和长度。MySQL 的数据类型有大.原创 2020-06-07 08:54:43 · 325 阅读 · 0 评论 -
教你如何启动MySQL服务
当你验证MySQL成功安装后,用户需要启动 MySQL 数据库服务并登录。下面介绍启动MySQL服务,具体操作步骤如下:步骤 1):在桌面上右击“此电脑”→“管理”命令,如图所示。步骤 2):弹出“计算机管理”对话框,双击“服务和应用程序”,用户可查看计算机的服务状态,MySQL 的状态为“正在运行”,表明该服务已经启动,如图所示。注意:由于设置了 MySQL 为自动启动,在这里可以看到,服务已经启动,而且启动类型为自动。如果没有“正在运行”字样,说明 MySQL 服务未启动。..原创 2020-05-18 15:16:11 · 3670 阅读 · 0 评论 -
DB2、Oracle、mysql和sql server区别
一.平台:Mysql、oracle、DB2都是可以在当下几乎所有主流平台上使用的;而sql server只能在windows平台,没有丝毫的开放性;二.安全性:sql server没有获得任何的安全认证;oracle、DB2都获得了最高级别的ISO标准认证;三.性能:sql server在多用户时性能不佳DB2适用于数据仓库和在线事物处理性能较高oracle性能最高四.可操作性:...原创 2020-05-13 06:50:19 · 1038 阅读 · 0 评论 -
mysql的主从复制过程?
mysql的主从复制过程?分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制过程:1.slave上的IO进程连接到master,并请求从binlog日志的指定位置复制之后的日志内容;2.master接到来自slave的IO请求后,通过IO的请求读取binlog日志的指定位置之后的日志内容,返回给slave的IO线程,在返回信息中还包括了本次master的binlog的文件名称以及binlog日志的位置;3.slave的接收到IO进程的返回信息后,将日志信息依次添加到relay-原创 2020-05-13 06:50:34 · 73 阅读 · 0 评论 -
什么是读写分离?
什么是读写分离?读写分离就是让主库处理事务性查询,从库处理select查询。数据库复制被用来把事务性查询导致的数据变更同步到从库,当然,主库也可以select查询。读写分离最大的作用就是缓解服务器的压力。读写分离的好处都有哪些?增加冗余; 缓解服务器的压力;增加机器的处理能力; 对于读应用较多的,应用读写分离是最好的,可以确保写的服务器压力更小,而读的服务器又可以接受点时间上的延迟。读写分离提高性能的原因?1.物理服务器增加;负荷增加;2.主库和从库只...原创 2020-05-13 06:50:55 · 7346 阅读 · 0 评论 -
db2数据库基础知识
1,db2数据库特点(1)具有很好的并行性(DB2把数据库管理扩充到了并行的,多节点的环境;数据库分区是数据库的一部分,包含自己的数据,索引,配置文件和事务日志;数据库分区有时被称为节点)。(2)获得最高认证级别的ISO标准认证。(3)性能较高,适用于数据仓库和在线事物处理。(4)跨平台,多层结构,支持ODBC,JDBC等客户。(5)操作简单,同时提供GUI和命令行,在windowsNT和unix下的操作相同。(6)在巨型企业得到广泛的运用,向下兼容性好,风险小。(7)能够在所有主流平台上运原创 2020-05-13 06:50:46 · 756 阅读 · 0 评论 -
DB2数据库及常用数据类型
DB2是IBM一种分布式数据库解决方案。说简单点:DB2就是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。目前,DB2数据库有如下一些版本:(比如DB2 for Unix,DB2 for Windows,DB2 for AS/400,DB2 for OS/390等)。数据库的特点:DB2数据库核心又称作db2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便原创 2020-05-12 11:35:18 · 2874 阅读 · 0 评论 -
DB2数据库常用命令
查看DB2数据库:db2 list db directory 查看DB2数据库应用:db2 list applications 查看DB2数据库应用与进程号:db2 list applications show detail 杀掉进程: db2 force application (id) 查看DB2数据库配置:db2 get db cfg for DB_NAME 查看DB2归档日志路径:db2 get db cfg for DB_NAME|grep "LOGARCHMETH1" 查看首活动日志原创 2020-05-12 11:08:47 · 5950 阅读 · 0 评论 -
MySQL的版本以及版本号
针对不同的用户,MySQL 分为两个版本:MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。 MySQL Enterprise Server(企业版):该版本能够以很高的性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能,但是该版本需要付费使用,官方提供电话技术支持。注意:MySQL Clus...原创 2020-05-06 11:29:23 · 680 阅读 · 0 评论 -
MySQL 的存储引擎
原创 2020-05-01 23:57:38 · 121 阅读 · 0 评论 -
MySQL中的日期与时间类型的详细介绍
MySQL中的日期与时间类型YEAR 类型YEAR 类型是一个单字节类型,用于表示年,在存储时只需要 1 个字节。可以使用各种格式指定 YEAR,如下所示:以 4 位字符串或者 4 位数字格式表示的 YEAR,范围为 '1901'~'2155'。输入格式为 'YYYY' 或者 YYYY,例如,输入 '2010' 或 2010,插入数据库的值均为 2010。 以 2 位字符串格式表...原创 2020-05-01 23:57:55 · 297 阅读 · 0 评论 -
数据库访问接口你不会只知道JDBC吧! ! ! !
常用数据库访问接口简介不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行 SQL 语句,进行数据库管理。主要的数据库访问接口主要有ODBC、JDBC、ADO.NET 和 PDO。ODBCODBC(Open Database Connectivity,开放数据库互连)为访问不同的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为访问数据的标准。...原创 2020-05-01 17:33:08 · 1356 阅读 · 1 评论 -
昨天参加平安面试问了我一个问题:说说MySQL 执行一条查询语句的内部执行流程?
昨天参加平安面试问了我一个问题:说说MySQL 执行一条查询语句的内部执行流程?客户端先通过连接器连接到 MySQL 服务器; 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前执行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器; 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是否正确,如果查询语法错误会直接返回给客户端错误信息,如果语法正确则进入优化器;...原创 2020-05-01 17:01:21 · 932 阅读 · 0 评论 -
MySQL索引
什么是索引?索引是 MySQL 数据库中的重要对象之一,用于快速找出某个列中有某一特定值的行。MySQL建索引需要遵循的原则1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。2.为经常需要排序、分组和联合操...原创 2020-05-01 16:56:33 · 129 阅读 · 0 评论 -
居然有人跟我说:Redis不支持事务! ! ! !扯
Redis的事务实质上是命令的集合,在一个事务中要么所有命令都被执行,要么所有事物都不执行。 事务从开始到执行会经历以下三个阶段,MULTI 开始到 EXEC结束前,中间所有的命令都被加入到一个命令队列中;当执行 EXEC命令后,将QUEUE中所有的命令执行。也就是。 开启:以MULTI开始一个事务。 入队:将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面...原创 2020-04-27 17:40:43 · 849 阅读 · 3 评论 -
Elasticsearch和传统数据库之间的比较!!!!和mysql同步Elasticsearch方案
Elasticsearch和传统数据库(MySQL)的类比1.ElasticsearchElasticSearch是一款分布式全文检索框架,底层基于Lucene实现。ElasticSearch使用 JSON 格式存储数据,属于文档存储.1:遍历方式ES有分片的概念,一个大的索引会被分成多个分片来进行存储数据,使用分布式的架构对分片进行并行搜索(基于倒排) 传统数据库的...原创 2020-04-27 16:07:22 · 1124 阅读 · 0 评论 -
什么是Redis! ! !
1、什么是Redis?Redis 是完全开源免费的, 遵守 BSD 协议, 是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis 不仅仅支持简单的 key-value 类型的数据, 同时还提供 list, set, ...原创 2020-04-27 15:39:18 · 375 阅读 · 0 评论 -
不用那么复杂!!!!! 简单告诉你常用的聚合函数
AVG() 返回数值列的平均值。COUNT()返回匹配指定条件的行数。FIRST()返回指定的列中第一个记录的值。LAST()返回指定的列中最后一个记录的值。MAX() 返回指定列的最大值。MIN()返回指定列的最小值。SUM()返回数值列的总数。GROUP BY 用于结合聚合函数,根据一个或多个列对结果集进行分组。HAVING 让我们筛选分组后的各组数据。EX...原创 2020-04-26 00:25:21 · 1733 阅读 · 5 评论 -
JDBC、ibatis(mybatis)、Hibernate有什么不同?
JDBC、ibatis(mybatis)、Hibernate有什么不同?①JDBC编程流程固定,同时将sql语句和java代码混在了一起,经常需要拼凑sql语句,细节很繁琐;②ibatis(mybatis)它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句,不过mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和sql语句映射生成...原创 2020-04-24 10:09:19 · 245 阅读 · 0 评论 -
JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?1. 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。2. Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。解决:将Sql语句配置在X...原创 2020-04-24 10:10:05 · 1584 阅读 · 2 评论 -
存储过程与SQL的对比?
优势:1、提高性能SQL语句在创建过程时进行分析和编译。 存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的存储计划,这样,在执行过程时便可节省此开销。2、降低网络开销存储过程调用时只需用提供存储过程名和必要的参数信息,从而可降低网络的流量。3、便于进行代码移植数据库专业人员可以随时对存储过程进行修改,但对应用程序源代码却毫无影响,从...原创 2020-04-22 19:01:04 · 2028 阅读 · 2 评论 -
Dubbo支持的协议有哪些?Dubbo支持的注册中心有哪些?
1、Dubbo协议(官方推荐协议)优点:采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)缺点:大文件上传时,可能出现问题(不使用Dubbo文件上传)2、RMI(Remote Method Invocation)协议优点:JDK自带的能力。可与原生RMI互操作,基于TCP协议缺点:偶尔连接失败.3、Hess...原创 2020-04-23 01:22:41 · 1671 阅读 · 1 评论 -
Redis缓存淘汰策略
为什么会有淘汰?Redis可以看作是一个内存数据库,可以通过Maxmemory指令配置Redis的数据集使用指定量的内存。设置maxmemory为0,则表示无限制(这是64位系统的默认行为,而32位系统使用3GB内隐记忆极限)。当内存使用达到maxmemory极限时,需要使用某种淘汰算法来决定清理掉哪些数据,以保证新数据的存入。常用的淘汰算法:FIFO:First In Fi...原创 2020-04-22 15:33:47 · 190 阅读 · 0 评论 -
删库跑路真的没必要了!!!!!!!! rm -rf mysql 之数据恢复
切记!!!切记!!!切记!!!!别着急着跑路跑路了那你就真的亏喽!!!!!解决方法yum -remove mysql //卸载mysqlrm -rf var/mysql //删除mysql相关文件rm -rf var/lib/mysql //删除mysql相关文件yum install mysql-server php php-devel php-mysql /...原创 2020-04-21 13:46:09 · 678 阅读 · 1 评论 -
MYSQL数据库四种索引类型介绍
MYSQL数据库四种索引类型主键索引: 主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。唯一索引: 索引列的所有值都只能出现一次,即必须唯一,值可以为空。普通索引 : 基本的索引类型,值可以为空,没有唯一性的限制。全文索引: 全文索引的索引类型为FULLTEXT。全...原创 2020-04-20 18:24:46 · 8556 阅读 · 7 评论 -
ACID
ACID,是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation,又称独立性)、 持久性(Durability)。原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Ro...原创 2020-04-13 10:30:47 · 295 阅读 · 0 评论 -
索引的几种类型以及索引的优缺点
索引的几种类型分别是普通索引、唯一索引、聚集索引、主键索引、全文索引。唯一索引:在创建唯一索引时要不能给具有相同的索引值。 主键索引:在我们给一个字段设置主键的时候,它就会自动创建主键索引,用来确保每一个值都是唯一的。 聚集索引:我们在表中添加数据的顺序,与我们创建的索引键值相同,而且一个表中只能有一个聚集索引。 普通索引:它的结构主要以B+树和哈希索引为主,主要是对数据表中的数据...原创 2020-04-08 19:41:54 · 11203 阅读 · 2 评论 -
RDB持久化和AOF持久化的优缺点
RDB:优点:RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集。 这种文件非常适合用于进行备份RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快(因为其文件要比AOF的小)缺点:RDB的持久化不够及时(一定时间间隔),可能会存在数据丢失RDB持久化时如果文件过大可能会造成服务器的阻塞,停止客户端请求AOF:优点:AOF的...原创 2020-04-07 07:24:52 · 423 阅读 · 0 评论 -
Redis 和Memcache 的区别
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。Memcache:代码层次,类似 Hash支持简单数据类型; 不支持数据持久化存储; 不支持主从; 不支持分片; Memcached是多线程,非阻塞 IO 复用的网络模型;Redis:Redis ...原创 2020-04-06 23:21:32 · 126 阅读 · 0 评论 -
count (*)、count (1)、count (column) 的区别
count (*) 对行的数目进行计算,包含 NULL count (column) 对特定的列的值具有的行数进行计算,不包含 NULL 值。 count () 还有一种使用方式,count (1) 这个用法和 count (*) 的结果是一样的。...原创 2020-04-02 15:13:11 · 157 阅读 · 0 评论 -
varchar 和 char 的使用场景
1.char 的长度是不可变的,而 varchar 的长度是可变的。定义一个 char [10] 和 varchar [10]。如果存进去的是‘csdn’, 那么 char 所占的长度依然为 10,除了字符‘csdn’外,后面跟六个空格,varchar 就立马把长度变为 4 了,取数据的时候,char 类型的要用 trim () 去掉多余的空格,而 varchar 是不需要的。2.char...原创 2020-04-03 08:01:29 · 2805 阅读 · 0 评论 -
非关系型数据库和关系型数据库区别和优势比较
非关系型数据库的优势:性能:NOSQL 是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过 SQL 层的解析,所以性能非常高。 可扩展性:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。关系型数据库的优势:复杂查询:可以用 SQL 语句方便的在一个表以及多个表之间做非常复杂的数据查询。 事务支持:使得对于安全性能很高的数据访问要求得以实现。...原创 2020-04-03 08:01:10 · 844 阅读 · 0 评论 -
数据库部分面试知识点()
什么叫视图?游标是什么?视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据...原创 2020-04-02 14:47:06 · 134 阅读 · 0 评论