oracle数据库基础知识

本文详细介绍Oracle数据库的安装配置过程及SQL语言的基础知识,包括数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL),并深入探讨了数据库中的约束类型及其应用场景。此外还提供了关于查询优化的有效建议。

一、关于安装

1.1 数据库管理组件:

    net configuration assistant 配置监听程序
    通过服务中是否包含1TNSListener检查
    
1.2 创建数据库实例
    database configuration assistant创建,字符集,密码等配置
安装后的oracle有5个服务

 

二、理论知识


2.1 DDL data description language数据定义语言

    定义要在数据库中存储哪些信息
        drop 删除
        create
        alter 修改
        grant 赋予权限
        revoke 收回权限
        truncate 截断
    DML data manipulation language数据操纵语言

    对数据中表进行操作
        create创建
        read读取
        update更新
        delete删除
     DCL数据控制语言

        对数据库中对象进行权限管理的数据控制语言 
2.2 约束

    (1)主键约束

    主键约束每个表只能有一个,可以由一列或多列组成,多列组成的成为复合主键。

    主键约束保证本列值唯一且非空

    (2)外键约束

    又称为参照约束,即本表某列参照其他表某列。被参照的列不可以被删除。

    一般使用逻辑外键,而非物理外键。

    (3)唯一约束

    约束本列值不可以重复,值可以为空。一个表中可以由多个列设置唯一约束。

    一般认为唯一约束耗费性能,即插入时,数据库需要检索本列是否有此值。

    (4)检查约束

    检查约束指定列的值取值范围,或者长度等等。

check(length(phone)=11);
check(quantity>0 and quantity<25) 

        (5)非空约束

        约束此列不可以有控制。一般经常使用。

2.3 数据类型

    (1) 字符型

    varchar2 0-4000字节,char 0-2000字节

    (2)数字型

    number(p,s) p代表精度,s代表保留的小数位,用来存储定长的整数和小数

    float 浮点型 二进制

    (3)日期类型

    date 存储日期和时间,从公元前4712年到9999年,精确到秒

    timestamp 存储日期和时间,比date更精确,可以精确到小数秒,还能显示上午还是下午

    (4)其他数据类型

    blob 存储二进制数据 最大4G

2.2 select 查询

    (1) select 字段一般不建议用*模糊查询,主要原因如下:

        查询具体字段比*效率高

        返回必要的字段减少网络消耗

        表中增加新字段时容易导致原来的程序出现异常

    (2) order排序时如果列有null值,默认会看成最大值,即升序时null值在最后,降序时在首位。

        也可以指定null值位置:降序时指定null值排在order by 字段 desc nulls last,或者asc nulls first;

    (3) 使用表达式操作查询字段

        使用符号 || 表示连接,类似java中的+号

        例: select price || '*' || 1.25 || '=' || price*1.25

        结果为 58.2*1.25=72.25

      (4) 使用函数操作查询字段

        例 select subStr(priceName,1,6) as new priceName 即显示第1到6位字符,此处是从1开始

      (5) 排序条件

        order by关键字出现在最后,order by可以跟字段名,字段别名,表达式,字段所处位置

        select price as price1,num from product order by price1

        order by 2代表根据num排序

        order by price*num 根据两列乘积排序

        (6) 多条件排序

         多条件排序会先根据第一个条件排序,如果第一个条件中有相同数据,则根据第二条件排序。

         order by price asc,num desc  

        (7) where子句设置查询条件

        where后可跟关系操作符、比较操作符、逻辑操作符

        关系操作符:<, <=,  >, >=, =, !=, <>

        比较操作符:is null,like between and,in

        逻辑操作符:and, or , not

            between and 是闭区间,包含开始和结束 例: where price between 1000 and 7000

        (8) 连接查询

        最简单的连接查询是逗号将from后面的表名隔开,结果将取笛卡尔积,A表7条数据,B表8条数据,连接后结果为56条。

        在上面sql加入where条件或on条件,可以对结果集进行过滤,例:

        select * from emp e, salgrade s

        select * from emp e salgrade s where e.sal between s.losal and s.hisal

        等值条件的,可以使用A表的某列等于B表某列,如on a.id = b.sid

 

        
    

转载于:https://my.oschina.net/zcjlq/blog/1557709

学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础和SQL语言, 不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用 边学习、记忆。2 、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入 理解它们,但要分清几个关键的概念: instance (实例)、数据文件、日志文件、参数文件、数据文件与表空间的关系 3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作 ,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程 中你将对SQL和ORACLE体系结构有个更深入的了解。 4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具 体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习 PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA, 请继续。 5、可以根据自己的实际情况,进行有选择的学习,也就是说下面的内 没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能 调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样 可以在实际中成长,学会TROUBLE SHOOTING 目录 1.1 数据库基本知识 1.2 关系数据库 1.3 数据库设计基础 1.4 SQL基本命令 1.5 Oracle简介 1.6 启动和关闭Oracle 1.7 Oracle 命令复习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值