zoukankan      html  css  js  c++  java
  • oracle基本语法(5)

    1>2个数值处理函数
    2>5个字符处理函数
    3>2个类型转换函数
    4>5个分组函数
    5>1个空值转换函数
    6>常见数据库对象
    7>内连接与外连接

    1、数值处理函数:
    round(参数1,参数2):进行四舍五入,参数1,需要处理的数据(原数据),参数2,截取位数;参数2>0,向右,<0,向左,=0,小数点位置
    trunc(参数1,参数2):直接截取,参数1,需要处理的数据(原数据),参数2,截取位数;参数2>0,向右,<0,向左,=0,小数点位置
    select count(*),round(avg(sal),0),deptno from emp group by deptno;
    select count(*),trunc(avg(sal),-2),deptno from emp group by deptno;

    2、字符处理函数:
    lower(参数):将所有字母都变成小写;
    upper(参数):将字母都变成大写;
    initcap(参数):首字母大写,其余小写
    length(参数):求字符串长度
    substr(参数1,参数2,参数3):取子串 ,参数1,被截取的字符串;参数2,从哪里开始截取;参数3,截取几位,截取的位数;

    参数:可以是字符串,也可以字符串类型的列名,普通字符串
    例如:查询员工的姓名和岗位,姓名要小写;
    select ename,lower(ename),job from emp;
    普通字符串:'HELlo wOrLd!'

    select lower('HELlo wOrLd!'),upper('HELlo wOrLd!'),initcap('HELlo wOrLd!'),length('HELlo wOrLd!'),substr('HELlo wOrLd!',2,6) from dual;
    虚表:dual 作用:处理跟查询表数据,表结构没有直接关系查询操作;
    select 456*789 from dual;
    select sysdate from dual;

    3、转换函数:to_char, to_date
    to_char(参数1,参数2):主要是将日期类型的数据转换成字符串类型的数据,还可以规范日期格式;
    参数1,是日期类型的列名或者数据;参数2 是格式,常用的格式:“yyyy-mm-dd hh24:mi:ss”
    用法:to_char(参数1,参数2):参数1,待转换列名;参数2:转换成格式
    用途一:单纯的规范日期数据的格式
    select ename, hiredate,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss'),job from emp;
    用途二:用在查询条件中,根据日期类型的列来查询;
    例如:查询在1981年10月1日之前入职的员工信息?
    select * from emp where to_char(hiredate,'yyyy-mm-dd')<'1981-10-01';
    to_date(参数1,参数2):主要是将字符串类型的日期数据转换成日期类型的;主要用在插入insert语句中
    用法:to_date(参数1,参数2):参数1,待转换的字符串;参数2:转换成格式

    例如:插入入职日期是1999-10-10的员工;
    insert into emp values(2222,'sunsun','CLERK',7902,'1999-10-10',2000,100,10); --》报错,格式不匹配
    insert into emp values(2223,'sunsun','CLERK',7902,to_date('1999-10-10','yyyy-mm-dd'),2000,100,10);
    select * from emp where ename='sunsun';
    4、分组函数
    count(参数):统计查询语句返回的行数;
    max(参数):最大
    min(参数):最小
    avg(参数):平均值
    sum(参数):求和

    注意:参数一般是列名

    5、空值转换函数
    nvl(参数1,参数2)
    功能:转换空值为一个特定的值
    参数1:需要转换到列名,参数2:需要指定的特定的值

    6、常见的数据库对象

    ①表(table):由行和列组成的二维表格;表格中的行也叫记录,列也叫属性;
    ②视图(view):用来简化查询语句的,可以让一个复杂的查询语句变得简单;
    例如:
    create view v0726 as
    select cname, chour, tname from course where cid in (select cid from score where sid=(select sid from student where sname='王五'));
    select * from v0726;
    可见创建视图的语法create view 视图名 as + select 语句;

    创建备份表:create table 表名 as select 语句
    create table empbf as select * from emp;
    赋系统权限grant 权限1,权限2... to 用户名;
    例如:
    普通用户没有创建view的权限,需要sys授权,命令:grant create view to scott;
    create session ----登录数据库,创建会话;
    create table ----创建表的权限
    create view ---创建视图的权限
    create sequence ---创建序列的权限
    create procedure ---创建存储过程的权限
    create synonym ----创建同义词的权限
    create tablespace ---创建表空间的权限

    ③索引(index):提高查询效率;如果有索引,可以查询的快一些,主要用在表中数据量很大的情况才有效果;
    select * from student where sphone=18183929386 ;
    创建索引语法:create index 索引名 on 表名(列名);

    注意:索引不宜多建,索引会占用表空间,牺牲了空间换取了效率...
    ④存储过程:数据库里编程;数据库中写代码(procedure),别名:存过 ,过过
    作用:将业务当中的业务逻辑、企业规则、公用的部分写成存储过程或者函数保存到数据库中,以便其他模块调用,简化程序开发和维护,提高效率和性能。
    create [or replace] procedure 存储过程名称
    (

    [arg1 [IN|OUT|IN OUT]] 数据类型,

    [arg2 [IN|OUT|IN OUT]] 数据类型,
    ...
    )

    is|as

    声明部分;

    begin

    执行部分;

    exception

    异常处理部分;

    end;

    7、内连接、外连接
    内连接:多表联合查询的另外一种写法;表名1 inner join 表名2 on 连接条件;
    select * from student, department where student.did=department.did;
    select * from student inner join department on student.did=department.did;

    注:外连接,并非主外键关系
    左外连接:left outer join;先将符合条件的数据查询出来,再将左表中不符合条件的数据查询出来;
    右外连接:right outer join;先将符合条件的数据查询出来,再将右表中不符合条件的数据查询出来;
    全外连接:full outer join;先将符号条件的数据查询出来,再将左表不符合查询出来,再将右表不符合查询出来;

    8、删除主键约束:
    alter table 表名 drop constraint 约束名;
    查找主键约束名语句:
    select owner,constraint_name,column_name from user_cons_columns where table_name='SALGRADE';

  • 相关阅读:
    Dockerfile指令学习 (转)
    手机触屏滑动图片切换插件swiper.js
    基于jquery网站左侧下拉菜单
    支持移动触摸设备的简洁js幻灯片插件
    基于jquery仿天猫分类导航banner切换
    基于jQuery图像碎片切换效果插件FragmentFly
    基于jQuery在线问卷答题系统代码
    基于CSS3自定义发光radiobox单选框
    基于jQuery左右滑动切换图片代码
    基于CSS3和jQuery实现的3D相册
  • 原文地址:https://www.cnblogs.com/yaoze2018/p/10503631.html
Copyright © 2011-2022 走看看