数据库
文章平均质量分 62
数据库相关的知识积累。
dreaming317
不忘初心,方得始终…
展开
-
Oracle的 nvl 函数及 nvl2 函数的应用
一、基本语法:nvl 函数:nvl 函数的基本语法为 nvl(E1, E2),如果E1为 NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了nvl2函数。如果两个参数的值都为空值,则返回空值。注意:第一个参数和第二个参数可以是任何类型的数据,但两个参数的数据类型必须相同(或能够由Oracle隐式转换为相同的类型)nvl2 函数:nvl2 函数的基本语法为 n...原创 2019-11-27 19:17:02 · 6267 阅读 · 0 评论 -
union 和 union all 的区别及使用说明
如果需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。union去重且排序(取唯一值,记录没有重复) union all不去重不排序(直接连接,取到得是所有值,记录可能有重复)union 语法:[SQL 语句 1]UNION[SQL 语句 2]...原创 2019-11-19 17:16:27 · 481 阅读 · 0 评论 -
方案调研:数据库适合部署在Docker容器么?
docker适合跑轻量级或分布式数据库,当docker服务挂掉,会自动启动新容器,而不是继续重启容器服务。原创 2024-05-26 23:32:47 · 1020 阅读 · 0 评论 -
数据库优化调优终极秘籍:从卡顿到飞驰,只因这些神奇技巧!
数据库优化和调优是确保数据库系统高效、稳定运行的关键步骤。优化可以从多个维度进行,包括硬件优化、数据库设计优化、查询优化、索引优化、存储过程优化、缓存策略优化等。原创 2024-04-22 00:54:11 · 1045 阅读 · 0 评论 -
SpringBoot 实现 MySQL 百万级数据量导出并避免 OOM 的解决方案!
动态数据导出是一般项目都会涉及到的功能。它的实现逻辑就是从mysql查询数据,加载到内存,然后从内存创建excel,以流的形式响应给前端。然而一旦数据量太大,达到百万级,千万级,大规模数据加载到内存必然会引起OOM,那么如何解决呢?原创 2023-04-03 20:36:17 · 1227 阅读 · 0 评论 -
Redis 和 MySQL 如何保持数据一致性?
在高并发的场景下,大量的请求直接访问MySQL很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,MySQL和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。原创 2023-03-29 20:53:31 · 2127 阅读 · 3 评论 -
25个必须掌握的数据库面试题,你知道吗?
今天说一说数据库。不管你是Java开发者还是Python开发者还是其他语言开发者,基本上面试的时候都会被问到数据库相关的知识点。所以掌握一些经常被问的数据库知识是十分重要的。原创 2023-03-29 01:53:53 · 2467 阅读 · 0 评论 -
数据库中存储过程和触发器有什么区别?
数据库中存储过程和触发器有什么区别?它们的使用场景有哪些?原创 2022-05-04 22:48:09 · 1434 阅读 · 0 评论 -
Oracle 中 Translate的用法
Oracle 中 Translate 的是再什么场景下使用,是如何使用呢?让我们一起来学习一下它的基本用法。原创 2022-01-17 17:10:51 · 697 阅读 · 0 评论 -
oracle数据库中对汉字跟英文字母混合排序
在做项目中,我们经常遇到一些对中文及英文混合排序的问题,有时束手无策,经过查询,发现了oracle数据库中对汉字跟英文字母进行混合排序的SQL,来一起看看怎么实现:user_info表中 字段 username 里存的即有中文也有英文,如何按照字母顺序进行排序:看下面sql语句:select *from user_infoorder by nlssort(translate(lower( substr(username,0,1)), 'abcdefghijk...原创 2021-09-24 20:32:55 · 825 阅读 · 0 评论 -
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
1、查看哪些表被锁住: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;2、查看引起死锁的会话:select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id原创 2021-03-15 18:12:23 · 1122 阅读 · 0 评论 -
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
批量删除表、视图、序列、存储过程、函数前,生成对应的SQL执行脚本,然后执行生成对应的脚本即可:一、删除数据库表-- 生成删除oracle数据库表的脚本语句select 'drop table ' || table_name || ';' as sqlscript from user_tables; --delete tables-- 带过滤条件删除oracle数据库表的脚本语句select 'drop table ' || a.table_name || '; --' || a.原创 2021-03-02 11:06:42 · 1205 阅读 · 0 评论 -
Oracle数据库 查询所有表
1. 查询当前数据库下的所有表select * from all_tables where owner = 'TEST';注:all_tables查出来是查得所有用户下的表,当然也包括你登录的用下的表,然后加一个where你要查的那个用户名就可以了。(记得用户名要大写)2. 查询当前数据库下某个实例数据库的所有表select * from all_tables where owner = 'TEST' and table_name = '表名';注:当然也包括你登录的用下的表,然原创 2020-07-13 10:47:43 · 45240 阅读 · 0 评论 -
MySql查询当天、本周、本月、本季度、本年的数据
1.今天SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW());2.昨天SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1;3.本周SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%...原创 2020-03-12 16:58:55 · 351 阅读 · 0 评论 -
sql优化技巧
1.比较运算符能用‘=’就不用‘<>’“=”增加了索引的使用几率2.事先知道只有一条查询结果时,使用‘limit 1’“LIMIT 1”可以避免全表扫描,找到对应结果就不会再继续扫描了3. 选择合适的数据类型很重要能用TINYINT就不用SMALLINT,能用SMALLINT就不用INT,磁盘和内存消耗越小越好4.大的delete,update or inser...原创 2020-02-28 22:25:23 · 256 阅读 · 0 评论 -
数据库update后的数据恢复
在开发过程中,我们有时候不注意,写的脚本漏了where 条件或者因其他原因,导致数据更新错误,在没有执行install语句前,可以根据时间点将数据恢复还原。查询修改的数据select cert_cd from crm as of timestamp to_timestamp('2019-10-22 16:30:46','yyyy-mm-dd hh24:mi:ss');1、修改还原单个...原创 2019-10-28 19:04:58 · 1714 阅读 · 0 评论 -
PLSQL Developer 12 注册码
PLSQL Developer 12 注册码product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3leserial Number:226959password: xs374ca亲测真实有效原创 2019-04-20 19:56:49 · 469 阅读 · 2 评论 -
SQL中,有效防止like的SQL注入,使用预编译SQL(?)写法
今天在写SQL语句的模糊查询时,遇到了防止like的SQL注入,通过查询,具体防止方法如下:Mysql数据库sql = " and indexNum like concat('%',?,'%') "Oraclesql = " like '%' || ? || '%' "SQL Serversql = " like '%' + ? + '%' "...原创 2018-12-18 09:59:11 · 3127 阅读 · 0 评论 -
删除SQL表数据时存在约束的解决方法
这几天在做项目时,清除库中的数据,但是各表之间都存在约束关系,无法使用 ‘ truncate table 表名’语句进行操作,通过查询资料,找到了解决方法,当表之间存在约束关联时,想要执行truncate删除语句,就要先将约束禁用掉,删除后在恢复约束,就可以操作了。具体方法如下:(1)查询要删除表存在哪些约束的SQLselect constraint_name, constraint_...原创 2018-12-07 10:22:52 · 16505 阅读 · 0 评论 -
SQL语句中,如何使用含有if....else...判断语句
在我们开发中,有时要对数据库中的数据按照条件进行查询,用到if else类似的语句进行判断,那么if else语句只有在存储过程,触发器之类的才有,但是要在sql上当满足某种条件上要取不同的字段值,刚开始我还不会,最后查了资料,发现使用case when语句就可以解决,而且各种数据库都支持。语法:case when 条件1 then 结果1 when 条件2 then 结果2 else ...原创 2018-12-01 16:19:23 · 28184 阅读 · 0 评论 -
Oracle数据库优化的总结及优化方法
1、减少访问数据库的次数。2、不要让数据库做得太多。(1)SELECT子句中避免使用' * ':ORACLE在解析的过程中,会将' * '依次转换成所有的列名, 这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。(2)sql语句用大写的:因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行。另外,在java代码中尽量少用连接符“+”连接字符串!(3)使用表的别名(...原创 2018-09-10 15:58:15 · 4170 阅读 · 2 评论