oracle常用关键字和函数

数据库的增删改查:
    增:insert into ... values();
    例:insert into p_emp values(sq_emp.nextval,‘小白‘,‘保洁‘,7902,sysdate,600,null,30,0);
        commit;
    注意,表里边有多少列,values()里边的内容就有多少,一一对应关系。后边加分号结束语句,然后commit;提交。
    自增长序列:右击Sequences,new一个新的自增序列,起一个name,然后有一个nextval属性,实现自增长。

    查:select ... from ...
    例:select t.*,t.rowid from p_emp t(用t代表p_emp),加上t.rowid,可以直接在表里进行修改。单行语句可以不加分号!

    删除:delete ... where ...
    例:delete p_emp e where e.empon = 1;
        commit;
        从一个表里边删除某-行,地址是当empon = 1的那一行。
    改:update 表 set 表.属性 = ... where 表.属性 = ...;
    update p_emp e set e.ename  = ‘李华‘ where e.empon = 1;
        commit;

数据库的常用关键字:
   1.in---:在某个范围内
    例子:select * from p_emp e where e.sal in(400,300,5000);
        查表p_emp的工资分别为400,300,5000,的那一行。
    2.like---:模糊查询 %表示任意字符,_表示单个字符。
    例子:select * from p_emp e where e.ename like ‘T%‘;
        查询名字以t开头的,注意like后面必须加 ‘ ’,查询的为字符串的话,开头要大写。
          select * from p_emp e where e.ename like ‘K___‘;
        查询以字母k开头的,然后后边有几个字母,就加几个下划线。
    3.order by--- 排序,默认为正序排序,esc省略了,如果需要倒序排序,则在后面加desc
    例子:select * from e_emp order by e.sal desc
        查询工资表倒序排列。
          select * from p_emp e order by e.ename,e.sal desc;
          这种情况,是先把ename进行正序,然后在每个ename这个独立的区间内,通过工资进行倒序,desc只管着后边的。
          如果ename也想倒序,就在其后边加dese:  select * from p_emp e order by e.ename desc,e.sal desc;
          select * from e_emp order by 1,2 ;
          按照第一列和第二列排序;
    4.group by--- 按照某几列分组
        select e.job from p_emp e group by e.job;
        与前边不同的是,按照哪一列分组,就去查那一列,而不是 * 。
    5.having 过滤分组,是和group by 关键字一块用的
        select e.job from p_emp e group by e.job having count(*)>3;
    6.alter table p_emp add sex number 给表加上一列
    7.case when 类似于分支
      例子:select e.ename  as 姓名,
          case e.sex
              when 1 then
              ‘男‘
              when 0 then
               ‘女‘
              else
               ‘kk‘
              end 性别
          from p_emp as e;
    主要要有end结尾,可以把别名写在后边,默认吧as省略了

    8.set------设置某些属性
   9.distinct---去除重复
    例子:select distinct t.job from p_emp t;查询去除重复之后的工作
    10.between...and---(闭合区间, 即包括前面的数, 也包括后面的数)
    例子:select t.* from p_emp t where t.sal between 2000 and 3000; 工资在2000到3000的区间
    11.all---表示一个集合中所有的元素
    例子:select t.* from p_emp t where t.sal >= all(select t2.sal from p_emp t2);
    查工资最高的,all(里边装的是一个集合)
    12.any/some---表示一个集合中任意一个元素
    例子:select t.* from p_emp t where t.sal >= any(select t2.sal from p_emp t2);
    大于任何一个都满足条件,any(里边装的是一个集合)

常用函数:
   1.to_char---日期转换成字符型数据
        例子:select to_char(t.hiredate,‘yyyy-mm-dd‘) 日期 from p_emp t;
      to_date---字符转换成日期型数据
        例子:select to_date(‘1997-12-12‘,‘yyyy-mm-dd‘) 日期 from dual;
              传入一个字符串,转换为日期格式,因为没有from ,所以提供了一个虚拟表 dual
              select to_date(‘1997-12-12‘,‘yyyy-mm-dd‘) - sysdate 日期 from dual;
              传入的的时间和系统时间求差,返回的是相差的天数。
              select * from p_emp t where t.hiredate > to_date(‘1982-01-12‘,‘yyyy-mm-dd‘);
              时间之间做比较
    2.分组函数:
        mod---取余函数
        avg---平均数函数
        sum---求和函数
        count---计数函数
        例子:select t.job,sum(t.sal),avg(t.sal),count(t.sal) from p_emp t group by t.job;
        主要是和group by 分组一块用的;
    3.decode---类似于分支语句的函数
        例子:select t.ename,decode(t.sex,1,‘男‘,0,‘女‘,‘qqq‘) 性别 from p_emp t;
    4.substr---分割字符串
        例子:select substr(t.ename,1,5) from p_emp t;分割名字,从第一位到第5位,
              select substr(t.ename,1) from p_emp t;从第一位后面的所有
    5.max---取最大值函数
        例子:select max(t.sal) from p_emp t;
    6.min---取最小值函数
        例子:select min(t.sal) from p_emp t;
    7.trunc---取整函数
        例子:select trunc(12.555) from dual;
    8.ceil---向上取整函数
      floor---向下取整
        例子:select floor(12.555) from dual;
        注意,上述3个函数可以用在日期上的
    9.nvl---过滤空值函数,传入2个参数,并且只能写入数字
      nvl2---过滤空值函数2,是nvl的加强版,传入三个参数,为空返回第二个,不为空返回第三个
        例子:select nvl(t.comm,0) from p_emp t;如果有的项为空,那么就用赋值为0;
              select nvl2(t.comm,‘为空‘,‘不为空‘) from p_emp t;
    10.lower---将字母全部改为小写
       upper---改为大写
        例子:select upper(t.ename) from p_emp t;

    11.concat ---链接两字符串
        例子;select concat(‘tename‘,‘rrrr‘) from dual;
    12.wm_concat---列转行函数(也属于分组函数)
        例子:select wm_concat(t.ename) from p_emp t;返回一行,把所有名字整合成一块,一个长的字符串。不常用
时间: 2024-10-22 14:58:43

oracle常用关键字和函数的相关文章

Oracle常用的日期函数

--1.LAST_DAY函数:求指定日期所在月份的最后一天 SELECT LAST_DAY(TO_DATE('2014-12-02','YYYY-MM-DD')) FROM DUAL; --2.求指定日期是周几 SELECT TO_CHAR(TO_DATE('1989-01-05','YYYY-MM-DD'),'DAY') FROM DUAL; --3.求指定日期是本年的第几周 SELECT TO_CHAR(TO_DATE('1989-01-05','YYYY-MM-DD'),'WW') FRO

Oracle 常用的单行函数

数值函数: 1.round:返回四舍五入后的值 round(数字,参数) 参数不写默认为0 后面的参数指定了返回值的精度,或者说是从小数点第几位开始四舍五入,如果不带后面的参数,则默认为四舍五入取整数.精度截取以小数点为分界线,正数表示从以左到右截取并四舍五入,负数表示从右往左截取并四舍五入,精度值可以为小数. select round(1992.54, 1) from dual; select round(1992.54) from dual; select round(1992.54, -1

Oracle常用SQL时间函数

1.查询当前日期和时间 select sysdate from dual; 2.查询本月最后一天 select last_day(sysdate) from dual; 3.查询前后多少月 select add_months(sysdate,24) from dual; 4.查询下一周的星期几的具体日期(周日-周六:1-7) select next_day(sysdate,1) from dual; 5.时间转时间 select to_char(sysdate,'YYYY-MM-DD HH:MI

oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法

oracle中的聚合函数count.max.min.sum.avg以及NVL函数的用法 分组函数聚合函数对一组行中的某个列执行计算执行计算并返回单一的值.聚合函数忽略空值.聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用,所以有的时候也把其称之为分组函数.这类函数通常应用于报表统计中,以下展示Oracle常用的聚合函数的应用. 分组函数的介绍 作用于一组数据,并对一组数据返回一个值. 常见的分组函数有: Count 用来计算有效数据的数量 Min 返回一个数字列或计算列的最小

Oracle常用函数及其用法

01.入门Oracle 本章目标: 掌握oracle安装.启动和关闭 基本管理以及常用工具 简单备份和恢复 熟练使用sql,掌握oracle常用对象 掌握数据库设计和优化基本方法 http://jingyan.baidu.com/article/5d6edee228308899eadeec3f.html oracle数据库:一系列物理文件的集合 一个实例是对应一个数据库,但是在12c中(c代表云)RAC集群,可以多个实例对应一个数据库 03.SQL编程 1.oracle中between and

Oracle常用函数

前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使用: 往emp表中插入一条记录: SQL> insert into emp values(1234,'LIZELU','BOSS',1234,'1980-12-06',10000.0,0,30); insert into emp values(1234,'LIZELU','BOSS',1234,'1

oracle常用函数详解(详细)

作者:红旗飘扬 Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果. oracle 数据库中主要使用两种类型的函数: 1.  单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果, 比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整 数列).常用的单行函数有: Ø  字符函数:对字符串操作. Ø  数字函数:对数字进行计算,返回一个数字

十、oracle 常用函数

一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char):返回字符串的长度.substr(char, m, n):截取字符串的子串,n代表取n个字符的意思,不是代表取到第n个replace(char1, search_string, replace_string)instr(C1,C2,I,J) -->判断某字符或字符串是否存在,存在返回出现的位置的索引

Oracle 常用系统函数

2  字符函数 1.    replace( 字符串1,字符串2,字符串3) replace( char, search_string, replace_string) 功能:在"字符串1"中搜索"字符串2",并将其替换为"字符串3". 例如下面的命令是将所有员工名字中出现的"A"替换为"中国". SQL>selectreplace(ename, 'A', '中国') from scott.emp;