欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle学习整理

程序员文章站 2022-05-13 23:53:35
Oracle数据库,基础知识点整合。希望看到的大神修正补充,感激不尽。 四大基本句式: 1.添加语句基本句式 Insert into 表名(字段名) values(对应字段的数据) 2.删除基本句式 delete from 表名 where 限制条件 限制条件不写会删除整张表的数据 3.修改基本句式 ......
  
  Oracle数据库,基础知识点整合。希望看到的大神修正补充,感激不尽。
四大基本句式:
  1.添加语句基本句式
    Insert  into 表名(字段名) values(对应字段的数据)
  2.删除基本句式
    delete from 表名 where 限制条件
      限制条件不写会删除整张表的数据
  3.修改基本句式
    update 表名 set 字段名 = 对应数据 where 限制条件
      限制条件不写会修改所有指定字段内的数据
  4.查询基本句式
    select 字段 from 表名 where 限制条件
      限制条件不写查询所有指定字段内的数据
      (字段处写入*代表全查询)
 
查询时需要注意:
  1.四大基本操作可以直接进行运算,字段处运算或限制条件处运算
  2.数据库中空值与非空值进行运算,结果为空
  3.起别名:
    (1)空格 + 别名
    (2)空格 + “别名” 与第一种的区别是可以区分别名的大小写
    (3)as + 别名
  4.限制条件中对空值进行判断:is null. 对非空值进行判断, is not null.
  5.模糊查询:
    %:select 字段 from 表名 where 字段 like ‘%x%’
    _:select 字段 from 表名 where 字段 like ‘_x_’
      区别是百分号0-无限位,下划线只能占一位
  6.对重复数据去重,distinct关键字,声明在查询字段前,如果查询多个字段需要所有字段重复才会去重
  7.限制条件处判断符号正常书写:>,<,=,>=,<=
  8.多个判断条件如果需要同时满足用and连接,如果满足其中之一用or连接
  9.in,any,all 关键字:
    in():括号中写入参数,指满足任意参数即可,相当于or;
    any():括号内写入参数,指满足任意参数即可,前面接判断符号
    all():括号内写入参数,指满足所有参数,相当于and;
  10.数据拼接||,双竖线左右为拼接的值
  11.查询字段进行排序:order by 字段 : 升序asc,降序 desc
  12.合并结果集:
    (1)union:合并结果集,对所有结果去重并且排序
    (2)union all:合并结果集,对结果不去重全部显示,不排序
 
单行函数:
  单行函数:对一行数据进行操作返回一条数据的函数
           字符型:
           1.拼接函数:concat(参数,参数)
           2.截位函数:substr(目标数据,起点索引,保留位数)
           3.返回字符索引函数:instr(目标数据,指定字符)
           4.替换函数:replace(目标数据,替换的新数据)
           5.去掉左右两端指定字符:trim(目标字符 from 目标数据)
           数字型:
           1.四舍五入函数:round(目标数据,保留到小数点后几位)
           2.截断函数:trunc(目标数据,保留到小数点后几位)
           3.取余函数:mod(被除数,除数)
          取一个多位数的个位,除数为10
          取一个多为数的十位数,除10取余10
           日期型:
           1.to_date(‘20010101’,’yyyymmdd’):字符串转换日期类型
           2.to_char(20010101,’yyyymmdd’):日期类型转换为字符串
           功能型
           1.decode(1,a,b,c,d,e):用于判断,如果a等于1则返回b,如果c等于1则返回d,否则返回e
           2.case  a  when 1 then 执行代码
                                when 2 then 执行代码
                                else 否则时执行代码
                                end
 
多表查询:
  根据连接方式
    (1)内连接:
      select 字段 from 表1, 表2  where 表1.字段 = 表2.字段
      select 字段 from 表1 inner join 表2 on表1.字段 = 表2.字段
    (2)外连接:
      左外连:select 字段 from表1, 表2  where 表1.字段 = 表2.字段(+)
          select 字段 from表1 left join 表2 on 表1.字段 = 表2.字段
          表1为主表,内容全部显示
      右外连:select 字段 from表1, 表2  where 表1.字段(+)= 表2.字段
          select 字段 from表1 right join 表2 on 表1.字段 = 表2.字段
          表2为主表,内容全部显示
      满外连:select 字段 from 表1 full join 表2 on 表1.字段 = 表2.字段
          会将两张表全部内柔都显示出来
      特殊的多表查询 内连接:将一张表通过起别名的方式分成两部分,进行多表查询
 
聚合函数:
    1.count(字段):计数函数,统计表中该字段有多少条数据
    2.sum(字段):求和函数,求该字段所有数据的和 
    3.max(字段):求最大值函数
    4.min(字段):求最小值函数
    5.avg(字段):求平均数函数
    6.伪列:rowid,存在于每一张表中,存放的是每条数据所对应的物理地址,
      所以rowid是唯一不重复的并且非空的,为保证count数据准确性,一般使用伪列
    7.伪字段:rownum默认只能从1开始从生成                             
    注意:sum函数求和,不会计算空值,由于avg函数求平均值需要对数据求和之后进行除法运算,
      所以avg函数一般与nvl去空函数嵌套使用,将空值赋值为0