Oracle数据库基础知识点汇总

1.数据库 database

2.主键 ,表的唯一性标识的一列,主键的值永远不能重。primary key

主键的类型:单一主键:一列构成的;复合主键:多个列组合起来充当主键。多采用流水号,单一列当做主键

3.三大规则 :实体完整性约束:主键  :PK

      参照完整性约束:外键 :A表的主键出现在B表,在B中就被成为外键,简称FK,此时A为主表,B从表

从表外键的值需要参照主表主键进行填充,或者从表外键的值为空,如果外键的值在主建中不存在,禁止填充

      自定义约束:唯一性约束 unique(对NULL无效,可以有多个NULL),

            空值约束 not null

            默认值约束 default(对NULL无效,可以录入NULL)

            检查约束 check(列名=‘‘or列名=‘‘)(对null无效)

4. 存储字符串: Varchar2(长度 char)长度个汉字的长度

           Varcher2(长度)

  存储数字 NUMBER(n)

  存储日期 DATE

      DATE(N)错误书写

5.创建一个表的语法

      create table 表名(列名1 类型 primary key not null,

                列名2 类型 not null,

                列名3 类型 not null) ; (注意最后一个没有逗号)

插入数据到表中

      insert into 表名(列名1,列名2,列名3)

      values(列值1,列值2,列值3)列值的类型必须是列名的类型

查询语句的书写

      select 列名1,列名2,列名3 B(可以给列名起别名用于显示:

                      列别名需要加双引号的三种情况:1)区分大小写

                                     2)有空格

                                    3)特殊字符),B.列名

      from 表名 A(给表起别名A,然后在select中可以写A.列名),

        表名B(可以多表一起查询)(做多表连接的时候表的书写顺序,从表在前,主表在后,)

      where 条件语句 (先写筛选条件,后写连接)

      (where 可以做嵌套查询把另一个查询出来的结果作为筛选条件,但是不建议用,性能太差,一般把  select查询出来的作为from的一个虚拟表进行处理)

       order by asc 列名(正序)or desc 列名(逆序) 排序输出结果(order by 中 null最大)

改写语句

      update 表名 set 列值 (新)where 条件  满足什么条件就修改

删除语句 

      delete from 表名  整张表的数据删除

      delete from 表名 where 条件语句  有条件的删除数据

在表空间:

1.表空间与分用户管理

分用户管理在实现上有两种方式

方式1:物理隔离

每个用户的所有数据都存储到独立的表空间中,该表空间只装载该用户的所有表,这样一个用户的表空间发生问题,对其他用户没有影响

方式2:逻辑隔离

表归属用户所有,但是所有用户的表共用一个表空间

2.表空间(TABLESPACE)

就是表的容器,实际上就是一堆数据文件的集合,用户表中的数据,实际上存储到表空间的指定文件中.

表空间的分类:

1.临时表空间-----做交换分区

2.永久表空间------用以存储数据

删除表有两个:

    drop:可恢复

    ttruncate(数据截断)    :不可恢复  在oracle中有一个数据回滚,truncate就是绕过这个数据回滚,而drop可以回滚就恢复刚刚 删除的数据。

oracle数据库中的时间date:sysdate 就可以从表中获取 :select sysdate from dual;

字符串与日期之间的转换:to_date(‘1997-08-08‘,‘YYYY-MM-DD‘)

            to_char(sysdate,‘YYYY-MM-DD HH25:MI:SS‘ )

时间的运算按天

多表关联查询中,表之间的构型

1.一主多从

2.一从多主

3.单线连珠

自连接 : 一个表和自己建立连接,把自己虚拟成另一张表就可以连接啦

比如查询scott 下 emp 中 每个职员的管理者

SELECT A.EMPNO,A.ENAME,A.JOB,A.MGR,B.ENAME
  FROM EMP A,EMP B
 WHERE A.MGR=B.EMPNO

内连接(等值连接):

  只显示满足连接条件的数据,不满足的不显示;应用语境:应用于过去和现在,对既成事实的查询

外连接:以某一张表为基础,该表中的所有数据都显示,对应的从表,如果存在数据,则显示数据,如果不存在数据就显示NULL:对将来,全部的概念。

在Oracle中的语法:从表外键加(+);

比如查询scott下表emp所有人的管理者;

SELECT A.EMPNO,A.ENAME,A.MGR,B.EMPNO,B.ENAME
  FROM EMP A,EMP B
 WHERE A.MGR=B.EMPNO(+)

对未来尚未实现的梦想进行查询外连接去反就可以实现:就是取从表相应列为null,该部分数据表位将来时

查询将来可能被管理的人

SELECT A.EMPNO,A.ENAME,A.MGR,B.EMPNO,B.ENAME
  FROM EMP A,EMP B
 WHERE A.MGR=B.EMPNO(+)
 AND B.EMPNO IS NULL

这个例子可能不恰当,但是用法就这样

前面提到的排序 order by asc 正序 desc 倒叙也叫降序

多字段排序:依据字段分组,组内一字段一排序

分组统计函数 :

  min 求最小值

  max  求最大值(max min count可以对任意数据类型列取值)

  avg 求平均值(avg 与 sum 只能对数值类型列取值)

  sum 求和

  count 计算满足条件的记录数(自动忽略null值)

    count(列)只统计非空值,此列上所有不为null的参与计数

    count(*) 只要有一列不为空即可

    count五大统计函数中 具有筛选功能,

    用了聚合函数count,写在select中还有其他列名要查,就得进行聚合分组group by ,select出现的都得写在group by中。group by 子句中不能使用别的列别名进行分组,也不可以有子查询,可以有having子句。

sql语句的执行顺序

  1 from 获取数据

  2 where 筛选数据

  3.group by 聚合分组

  4.聚合函数运算

  5.having条件语句

  6.select 查询需要的列

  7 distinct 删除重复数据

  8 .order by 排序想要的数据

decode函数

   就是给字符表示的汉字意思显示出来。比如存入数据库 状态一栏信息,1代表活着.2代表死了

查询出来 1 或者2 别人看不懂我们就可以用 decode函数实现 decode(表名.列名,‘1‘,‘活着‘)这样如果是1就显示活着、

substr 函数

  用来 截取字符串 substr(‘abcdefg’,2,3)从第二个开始截取三个字符‘bcd’,如果2改成-2则顺序颠倒,如果3改成100截取到最后一个位置‘bcdefg’。

rowid:

  这是两个伪列;行的物理地址,以最快的速度,检索或者删除满足条件的记录

这个用到嵌套查询 我们查出要删除的重复数据的最大rowid然后把前边的我们不需要的全部删除

rownum:

  查询结果集中,每行的记录的行号。一般用于top-n分析;在select中直接加上rownum就会给查询出来的数据每行加上一个序号;然后可以在where条件中写 rownum<3  就可以获取前两行的数据。< 与!=一个意思,<=小于等于

大多数人说:rownum用来做分页查询:

在这我了解到rownum用来做top-n分析。就是对前几名的数据的获取,先是查询出来用某一列用order by排序作为虚拟表用rownum选择我们要的前几名然后在可以用一个order by 语句来选择我们想要的顺序输出,注意用什么来排序必须在上述的select 虚拟表中查出来的。

序列

create sequence 序列名  :用来产生一个递增的值,但不保证连续

删除 drop sequence 序列名

索引

作用:有助于提高查询效率

创建时机:一般在系统上上线运行半年,基于优化性能角度考量,将用户经常使用的查询条件列创建索引。

自动索引,oracle中存在主键索引和唯一约束索引

创建索引的语句create index 索引名 on 表名(列名,列名)可以一列 为单一索引可以多列复合索引

删除索引 是drop index 索引名

视图

view 创建视图 语句 create view 视图名字 as select 查询出来的数据 相当于一个虚拟表 真正项目中不会用到视图的

删除语句 drop view 视图名字

视图与原始表的关系:

视图只是原始表数据的引用,视图中,没有任何数据

当查询视图的时候,相当于将创建视图时select语句再执行一次,

视图的作用:混淆原始数据,重构数据,简化查询。

时间: 2024-10-23 16:35:39

Oracle数据库基础知识点汇总的相关文章

oracle数据库基础知识汇总—30天(二)

1.新建数据库实例 ORA-OO922:选项缺失或无效:用户名和密码设置不合规,当时不会报错,安装时就会出现这个错误 标识符命名规则:1.必须以字母开始.2.长度不能超过30个单字节字符.3.只能包括A-Z,a-z,0-9,_,$和#.4.不能在相同用户下建立两个同名的对象.5.不能使用保留字和关键字 在同一台机器上,可以同时启动多个数据库实例. SQL语句分类: DML数据操作语句(insert,update,delete):DDL 数据定交语句(create table,drop table

【数据库】数据库面试知识点汇总

转自:https://www.cnblogs.com/wenxiaofei/p/9853682.html 数据库面试知识点汇总 一.基本概念 1.主键.外键.超键.候选键 超键:在关系中能唯一标识元组的属性集称为关系模式的超键.一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键.超键包含候选键和主键. 候选键:是最小超键,即没有冗余元素的超键. 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Nul

第一章 oracle数据库基础

第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据文件(扩展名:.dbf)    1.6:控制文件(扩展名:.ctl)    1.7:日志文件(扩展名:.log)    1.8:模式和模式对象2.连接oracle数据库    2.1 SQL*Plus工具    2.2 PL/SQL Developer工具3.配置oracle数据库    3.1 配置监听

Oracle数据库基础入门培训视频课程_Oracle视频教程培训

课程目标 Oracle视频教程,本套风哥oracle教程培训入门学习内容包括Oracle版本介绍,Oracle基本概念,Oracle物理结构,Oracle结构,Oracle数据文件,Oracle控制文件,Oracle参数文件,Oracle启动与停止,Oracle高用性架构,Oracle数据库备份与恢复,Oracle单机/OracleRAC/OracleDataGuard等相关基础等. 适用人群 IT相关从业人员,非IT相关人员 课程简介 视频学习地址:http://edu.51cto.com/c

Oracle数据库基础入门《一》Oracle服务器的构成

Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle 服务器具备以下的特点: ● 能够可靠的进行多用户环境下大量数据的处理,允许多用户同时访问相同的数据. ● 保证数据访问的高性能. ● 有效防止对数据的非法访问. ● 对于故障恢复提供高效的解决方案. 一.Oracle 服务器的总体结构 Oracle 服务器同运行在操作系统下的很多程序一样,通过在后台运行一组

Oracle数据库基础知识

oracle数据库plsql developer 目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外键 创建删除索引 创建修改删除视图 二     SQL查询 基本的SQL语句 unionminusintersect 内连接外连接 子查询关联子查询 betweeninexists 复制表insert into selectselect into from 三     SQL查询优化 尽量少用 IN 操

最近面试oracle 数据库的知识点

1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracle使用的脚本语言为PL-SQL,而sql server使用的脚本为T-SQL 微观上: 从数据类型,数据库的结构等等回答 2. 如何使用Oracle的游标? 1).  oracle中的游标分为显示游标和隐式游标 2

Oracle 数据库基础——安装

一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数据库 PS: 1.候选键.主键.外键都是需要用户来定义的,一般来说,这些键的定义都会和业务.真实数据匹配. 2.NF范式:在关系模型数据库中为了排除数据的冗余.数据的完整性.排除新增或删除数据的异常,通常引入范式的概念: 范式简称NF,总计有6种:1NF\2NF\3NF\BCNF\4NF\5NF;

Oracle数据库基础1

一.准备工具 1.Oracle数据库:全名oracle Datebase ,是甲骨文公司的一款关系数据库管理系统: 2.PL/SQL : PL/SQL Developer是一个集成开发环境专门面向开发Oracle数据库的应用,PL/SQL也是一种程序语言,叫做过程化SQL语言. 二.创建一个用户 打开PLSQ软件,在users文件夹中右键创建用户,设置用户名和口令,在角色权限选项里创建两个角色,应用后关闭软件重新打开登录即可. 查看服务:按win+R键打开弹窗,输入services.msc打开计