Oracle笔记1
2015-07-24 13:22 Evan.Pei 阅读(213) 评论(0) 编辑 收藏 举报ORACLE:
目前分为12C(cloud云)和11G(grid网格)版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | --数据库基本概念 data --数据 database --数据库 DBMS --数据库管理系统 RDBMS --关系型数据库管理系统 ORDBMS --对象关系型数据库管理系统 --SQL概述 SQL(Structured query language)结构化查询语言 --SQL 分类 SELECT --数据库查询语句DQL INSERT DELETE UPDATE MERGE --数据库操作语句DML CREATE ALTER DROP TRUNCATE RENAME COMMENT --数据库定义语句DDL COMMIT ROLLBACK SAVEPOINT --事物控制语句TCL --OracloraDb11g_home1INSListener这个是网络监听器的服务,开始才能通过外部访问。 --OrcalService ORCL:数据库实例服务 --比较运算符: >,>=,<,<=,=,<>,!=,^= --特殊运算符:[not]between...end [ not ] like [ not ] in is [ not ] null --多条件使用:and or not 连接 /*--单行函数练习 查询与表无关 FROM 后面是 dual*/ --转小写,大写,单词首字母大写 select lower ( 'Hello' ), upper ( 'Hello' ),initcap( 'Hello evan' ) from dual; -------------------------------------------字符串 --去掉指定字符(去全部,去左边字符,去右边字符) select TRIM( 'H' FROM 'HELLOHH' ), ltrim( 'helloh' , 'h' ), rtrim( 'helloh' , 'h' ) FROM dual; --补齐(参数解释:数值,几位数,不够用什么补)输出:*100和100* select lpad(100,4, '*' ),rpad(100,4, '*' ) from dual; --查找位置,相当于indexOf,ORCALE的索引从1开始返回7 select instr( 'hello tom' , 'tom' ) from dual; --substr()//返回llo,ll select substr( 'hello' ,3), substr( 'hello' , 3, 2) from dual; --连接字符,和求长度 select concat( 'hello' , 'evan' ),length( 'abc' ) from dual; --替换 select replace ( 'hello' , 'h' , 'a' ) from dual; --------------------------------------------number --四舍五入[小数点后保留几位小数][小数点前保留几位] select round(123.456,2),round(123.456,-2),round(123.45,0), round(123.45) from dual; --去尾数 不进行四舍五入 select trunc(12.456,2),trunc(12.456,-2),trunc(12.456,0),trunc(12.456) from dual; --取模(求余数) select mod(13,2) from dual; ----------------------------------------date --获取当前日期 +2代表加两天或者-2 select sysdate +2 from dual; --加月份 select add_months(sysdate,3) from dual; --月份范围 select months_between(sysdate, hiredate) from emp; --获取当前月份的最后一天 select last_day(sysdate) from dual; --获取年月日year,month,day select extract( day from sysdate) FROM dual; --计算天数差 select round(to_number(TO_DATE( '2015-07-24' , 'YYYY-MM-DD' )-TO_DATE( '2015-07-23' , 'YYYY-MM-DD' ))) from dual; --计算小时差 select round(to_number(TO_DATE( '2015-07-24' , 'YYYY-MM-DD' )-TO_DATE( '2015-07-23' , 'YYYY-MM-DD' ))*24) from dual; ------------------------------------转换函数 --to_char:将日期或数值按指定格式转换成字符 select to_char(sysdate, 'yyyy-mm-dd HH24:MI:ss DAY' ) from dual; --hh:mi:ss day星期几 select to_char(123456) from dual; select to_char(105, 'L9,999,999.00' ) from dual; --¥105.00 --to_date:将指定格式的字符串转换为日期 SELECT TO_DATE( '1998-09-02' , 'YYYY-MM-DD' ) FROM DUAL; --to_number:字符串转换成数值 SELECT TO_NUMBER( '123' ) FROM DUAL; ----------对空值的转换,comm列中空的用0代替 select ename,nvl(comm,0) from emp; -------val2:[comm数据列,不为空用0,为空用1] select ename,comm,nvl2(comm,0,1) from emp; ----nullif(列名,为空用什么代替) ---------------------------------分支判断 ---case练习 select ename, deptno, sal, case when deptno=10 then sal+10 when deptno=20 then sal+20 else sal end as addsal from emp; ---decode select ename, deptno, sal, decode(deptno, 10,sal+10, 20,sal+20, 30,sal+30, sal) from emp; ---------------------------集合函数 --max,min,count,sum,avg select MAX (hiredate), MIN (hiredate), MAX (sal), MIN (sal) from emp; select count (*) from emp; ------------分组 --group by 将查询结果按指定列分组 --having 指定分组必须要满足的条件 --非分组列必须包含在group by 中 select deptno, max (sal), min (sal) from emp group by deptno having deptno in (10,20); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构