数据库
文章平均质量分 90
奔跑de五花肉
这个作者很懒,什么都没留下…
展开
-
Oracle中start with…connect by prior子句用法
SELECT T2.* FROM (SELECT DEPT_CODE FROM SYS_USER_VS_DEPT WHERE USER_ID = '1' UNION SELECT WARD_CODE FROM SYS_USERS S WHERE S.USER_ID = '1') T1 LEFT JOIN SYS_DEPT T2...原创 2018-08-23 18:22:33 · 1457 阅读 · 0 评论 -
Oracle 随机获取N条数据
当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的1) select * from (select * from tablename order by sys_guid()) where rownum < N;2) select * from (select * ...原创 2019-07-05 12:34:17 · 258 阅读 · 0 评论 -
浅谈 DML、DDL、DCL的区别
一、DML DML(data manipulation language)数据操纵语言: 就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。SELECT 列名称 FROM 表名称UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值INSERT INTO table_name (列1...原创 2019-04-30 15:00:14 · 7643 阅读 · 0 评论 -
记一次Oracle引起的线上惨案——监听日志 listener.log listener.ora
周末,系统突然无法登录,怀疑服务器调整引起的,周一现场同事无法解决,求救, 部队医院无法远程,微信视频将无监听等报错解决后,依然无法登录,中午奔赴现场到了现场,plsql点击登录,显示未响应,卡死了 555555 ,重启服务器涛声依旧。。。。。。。。。意思到数据库问题,查找监听日志,确认问题:监听日志过大导致监听异常的bug,竟然达到了4G【在Ora...原创 2019-04-18 17:04:49 · 207 阅读 · 0 评论 -
oracle查询 表大小 行数
查看表大小select segment_name as tablename,bytes/1024/1024/1024 gb from dba_segments where segment_name='TEST' and owner='CESHI';TEST为表名 ,CESHI为用户名,注意要大写查看所有表的数据量行数select t.table_name,t.num_ro...原创 2019-04-18 11:35:17 · 4539 阅读 · 0 评论 -
oracle--dblink跨库中文乱码解决
场景:数据库B需要数据库A的数据信息数据库A: US7ASCII数据库B: ZHS16GBKdblink A->B : to_bSELECT * FROM pats_in_hospital@to_b 发现中文字段乱码原因:作为dblink的两端,在A通过to_b访问B数据库时,A为B的客户端,由于数据库A的字符集为WE8DEC,为了使A数据库服务器上的其...原创 2019-01-17 00:00:54 · 4512 阅读 · 1 评论 -
MySQL 中 6 个常见的日志问题
MySQL 里有两个日志,即:重做日志(redo log)和归档日志(binlog)。其中,binlog 可以给备库使用,也可以保存起来用于恢复数据库历史数据。它是实现在 server 层的,所有引擎可以共用。redo log 是 InnoDB 特有的日志,用来支持 crash-safe 能力。你一定听过 MySQL 事务的两阶段提交,指的就是在事务提交的时候,分成 prepare 和 c...转载 2019-01-23 20:46:05 · 394 阅读 · 1 评论 -
Redis存储总用String?你大概错过了更优的使用方法
Redis为我们提供了5种数据类型,基本上我们使用频率较高的就是String,而对其他四种数据类型使用的频次稍弱于String。原因在于: String使用起来比较简单,可以方便存储复杂的对象,使用场景比较多;由于Redis expire time只能设置在key上,像List、Hash、Set、Zset属于集合类型,会管理一组item,我们无法在这些集合的item上设置过期时间,所以...转载 2019-01-01 22:42:46 · 495 阅读 · 0 评论 -
Rownum,Rowid,row_number()及oracle分页查询
1.rownum和rowid都是伪列,但两者的根本是不同的 rownum是根据sql查询出来的结果给每行分配一个逻辑编号,不同的sql也就会导致rownum不同,但是rowid是物理结构上的,在每条记录Insert到数据库时,就会有一个唯一的物理记录。rowid可以说是物理存在的,表示记录在表空间中的一个唯一位置ID,在DB中唯一。只要记录没被搬动过,rowid是不变的。rowid相对...原创 2019-01-06 00:28:40 · 467 阅读 · 0 评论 -
oracle 手机通话记录数据显示
手机通话记录显示方式:模拟的字段表结构 老式手机的显示方式,即通话记录最原始状态: 代码如下 With Ate As( Select Row_Number() Over(Order By Time Desc) Rn, Relatedmobilde, Calltype, Time From ...原创 2019-01-06 00:02:24 · 429 阅读 · 4 评论 -
Oracle之 按照特定顺序排序
有一个人员表,需要查询出来的人员顺序和给出的EXCEL顺序保持一致: 查出所有数据: select * from person按照EXCEL人员顺序 QWERTY( 一个字母代表一个人名)需要借助函数 INSTR(str, substr)是返回substr在str中的位置,若不存在,则返回0 按顺序查询出人员 select * fr...原创 2019-01-05 23:34:55 · 1761 阅读 · 0 评论 -
Oracle 查看历史SQL执行记录
--个人最常用的方法--oracle 监控,可以查看执行过的SQL语句SELECT SQL_TEXT, LAST_ACTIVE_TIME,SQL_FULLTEXT FROM v$sql ORDER BY LAST_ACTIVE_TIME DESC--另外 PL/SQL Developer中Ctrl+E可以重新调出历史SQL记录,历史记录文件默认保存在 AppData\Roam...原创 2019-01-10 23:40:23 · 44719 阅读 · 1 评论 -
Oracle 常用通用函数、条件判断函数和多行函数
1|1通用函数通用函数就是可以作用于任何类型的函数(参数类型可以是number或varchar2或date类型)1)NVL(a,b)如果a为null值,则取b为返回结果,否则返回a。2)NVL2(a,b,c)如果a为null, 则结果为b, 否则结果为c。3)NULLIF(a,b)在类型一致的情况下,如果a与b相同,返回NULL,否则返回a。例如:比较10和10.0...原创 2019-09-22 18:30:48 · 1097 阅读 · 0 评论