Oracle

                                                简介Oracle数据库:
① Oracle 服务器:安装在操作系统中的关系型数据库管理系统(Relationship/RBDMS)并对外提供存储及访问的服务(常规的:增删改查);
相关服务启动:运行(Windows+R)-> services.msc
[1]OracleServiceXE :数据库的核心服务,开启后才可以通过本机SQL*Plus访问数据库
[2]OracleXE(oraDbllg_home1)TNSListener:Oracle监听服务,对外提供链接,开启后才可以通过第三方应用程序或客户端进行访问;
② Oracle 客户端:对BDMS中数据的访问渠道。
[1].SQL*plus:DOS操作界面,运行:cmd->sqlplus用户名/密码(hr/hr)或者无权限的sqlplus/nolog->conn sys as sysdba
[2].isql*Plus:Web操作界面,访问http://localhost:8080/apex  Oracle11g版本已经取消

1.Oracle与其他数据库的区别

    ①分页查询语法

    ②特殊的数据类型 varchar2

    ③主键生成非空

    ④伪列:

        select * from (select * from test) where rownum <= 5

        注意:rownum只能写<= 不能写>=

    ⑤子查询区别:

        oracle的子查询也成为临时表 可以不为临时表起别名 

        mysql的子查询必须要起一个别名否则语法报错

2.主要使用sql语法,需要明确两点:查什么和从哪查

    ①sql书写顺序:select - from - where - group by - having - order by -

    ②sql执行顺序:from - where - group by - having - select - order by -

    ③sql分类:

        【1】数据查询语言 DQL(Data Query Language):

                    select - where - order by - group by - having

        【2】数据操作语言DML(Data Manipulation Language)

                    insert - delete - update

        【3】数据定义语言DDL(Data Definition Language)

                    create - drop - alter

        【4】数据处理语言TPL(Transaction Process Language)

                    commit - rollback

        【5】数据控制语言DCL(Data Control Language)

                    grant - revoke

        【6】循环:cycle 达到最大值后返回,最小值则循环

        【7】order 值:每次生成多个值

3.数据类型

    char(n)           固定长度字符串
    varchar2(n)    可变长度字符串
    nvarchar2(n)  可变长度字符串,长度为字符个数  
    number    可存储任意长度的浮点数
    number(5)     可存储总长度为5的整数

    number(5,2)  可存储总长度读为5的 整数+浮点数

4.约束

    主键约束:primary key

    唯一约束:unique

    非空约束:not null

    检查约束:check

    外键约束:foreign key

5.事务:

    ①概念:

        【1】事务时一个原子操作,可以由多条sql语句组成

        【2】在同一个事务当中,所有的sql语句被视为一个整体,如果sql都成功那么事务运行完毕,如果有一条失败则事务失败

    ②边界:

        【1】开始:上一个事务结束后的第一条增、删、改语句为事务的开始

        【2】结束:

                [1]显示提交:commit 关键字

                [2]隐式提交:一条创建表 | 删除表的语句 | 客户正常退出

                [3]显示回滚:rollback 关键字

                [4]隐式回滚:非正常退出(断电,Down机)

        【3】特性:ACID

                A:原子性(Atomic):同一事务中的多条sql语句时不可分割的整体,都成功才成功有一个失败则全部失败

                C:一致性(Consistency):事务开始前和事务结束后,数据库中数据保持一致;

                I:隔离性(Isolation):事务与事务之间相互独立,互不干涉

                D:持久性(Durability):事务执行后,对数据库的影响是永久的;

    ③原理:

    数据库会为没一个客户端维护一个 回滚段(缓冲区),一个事务中所有的增删改语句的执行结果都会缓存到回滚段中,只有当事务中所有SQL军正确执行后,提交事务(commit),此时才会将回滚段中的数据同步到数据库中,否则无论因为哪种原因导致失败,整个事务回滚(rollback);

    ④

6.操作优化之:生成自增值用来替代数据库的id自增

    create sequenct 序列名_参数 

    例:create sequenct demo_seq

    ①获取下一个值:select 序列名.nextval from dual

    ②获取当前值:select 序列名.currval from dual

    注:dual表:虚表(一行一列),维护SQL语法完整性

    ③序列参数

        【1】minvalue             最小值,生成的序列数最小是几

        【2】maxvalue            最大值,生成的序列数最大是几

        【3】start with            起始值,第一次使用时的初始值

        【4】increment by      递增数,每次使用增加几

7.视图:

   ①语法: create view 视图名 as 生成视图的sql

       注意:保存sql语句的虚表,用来简化查询,但不会独立存储数据,原表发生改变,视图的查询结果也会跟着改变,没有优化任何查询性能。

    ②操作:

        【1】create view 创建视图

        【2】drop view    删除视图

        【3】grant create view to 用户名            授权

        【4】revoke create view from 用户名     撤销

8.数据库管理系统 DBMS(Database Management System)

    ①网状结构数据库:以节点形式存户和访问

    ②层次结构数据库:以树状接口存储和访问

    ③关系结构数据库:以表格(Table)形式存储和访问

    ④非关系型数据库:Redis,MongDB.使用哈希表,以键值对形式存储和访问

9.单行函数

    ①语法:select 单行函数(列名)from 表名

    ②日期转字符串按指定格式转换成字符串

            年月日:            select to_char (sysdate,'yyyy-mm-dd')

            年月日时分秒:  select to_char (sysdate,'yyyy-mm-dd hh24:mi:ss')

    ③将自定义字符串按照日期格式进行转换成日期

            select to_date ('2008-01-01','yyy-mm-dd') from dual

    ④查询指定日期是星期几  函数的嵌套

            select to_char (to_date('2018-05-23','yyyy-mm-dd'),'day') from dual

    ⑤取余运算:参数1可以是列名

            select mod(5,2) from dual

10.聚合函数

        sum() 求总和
        avg() 求平均
max() 求最大
min() 求最小
mod() 取余运算

count() 统计行数(忽略null值)

11.表连接

   ①外连接:
    【1】左外连接:left join    //左 连接  以左侧的表为主表
    【2】右外连接:right join  //右 连接  以右侧的表为主表
    【3】全外连接:full join    //全外 连接  左右都为主表
    ②内连接:inner join//内 连接  两个表都是从表  例:显示  有部门的员工,有员工的部门

    ③自连接:以上随意哪个关键字   (物理上的一张表,逻辑上的两张表)


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值