![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
关系型数据库 & NOSQL数据库 以及使用的SQL
文章平均质量分 74
数据库相关类容
Phil Arist
迎着风 一直跑
展开
-
SQL中Exists用法
SQL中Exists用法原创 2022-10-24 15:07:17 · 7531 阅读 · 0 评论 -
SQLSERVER SQL性能优化
SQLSERVER SQL性能优化原创 2022-10-19 13:49:44 · 3405 阅读 · 7 评论 -
Oracle数据库表被锁了,如何解锁
1. 首先查看数据库中哪些表被锁了,找到sessionID:使用sql:select b.owner,b.object_name,a.session_id,a.locked_modefrom v$locked_object a,dba_objects bwhere b.object_id = a.object_id;OWNER :数据表的所有者用户OBJECT_NAME: 被锁住的表名SESSION_ID: 会话IDLOCKED_MODE: 锁级别锁级别分为6级:1级锁.原创 2022-04-28 16:07:45 · 15831 阅读 · 4 评论 -
oracle中常用的 SQL语句中进行时间加减
一:numtodsinterval(<x>,<c>),x是一个数字,c是一个字符串,表明x的单位,这个函数把x转为interval day to second数据类型常用的单位有 ('day','hour','minute','second')exampleSQL> select sysdate,sysdate+numtodsinterval(3,'hour') as res from dual;SYSDATE RES -----...原创 2022-04-27 09:32:53 · 3731 阅读 · 0 评论 -
EF Core codefirst数据迁移操作
摘要在开发中,使用EF code first方式开发,那么如果涉及到数据表的变更,该如何做呢?当然如果是新项目,删除数据库,然后重新生成就行了,那么如果是线上的项目,数据库中已经有数据了,那么删除数据库重新生成就不行了,那么该如何解决呢?Ef提供了一种数据迁移的操作。具体该如何操作呢。数据迁移步骤开发环境 vs2017+Mysql这里以web为例。具体该如何操作。1、新建一个web应用。发现Asp.Net Core站点,项目结构又有变化,项目结构如下:发现这里吧wwwro原创 2022-04-01 09:12:33 · 1473 阅读 · 0 评论 -
聊一聊数据库中的锁
背景数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚上,我可愁死了,这么多小姐姐,我翻张牌呢?办法当然是精兵简政,删除那些age>18的,给年轻的小姐姐们留位置...于是我在数据库中添加了一个定时执行的小程序,每到周日,就自动运行如下的脚本delete from `后宫佳丽` where age>18一开始还自我感觉良好,后面我就发现不对了,每到周日,这个脚本一执行就原创 2022-02-22 13:51:29 · 220 阅读 · 0 评论 -
关于如何在window下执行SQLSERVER的定时备份
引言在使用SqlServer Express 版本的时候发现,这个版本不支持通过数据库的代理方式进行数据库的维护。解决方案使用SQL语句加windows任务计划的方式解决具体步骤如下创建备份用的SQL文件 创建调用SQL文件的BAT文件 加入到windows的任务计划中具体步骤及文件SQL语句GODECLARE @backupTime VARCHAR(20)DECLARE @fileName VARCHAR(1000)SELECT @backupTime .原创 2022-02-15 15:06:26 · 661 阅读 · 0 评论 -
.NET+SqlServer 实现数据读写分离
如今,我们操作数据库一般用ORM框架现在用.NET Core + EFCore +SqlServer实现数据读写分离介绍为什么要读写分离?降低数据库服务器的压力如何实现读写分离?1.一个主库多个从库2.配置主库复制数据到从库为什么一个主库多个从库?一般查询多于增删改,这就是我们常说的二八原则,20%操作是增删改,80%操作是查询是否有缺点?有延迟如何解决延迟问题?比较及时性的数据还是通过主库查询具体如何实现?通过发布服务器,主库发...原创 2022-01-21 10:18:45 · 2232 阅读 · 0 评论 -
聊聊sql优化的15个小技巧
前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。1 避免使用select *很多时候,我们写sql语句时,为了方便,喜欢直接使用select *,一次性查出表中所有列的数据。反例:select原创 2022-01-14 15:48:07 · 149 阅读 · 0 评论 -
Windows10 安装oracle 11gR2 client 32位的方法
1、oracle11g客户端的系统安装环境。2、打开oracle客户端的安装目录,直接单击setup.exe进行安装。3、通过上述安装操作,出现以下报错提示。 在Windows10 中安装时,点击setup.exe之后,出现了:“[INS-13001]环境不满足最低要求”4、解决方法,如下(4.1)、首先打开解压后的win32_oracle11gR2_client文件夹,进入主目录打开stage子目录。(4.2)、然后打开cvu目录,找到cvu_prereq.xml文原创 2022-01-04 09:53:34 · 7918 阅读 · 0 评论 -
数据库事务的概念及其实现原理
目录1. 认识事务 1.1 为什么需要数据库事务 1.2 什么是数据库事务 1.3 事务如何解决问题 1.4 事务的ACID特性以及实现原理概述 2.并发异常与并发控制技术 2.1 常见的并发异常 2.2 事务的隔离级别 2.3 事务隔离性的实现——常见的并发控制技术 2.3.1 基于封锁的并发控制 2.3.2 基于时间戳的并发控制 2.3.3 基于有效性检查的并发控制 2.3.4 基于快照隔离的并发控制 2.3.5 关于并发控制技术的总结原创 2021-12-22 11:38:11 · 480 阅读 · 0 评论 -
SQL Server数据库复制
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法。第一步:连接数据库打开SQL server management studio,连接到服务器,在“服务器名称”上填写本机名称,可以在计算机-右键-属性中查看“计算机名”,然后点击“连接”,如下图所示:第二步:选择备份选中你要复制的数据库,右键-任务-备份,如下图所示:第三步:生成备份文件选择你要复制的目...原创 2021-12-10 10:27:47 · 11459 阅读 · 5 评论 -
数据库分页查询
分页查询,就是将将过多的结果在有限的界面上分好多页来显示,这个是很多网站常用的功能,也是最基本的功能,今天简单总结一下。 分页以前听人们说都是一项技术,但是我觉的不尽然。我认为分页是将数据库的数据,利用一些特殊的sql语句来进行查询,显示理所应当显示的内容,更恰当的说可以是对SQL语句的灵活运用,对逻辑思维的简单使用。 一,一般人们将分页查询分为两类:逻辑分页,物理分页,我们先从理论上理解一下: 1,逻辑分页概述:就是用户第一次访问时,将...原创 2021-12-07 18:02:01 · 5696 阅读 · 0 评论 -
如何破解已加密的数据库连接字符串
一:背景1. 讲故事前几天在调试物联柜终端上的一个bug时发现 app.config 中的数据库连接串是加密的,因为调试中要切换数据库,我需要将密文放到专门的小工具上解密,改完连接串上的数据库名,还得再加密贴到 app.config 中,烦的要死,内容如下: <appSettings> <!-- 数据库连接字符串 --> <add key="OLEDBConnStr" value="XfES27am6Muw48iB1GlMVqvUbq7/Pp9n原创 2021-11-28 15:31:19 · 735 阅读 · 0 评论 -
数据库中表主键ID自增设置
我们在项目中遇到oracle数据库需要进行对表增加自增字段,简单的分为两步:创建序列和创建触发器,详细步骤如下:1、我们先创建一张测试表,进行测试:2、创建序列,如下序列从1开始每次增加1最大为999999999:create sequence ry_id_seq(序列名)increment by 1(每次增加1)start with 1(从1开始)maxvalue 999999999(到这结束);3、查询序列:序列查询一次就会自增一次,每次查询都比上次多1select ry_id原创 2021-11-09 14:57:51 · 9465 阅读 · 0 评论 -
DBeaver操作数据表的拷贝的实现
通过DBeaver工具链接数据库后,我们就可以通过菜单或者命令功能来实现我们想要的目的。 (一)创建数据库 新建数据库,如下图所示: 在点击“确定”按钮后,可能会遇到失败,此时,我们可以直接通过sql语句来实现,在SQL控制台中输入CREATE DATABASE bien_test,执行sql命令就可以完成创建了。 (二)创建数据表 在bien_test数据库下新建表table_a(名称任意,只要是合法的名称即可),如下所示: 当点击右下角的“保存”按钮时,提原创 2021-11-08 17:56:34 · 11766 阅读 · 0 评论 -
SQL中IN方法的使用
SQL:"IN"FunctionTheINfunctionhelpsreducetheneedtousemultipleORconditions.译:IN函数有助于减少OR条件的复合使用。ThesyntaxfortheINfunctionis:译:IN函数的语法:SELECTcolumnsFROMtablesWHEREcolumn1in(value1,value2,....value_n);ThisSQLstatement...原创 2021-10-26 13:27:03 · 13906 阅读 · 0 评论 -
ORACLE SQL查询时使用判断语句
1.oracle中if..else的方法: 第一种:写表达式 SELECT CASE WHEN 2>1 THEN '真' ELSE '假' END AS WE FROM DUAL 第二种:固定 SELECT CASE 1 WHEN 1 THEN '字段的值是1' WHEN 2 THEN '字段的值是2' ELSE '字段的值3' END AS WE FROM DUAL 第三种:DECODE(.原创 2021-10-19 10:17:18 · 12999 阅读 · 0 评论 -
在Asp.NET Core中如何优雅的管理用户机密数据
背景回顾在软件开发过程中,使用配置文件来管理某些对应用程序运行中需要使用的参数是常见的作法。在早期VB/VB.NET时代,经常使用.ini文件来进行配置管理;而在.NET FX开发中,我们则倾向于使用web.config文件,通过配置appsetting的配置节来处理;而在.NET Core开发中,我们有了新的基于json格式的appsetting.json文件。无论采用哪种方式,其实配置管理从来都是一件看起来简单,但影响非常深远的基础性工作。尤其是配置的安全性,贯穿应用程序的始终,如果没能原创 2021-10-12 08:57:37 · 373 阅读 · 0 评论 -
Oracle数据库中设置主键自增
在oracle数据库中设置逐渐自增策略的方式有两种:建表:create table stu(sid int primary key, --设置id为主键sname varchar(10),sex int)1.使用序列实现自增(1)创建序列create sequence SEQ_Userinfminvalue 1 --最小值nomaxvalue --不设置最大值start with 1 --从1开始计数increment by 1 --每次加1个no原创 2021-09-29 11:24:42 · 6955 阅读 · 1 评论 -
ORACLE中对数据表进行回滚到某个时间点
在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢?1.备份还原就不用了吧,这样操作的话,每次对数据库的数据进行增删改的时候都需要进行一次备份操作,实在是太过麻烦。就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行连接。将数据导回去。2.使用oracle的还原操作,但是这个操作只能还原数据,表发生改变就不能了,切记。这个语句是这样的:---说明这个语句来自网络:地址:这里就是笔记。select * from 表名 as原创 2021-09-18 15:55:13 · 3606 阅读 · 0 评论 -
SQL 事务
SQL 事务 事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。 事务实际上就是对数据库的一个或者多个更改。当你在某张表上创建更新或者删除记录的时,你就已经在使用事务了。控制事务以保证数据完整性,并对数据库错误做出处理,对数据库来说非常重要。 实践中,通常会将很多 SQL 查询组合在一起,并将其作为某个事务一部分来执行。事务的属性 事务具有以下四个标准属性,通常用缩略词 ACID 来表示:原子性:保证任务中的所有操作都执行完毕原创 2021-09-08 14:51:36 · 175 阅读 · 0 评论 -
数据库的锁机制
数据库的锁机制,今天彻底理清楚。文章中有参考整理其他一些有价值的博客以及mysql官方文档的内容,如有侵权请联系删除。数据库锁概要数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。悲观锁一般就是我们通常说的数据库锁机制,以下讨论都是基于悲观锁。原创 2021-09-06 11:16:51 · 305 阅读 · 0 评论 -
plsql修改表字段alter
场景:在生产过程中有时候需要不同的环境中修改表字段,使用sql语句比较方便!1 演示--添加字段的语法alter table tablename add (column datatype [default value][null/not null],….);--修改字段的语法alter table tablename modify (column datatype [default value][null/not null],….);--删除字段的语法alter table t.原创 2021-08-16 17:01:01 · 3962 阅读 · 0 评论 -
Oracle数据库中关于处理时间的解决方案
往Oracle数据库中插入日期型数据(to_date的用法)INSERT INTO FLOOR VALUES ( to_date ( '2007-12-20 18:31:34' , 'YYYY-MM-DD HH24:MI:SS' ) ) ;查询显示:2007-12-20 18:31:34.0-------------------INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14:10' , 'YYYY-MM-DD HH24...原创 2021-08-30 17:12:07 · 1064 阅读 · 0 评论