
数据库学习
文章平均质量分 53
数据库学习
雨欲语
说再见就是一点一点死去
展开
-
PostgreSQL学习
PostgreSQL 不仅仅是关系型数据库,同时也添加了对JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器,全文检索功能。 PostgreSQL默认端口是:5432。 PostgreSQL有着丰富的数据类型,具体可跳转:https://www.runoob.com/postgresql/postgresql-data-type.html。PostgreSQL 的存储引擎是 Heap ,和与My...原创 2021-07-15 15:03:28 · 758 阅读 · 0 评论 -
SQL语句(长期持久更新)
1、SQL Server中CASE WHEN:SELECT *,CASE WHEN NUM >=1 AND NUM < 2 THEN 0.25 WHEN NUM >=2 AND NUM < 3 THEN 0.5 WHEN NUM >=3 AND NUM < 6 THEN 0.75 WHEN NUM < 1 THEN 0 ELSE 1END SUMNUM FROM TEST 2、SQL Server获取上月1日:...原创 2021-05-07 20:05:51 · 949 阅读 · 0 评论 -
oracle函数trunc:ORA-01898:精度说明符过多
在使用TRUNC()函数的时候,想要截取yyyyMMdd形式的日期,于是使用到了TRUNC(SYSDATE,'yyyyMMdd'),查询出错:ORA-01898:精度说明符过多。 解决办法:TRUNC(SYSDATE)函数默认就是截取今日,因此后面不需要再指定形式,去掉‘yyyyMMdd’即可。...原创 2020-12-15 11:29:56 · 4995 阅读 · 0 评论 -
使用Redis实现MQ
整个过程,实际上就是利用Redis的功能,生产消息使用lpush入队,取消息就是rpop出队;生产消息publish发布消息到指定的频道,subscribe来订阅具体的消息。MQ实现的功能简单说就是将生产出来的消息来消费,具体的消费模式有点对点消费,发布\订阅模式的消费,Redis中也实现了点对点,发布\订阅这种方式,具体代码展示。常见的消息中间间有很多,比如ActiveMQ,RabbitMQ,Kafka等,这篇博客主要写一下用Redis实现MQ的功能。...原创 2020-11-07 15:57:33 · 2130 阅读 · 0 评论 -
MongoDB学习(一)
MongoDB基本概念以及安装操作就不做过多描述,主要直接进入正题,讲解其的一些基本操作。 某些截图来源于菜鸟教程:https://www.runoob.com/mongodb/mongodb-tutorial.html。 连接到数据库之后,查看有哪些数据库:show dbs 创建数据库:use DataBase(指需要创建的数据库的名字) 此时使用show dbs是查看不到刚创建的数据库的,我们需要向里面插入...原创 2020-05-29 17:26:40 · 1010 阅读 · 0 评论 -
Oracle中正则表达式的使用
关于正则表达式,在我之前的博客有写过,可以参考学习,传送门https://blog.youkuaiyun.com/qq_41061437/article/details/82258431。我们在使用数据库的时候,有时候会进行一些模糊查询,像MySql、SQL Server、Oracle中都有like语句的使用。最近因为一些业务原因,需要在Oracle中使用到正则表达式来进行一系列的匹配。...原创 2019-09-09 14:32:38 · 1428 阅读 · 0 评论 -
C#学习(五)——SqlClient连接Sql Server数据库,读取配置文件并创建数据库连接池
本文部分参考链接:https://www.cnblogs.com/eaglet/archive/2011/10/31/2230197.html C#中连接数据库有很多种方法,这里介绍一下SqlClient连接数据库,用来连接Sql Server数据库。 这里通过配置文件来获取配置信息,在项目中右键,选择添加,然后选择新建项,再选择应用程序配置文件...原创 2019-07-24 10:32:32 · 2149 阅读 · 0 评论 -
Redis的学习(四)——Redis集群搭建(6台linux)
一、redis-cluster架构图:架构细节:(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可(4)redis-cluster把所有的物理节...原创 2018-12-12 17:02:20 · 1594 阅读 · 0 评论 -
Redis的学习(三)——Redis主从配置(一台linux)
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障,如下图:说明:主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供...原创 2018-12-12 16:52:52 · 1169 阅读 · 0 评论 -
Redis的学习(二)——数据结构和命令
一、Redis的数据结构可参考:https://www.cnblogs.com/dijia478/p/8058775.htmlRedis的数据结构简单理解就是一个Map结构,key-value ,根据key操作value!二、操作①存储String常用的命令:赋值:取值:删除:数值的增减:②存储Hash常用命令:赋值:取值:...原创 2018-12-12 16:39:56 · 1133 阅读 · 0 评论 -
Redis的学习(一)——在linux上的安装
Redis是一种NoSQL数据库,泛指非关系型数据库。一、NoSQL数据库的优势①易扩展NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。②大数据量、高性能NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般...原创 2018-12-12 15:18:47 · 1148 阅读 · 0 评论 -
数据库连接池的学习(五)——DBUtils的学习
之前我们简单的写了数据库工具类,接下来学习一下第三方优秀的架包。Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。DbUtils是Apache组织封装的工具类!DBUtils是java编程中的数据库操作实用工具,小巧简单实用,①.对于数据表的读操作,他可以把结果转换成List,...原创 2018-09-27 15:23:20 · 695 阅读 · 0 评论 -
数据库连接池的学习(四)——Druid连接池
Druid 是目前比较流行的高性能的,分布式列存储的OLAP框架(具体来说是MOLAP)。它有如下几个特点:① 亚秒级查询druid提供了快速的聚合能力以及亚秒级的OLAP查询能力,多租户的设计,是面向用户分析应用的理想方式。②实时数据注入druid支持流数据的注入,并提供了数据的事件驱动,保证在实时和离线环境下事件的实效性和统一性③可扩展的PB级存储druid集群可以很方...原创 2018-09-26 20:54:04 · 747 阅读 · 0 评论 -
数据库连接池的学习(三)——C3P0连接池
C3P0是一个开源的JDBC连接池,支持JDBC规范。目前使用它的开源项目有Hibernate,Spring等。C3P0与DBCP的区别:①dbcp没有自动回收空闲连接的功能c3p0有自动回收空闲连接功能②dbcp需要手动设置配置文件(自己写Java代码度配置文件)c3p0不需要手动设置(自动读取配置文件)需要导入包:c3p0-0.9.1.2.jar首先需要添加...原创 2018-09-26 20:46:47 · 659 阅读 · 0 评论 -
数据库连接池的学习(二)——DBCP连接池
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar。 由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需...原创 2018-09-26 20:39:12 · 775 阅读 · 0 评论 -
数据库连接池的学习(一)——自定义数据库连接池
使用JDBC操作数据库,需要建立Connection,使用传统的JDBC操作需要每次创建Connection,创建Connection是一个非常消耗性能和消耗时间的过程,我们需要在提高程序性能,那么就需要减少每次创建创建连接带来的负面影响,解决这个问题我们将利用池子概念,预先创建一些链接放入池子中,如果需要操作数据,不用创建新的Connection,只需要在池子中获取即可,使用完毕放...原创 2018-09-26 19:58:03 · 695 阅读 · 0 评论 -
MySql的学习(四)——自定义函数、存储过程
一、自定义函数用户自定义函数是一种对MySql扩展的途径,其用法与内置函数相同。必要条件:(1)参数(2)返回值函数可以返回任意类型的值,同样可以接收这些类型的参数,参数理论上不能超过1024个。关于函数体:①函数体由合法的SQL语句构成②函数体可以是简单的SELECT 或INSERT语句③函数体如果为复合结构则使用BEGIN...END语句④复合结构可以包含声明、...原创 2018-09-07 19:37:58 · 2434 阅读 · 0 评论 -
MySql的学习(三)——索引、视图
一、索引索引即目录,索引主要是提高查询效率索引的分类:主索引:主键,不允许有null值唯一索引:也能唯一标识一条记录,允许为null值普通所以:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。复合索引(多列索引):MySql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分全文索引:全...原创 2018-09-07 16:56:28 · 644 阅读 · 0 评论 -
Mysql的学习(二)——多表查询
表之间的关系:一对一、一对多、多对多多表之间的约束靠外键约束。一、多表关系①一对一关系一对一关系在实际应用中不太多,因为可以直接建一张表两种建表原则:唯一外键对应:假设一对一是一个一对多的关系,在多的一方创建一个外键指向一的一方的主键,将外键设置为unique.主键对应:让一对一的双方的主键进行建立关系.②、一对多关系建表原则:在多的一方创建一个字段,字段作为外...原创 2018-09-07 11:18:57 · 745 阅读 · 0 评论 -
MySql的学习(一)——基本用法
CMD启动服务命令:net start mysqlCMD关闭服务命令:net stop mysqlprompt修改提示符一般数据库编码格式设置为utf-8,CMD窗口编码格式是gbk,在CMD读取时如果是乱码,可以使用set names 编码来修改显示的编码格式。自动编码(AUTO_INCREMENT)必须与主键组合使用,起始值为1;主键约束(PRIMARY KEY)一张表只有...原创 2018-09-05 18:09:51 · 601 阅读 · 0 评论