oracle学习

1、oracle由Oracle公司提供的一种开源数据库

2、单表查询

    1)select....from...

    2)列做运算

        数字类型:        + - * /

        字符串拼接:     || 是oracle的,不适用于mysql

        日期做加减:       是时间的推移

                sysdate :     系统时间

                to_char():    把时间类型转化为字符串类型: to_char(日期,'格式')

                to_date():    把字符串转化为日期:to_date('字符串日期','日期格式')

3、别名:as 提高sql可读性

4、排序: order by  字段 asc|desc

5、and : 并列, or:或者,in():里边是零散数据

6、null处理: is [not] null

7、模糊查询: [not] like

8、组函数(聚合函数) :针对一组数据,调用一次

    sum(),count(),avg(),max(),min()

9、分组查询

    select  from   group by 字段

     确定分组的依据:“求每个/各个,,,”后面跟的这个字段:比如,求每个学生的总成绩:

                select name,sum(fenshu) from student  group by  name

10、对分组后数据再次过滤:having

    select ...from .. group by...having..

11、where与having区别

    1)语法:where出现在from之后;having出现在group by 之后

    2)查询条件:where后条件不能用组函数;having可以

    3)查询结果一样时,优先where

12、语法顺序: select ...from ...where..group by..having..order by ..DESC|ASC

13、oracle伪列(mysql不适用)

    rowid:数据库唯一标识一行数据

    rownum:对查询的数据进行编号

14、表连接:

    select ...from 表1   [连接方式] join 表2  on 连接条件

    连接方式:内连接、外连接(左外连接、右外连接、全外连接)、自连接

15、左连接:

    满足连接条件的数据+左表中不满足连接条件的数据

16、sql(结构化查询语言)分类:

    DQL:    数据查询操作            select

    DML:    数据操纵操作            insert/update/delete

    DDL:    表操作                        create/insert/drop

    TCL:    事务控制                    commit/rollback

17、Oracle数据类型:

    数字:number

        i. 语法1 :number   即可以保存小数,也可以保存整数

        ii. 语法2:number(n) :保存最大为n位整数

        iii. 语法3:number(n,m) : 总长度为n,小数位数为m

    字符串:

        varchar2(n): 最大可以存放n个长度的字符串 ,可变长字符串
        char(n): 最大可以存放n个长度的字符串 ,不可变长度

    日期类型:date  

    Oracle数据库中,没有boolean类型,描述boolean类型

             varchar2(1)  要求值必须是 ‘y’ ,’n’

18、约束 

主键 primary key

非空  not null 

唯一约束 unique

默认值:default  值

自定义约束 :检查约束  check    

    姓别必须是 ‘f’ 或 ‘m’    check(sex in(‘f’,’m’))

    密码必须是六位 check(length(pass)=6)

    手机号码必须是11:check(length(mobile)=11)

    邮箱必须含’@’ :check(email like ‘%@%’)

19、

    insert into 表()values()

    update  表  set

    datete from 表 where

20、序列 (sequence)

    

1. 创建一个序列 :create sequence 序列名; 默认从1开始,步长为1

2. 序列取值 序列名.nextval;  获得序列的下一个值

3. 把序列使用在添加数据上:(主要应用在主键生成中)

    insert into student(id,name)values(seq_test.nextval,‘testAA’);

序列使用的注意事项:

1)序列的值一旦使用,不会再重复,如果需要从头开始,需要删除序列重新创建  drop sequence 序列名

2)序列一旦创建,在当前用户下,所有的表都可以使用,建议一张表对应创建一个序列来保证主键的不重复,因此序列取名: seq_stu

3)序列的创建可以指定起始位置和步长

21、事务控制

    1、事务 :数据库中的最小操作单元。包括一条或者多条sql语句,这些sql语句要么同时成功,整个事务成功(事务提交 commit);在这些sql语句中如果有一条sql语句失败,所有的sql语句的操作需要撤销,事务失败(回滚:rollback)

    2、事务的原理:

        数据库的服务端  DBServer会给每一个数据库client分配一个空间(回滚段),回滚段保存client执行的sql语句,如果一个client的多条sql语句都成功,遇到commit,把当前client对应的回滚段中的sql一次发送到DBServer,并清空回滚段;如果在回滚段中的sql语句有一条失败,撤销所有影响数据的DML操作,清空回滚段。

注意:影响事务控制的操作是在client不同的client事务之间没有影响

    3、事务的范围:

    a) 开始:同一个事务中的第一条sql执行开始

        sql1   开始

        sql2

        ...

        sqln

    b) 结束 commit/rollback

   4、 事务特点(ACID)

        A: 事务原子性

        C: 事务隔离性

        I: 事务一致性

        D:  事务持久性



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle学习曲线是指学习和掌握Oracle数据库技术所需的过程和路径。下面是Oracle学习曲线的一般步骤: 1. 基础知识学习:首先,你需要了解数据库的基本概念和原理,包括关系型数据库、SQL语言以及数据库管理系统的基本功能和特性。 2. SQL语言学习:SQL是Oracle数据库的查询语言,你需要学习SQL语法、查询、插入、更新和删除数据等基本操作。 3. 数据库设计与规范化:学习如何设计和规范化数据库模式,包括表的设计、关系建立、主键和外键的定义等。 4. 数据库管理:学习如何安装、配置和管理Oracle数据库,包括创建数据库实例、用户管理、权限控制、备份和恢复等。 5. 高级特性学习:深入学习Oracle数据库的高级特性,如索引优化、查询调优、事务管理、并发控制等。 6. 数据库开发:学习如何使用Oracle数据库进行应用程序开发,包括使用PL/SQL编程语言、存储过程、触发器等。 7. 数据库安全性:了解如何保护数据库的安全性,包括用户认证、权限管理、数据加密等。 8. 性能优化:学习如何优化数据库的性能,包括索引设计、查询优化、存储优化等。 9. 数据库扩展:学习如何扩展Oracle数据库,包括分区、集群、备份和恢复策略等。 10. 持续学习和实践:数据库技术不断发展,你需要持续学习最新的Oracle技术和趋势,并通过实践项目来巩固所学知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值