共计 2353 个字符,预计需要花费 6 分钟才能阅读完成。
一》数据库基本概念
数据:对现实生活事物形容的符号。
数据库:存储数据的库。
数据库管理系统:用户间接用来操作数据库的软件。
数据库利用零碎:在数据库管理系统之上的零碎,专门给普通用户进行应用的零碎。
数据库系统:用户 + 数据库管理系统 + 数据库 + 数据库利用零碎 + 数据库管理员
注:Oracle 遗记用户明码
1.cmd 关上 windows 命令窗口
2. 输出命令:sqlplus /nolog
3. 输出命令:conn /as sysdba
4. 输出命令:alter user 要批改明码的用户名 identified by 新密码;
[对于 sqlplus 不是外部命令的谬误,是因为 oracle 的环境变量配置有问题]
二》ORACLE 函数之单行函数
- 不扭转实在数据,只对数据做进一步润饰或解决显示
- 可和字段混合应用
伪表:实在存在的表,不便进行数据验证而长期存在;表名:dual
1. 字符函数
函数名 | 作用 | 示例 | 后果 |
---|---|---|---|
initcap(char) | 首字母大写 | initcap(‘nice’) | Nice |
lower(char) | 转为小写 | lower(‘NICE’) | nice |
upper(char) | 转为大写 | upper(‘nice’) | NICE |
ltrim(char,set) | 左剪 | ltrim(‘nice’,’ni’) | ce |
rtrim(char,set) | 右剪 | rtrim(‘nice’,’e’) | nic |
concat(char1,char2) | 字符串连贯 | concat(‘ni’,’ce’) | nice |
substr(char,pos,len) | 取子串 | substr(‘nice’,2,2) | ic |
instr(char,substr) | 查子串地位 | instr(‘nice’,’c’) | 3 |
translate(char,key,value) | 按字符映射翻译 | translate(‘nice’,’ne’,’01’) | 0ic1 |
replace(char,old,new) | 字符串替换 | replace(‘nice’,’c’,’cc’) | nicce |
2. 数值函数
函数名 | 作用 | 示例 | 后果 |
---|---|---|---|
abs(n) | 取绝对值 | abs(-3) | 3 |
mod(m,n) | 取余 | mod(3,2) | 1 |
sign(n) | 取符号 | sign(-3) | -1 |
ceil(n) | 向上取整 | ceil(3.2) | 4 |
floor(n) | 向下取整 | floor(3.2) | 3 |
round(m,n) | 四舍五入为指定小数位数 | round(3.236,2) | 3.24 |
power(m,n) | m 的 n 次幂 | power(3,2) | 9 |
sqrt(n) | 平方根 | sqrt(4) | 2 |
trunc(m,n) | 截断 | trunc(3.233,2) | 3.23 |
sin(n) | 正弦 | sin(0) | 0 |
cos(n) | 余弦 | cos(0) | 1 |
3. 日期函数
函数名 | 作用 | 示例 | 后果 |
---|---|---|---|
months_between(date1,date2) | 返回两日期间的月份 (若 date1 在日历中比 date2 早,则返回一个正数,反之则返回一个负数) | months_between(’01- 8 月 -2020’,‘01- 8 月 -2020’) | 0 |
add_months(date,m) | 返回把月份数加到日期上的新日期 | add_months(’25- 8 月 -2020’,-1) | 25- 7 月 -2020 |
next_day(date,week) | 返回指定新日期后的星期对应的新日期 | next_day(’23- 8 月 -2020’,‘星期一 ’) | 24- 8 月 -2020 |
last_day(date) | 返回指定日期所在月的最初一天 | last_day(’25- 8 月 -2020′) | 31- 8 月 -2020 |
round(date,p) | 按指定格局对日期进行四舍五入 | round(to_date(’25- 8 月 -2020′),’YEAR‘) | 1- 1 月 -2021 |
trunc(date,p) | 对日期按指定形式截断 | trunc(to_date(’25-8 月 -2020′),’YEAR’) | 01- 1 月 -2020 |
注:
- p 为 YEAR,round 按 1 - 6 月和 7 -12 月,四舍五入到最近的 yyyy 年 1 月;trunc 截取到本年第一天。
- p 为 MONTH,round 按 1 -15 日和 16-30 日,四舍五入到最近 mm 月的 1 日;trunc 截取到本月第一天。
- p 为 DAY,round 按周一至周三和周四至周日,四舍五入到最近的周日。trunc 截取到本周第一天。
三》oracle 函数之多行函数
- 对查问数据进行统计
-
不能和一般字段及单行函数混合应用,除非分组
函数名 作用 max(字段名) 返回该字段最大值 min(字段名) 返回该字段最小值 sum(字段名) 返回该字段的和 avg(字段名) 返回该字段平均值 count(*) 返回表记录数 count(字段名) 返回非空值数量 count(distinct 字段名) 返回去重后字段值数量
四》oracle 函数之转换函数
- to_number(数值类型的字符 ):将字符转换为数值
- to_char(数值或日期):将数值或日期转换为字符
指定显示格局:
9 示意占位,例:999,999,999 会将数字按三个一组逗号隔开。
0 示意占位,若理论数据位数有余,则用 0 补位。
L 示意人民币符号,$ 示意美元符号。
注:数值和字符之间可隐式转换。
- to_date(日期格局的字符):将字符转换为日期(个别新增应用,查问用 to_char)
罕用日期格局:yyyy-mm-dd
yyyy/mm/dd
‘yyyy” 年 ”mm” 月 ”dd” 日 ”‘
注:字符必须合乎日期格局;oracle 默认转换格局为日月年,例 ’25- 8 月 -2020’。
五》oracle 函数之其余函数
- nvl(字段名,新的值):若字段值不为 null,则返回该字段值;若为 null,则返回新的值。
- nvl2(字段名,解决 1,解决 2):若字段值不为 null,则执行解决 1;若为 null,则执行解决 2。
- decode(字段名,值 1,解决 1,值 2,解决 2,值 3,解决 3,…, 公共解决):若字段值和 decode 中条件值雷同,则执行对应的解决。若都没有,则执行公共解决。