Oracle数据库04

一、用户user

  1、创建用户

    CREATE USER QIGX IDENTIFIED BY TIGER;

    这里的QIGX是账号,TIGER是密码。

  2、分配权限

    GRANT CONNECT,RESOURCE,DBA TO QIGX;

    CONNECT:临时用户;RESOURCE:更为可靠和正式的用户;DBA:数据库管理角色,拥有管理数据库的最高权限。

  3、取消权限

    REVOKE DBA FROM QIGX;



二、数据库表table

  



三、序列sequence

  序列是Oracle专有的对象,它用来产生一个自动递增的数列

  创建序列:

    CREATE SEQUENCE SEQ_NAME

    INCREMENT BY N

    START WITH N

    MAXVALUE N|NOMAXVAKUE 10^27 OR -1

    MINVALUE N|NOMINVALUE

    CYCLE|NOCYCLE

    CACHE|NOCACHE

  示例:

    创建序列:

      CREATESEQUENCE SEQ_EMPCOPY_ID START WITH 1 INCREMENT BY 1;

    使用序列:

      SELECT SEQ_EMPCOPY_ID.NEXTVAL FROM DUAL INSERT INTO EMPCOPY(EMPNO,ENMANE) VALUES(SEQ_EMPCOPY_ID.NEXT,‘TEST‘);

    查看序列状态:

      SELECT SEQ_EMPCOPY_ID.CURRVAL FROM DUAL;

    删除序列:

      DROP SEQUENCE SEQ_EMPCOPY_ID;



四、索引index

  索引类似字典和书的目录,是为了加快对数据的搜索速度而设立的。索引有自己专门的存储空间,与表独立存放。

  索引类型默认采用B树数据结构,数据全部集中在叶子节点。

  

  在数据库中用来加速对表的查询,通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O。

  索引创建后,在用户撤销它之前并不会用到该索引的名字,但是索引在用户查询时会自动起作用。

  索引创建的两种情况:

    自动:当在表上定义一个PRIMARY KEY或者UNIQUE约束条件时,Oracle数据库自动创建一个对应的唯一索引。

    手动:用户可以创建索引以加速查询。

  创建索引:

    CREATE INDEX INDEX_STU_SANME ON T_STUDENT(SNAME);

  删除索引:

    DROP INDEX INDEX_STU_SNAME;



五、视图view

  定义:

    视图是从若干基本表和(或)其他视图构造出来的表。

    在创建一个视图时,只是存放的视图的定义,也即是动态检索数据查询语句,而并不存放视图对应的数据。

    在用户使用视图时才去求相对应的数据。(视图也被称为"虚表")

  作用:

    可以限制对数据的访问,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。

    可以使复杂的查询变得简单。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。

    提供了相同数据的不同显示。

  创建视图

    CREATE OR REPLACE VIEW VIEW_STU AS(SELECT SNO,SNAME,GENDER FROM T_STUDENT);

    VIEW_STU是视图名

  查询视图

    SELECT * FROM VIEW_STU;

  删除视图

    DROP VIEW VIEW_STU;



六、其他

  1、事务

    事务(Transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。

    事务是为了保证数据库的完整性。

    在Oracle中,事务没有开始的语句。一个事务起始于一条DML(Insert、Update和Delete)语句,结束语以下的几种情况:

      用户显示执行Commit语句提交操作或Rollback语句回退。

      当执行DDL(Create、Alter和Drop)语句事务自动提交。

      用户正常断开连接时,事务自动提交。

      系统崩溃或断电时事务自动回退。

    Commit表示事务成功地结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都以交付实施。每个Commit语句都可以看成是一个事务成功的结束,同时也是另一个事务的开始。

    Rollback表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤销,数据库应恢复该事务到初始状态。每个Rollback语句同时也是另一个事务的开始。

    一旦执行了commit语句,将目前对数据库的操作提交给数据库,以后就不能用rollback进行撤销。

    执行一个DDL、DCL语句或从SQL*Plus正常退出,都会自动执行commit命令。

    提交或回滚前数据的状态:

      以前的数据可恢复。

      当前的用户可以看到DML操作的结果。

      其他的用户不能看到DML操作的结果。

      被操作的数据被锁住,其他用户不能修改这些数据。

    提交后数据的状态:

      数据的修改被永久写在数据库中。

      数据以前的状态永久性丢失。

      所有的用户都能看到操作后的结果。

      记录锁被释放,其他用户可操作这些记录。

    回滚后数据的状态:

      语句将放弃所有的数据修改

        修改的数据被退回

        恢复数据到以前的状态

        行级锁被释放

   

  2、rowid和rownum

    rowid在记录创建时生成,而且是不变的,直接指向硬件上的存储位置。

    用rowid直接访问时最快的,但也是人力无法做到的。

    只要记录没被搬动过,rowid是不变的。

    rownum是个伪列,查询的时候除非特别指定,否则不会显示。

    其主要的用用处是控制查询返回的行数

    只能使用:<,<=

    当rownum和order by一起使用时,会首先选出符合rownum条件的记录,然后在进行排序,这会给我们的查询带来难度。

    示例:

      SELECT ROWID,ROWNUM,EMP.*FROM EMP;

      

      SELECT ROWID,ROWNUM,EMP.* FROM EMP ORDER BY SAL;

      

      SELECT ROWID,ROWNUM,EMP.* FROM WHERE ROWNUM <= 5;  

      

  3、分页

    显示EMP表中薪水最高的钱五个雇员信息

      步骤1:显示按照工资排序的所有员工

        SELECT * FROM EMP ORDER BY SAL DESC;

      步骤2:把步骤1结果看做一张表,查询该表的前5条数据

        SELECT ROWNUM,T.* FROM (SELECT * FROM EMP ORDER BY SAL DESC) T WHERE ROWNUM <= 5;

  4、导入和导出

    使用exp导入和导出数据

    使用PL/SQL Developer 导入和导出数据

时间: 2024-11-25 08:23:09

Oracle数据库04的相关文章

Oracle数据库创建与安装_超越OCP精通Oracle视频教程培训02~04

_超越OCP精通Oracle视频教程培训02~04 学完本Oracle视频教程能掌握以下内容: Oracle数据库相关概念/体系结构/物理结构/逻辑结构 Oracle数据库GRID组件与ASM存储概念 VMware虚拟机的安装与主机环境的配置 Windows2008 Server操作系统安装 Linux操作系统安装与基本配置 Windows/Linux操作系统Oracle 11g数据库软件的安装 Windows/Linux操作系统Oracle 11g数据库的创建 Linux上Oracle11g基

GOLANG 在 UBUNTU 14.04 上使用 Oracle 数据库

本文参考了以下地址的文章: https://github.com/Centny/Centny/blob/master/Articles/How%20build%20github.com%3amattn%3ago-oci8.md? 一.安装oracle的OCI套件 1.OCI下载链接页面下载(instantclient-basic,instantclient-sdk) http://www.oracle.com/technetwork/database/features/instant-clien

04.风哥Oracle数据库实战入门-Oracle安装配置视频教程

04.风哥Oracle数据库实战入门-Oracle安装配置视频教程链接:https://pan.baidu.com/s/1UDhT_A_e62sZshQ5n2toYQ 提取码:pqca 请分享链接到5个QQ IT交流群后,加入以下QQ群找群主获取更多免费视频. 更多视频教程,请加入QQ群(只加一个即可):189070296336282998 更多视频课程请点击:http://www.itpux.com/oracle.html 原文地址:http://blog.51cto.com/oracle18

Oracle数据库备份恢复基础讲解_超越OCP精通Oracle视频教程培训12

Oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习Oracle数据库备份恢复概念及基础,包括:Oracle常见的故障类型.Oracle备份的重要性及备份策略.Oracle如何制定合适的备份策略保证高效备份.Oracle备份分类.MTTR,MTBR,MTTF.Oracle物理备份与逻辑备份.Oracle备份恢复的工具及Oracle还原与恢复介绍. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://e

.net中使用ODP.net访问Oracle数据库(无客户端部署方法)

.net中使用ODP.net访问Oracle数据库(无客户端部署方法) 分类: c# database2012-01-05 15:34 6330人阅读 评论(1) 收藏 举报 oracle数据库.netcomponentsdll ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://blog.ywxyn.com/index.php/archives/326

oracle数据库

一. 表空间,用户及授权 1. 创建表空间 Create tablespace waterboss Datafile 'c:\waterboss.dbf' Size 100m Autoextend on Next 10m 解释: Waterboss:表示表空间的名称 Datafile:表示存储到硬盘的物理路径文件 Size:用于设置表空间的初始的大小 Autoextends on:表示设置空间自动增长开启,超过容量自动扩容 Next:每次扩容的大小,表示10兆. 2. 创建用户 Create u

Oracle数据库集群入门培训教程_Oracle RAC集群体系架构解析

课程目标 风哥本课程讲解Oracle数据库基础入门培训教程之Oracle RAC集群体系架构,内容包括:集群基本概念.Oracle RAC集群架构.Oracle RAC集群相关术语.Oracle RAC集群相关进程.Oracle RAC集群技术不同版本的变化 适用人群 IT相关从业人员,Oracle dba,在校大学生 课程简介 风哥本课程讲解Oracle数据库基础入门培训教程之Oracle RAC集群体系架构,内容包括: 一.本课内容 01.Oracle集群有哪几种 02.Oracle集群基本

ORACLE数据库常用查询二

ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL> SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME MB AUTOEXTENSIBLE ------------------------------ ---------------------------------------------------

Oracle数据库备份恢复高级培训视频课程(案例、实战、深入、全面)

套餐介绍: 介绍:风哥Oracle数据库备份恢复培训(案例.实战.深入.全面),DBA初级到骨灰级的脱变. 内容:风哥Oracle数据库备份恢复及存储容灾基础,控制文件与参数文件详解,存储结构深入分析,Oracle底层技术,数据块解析,BBED深入解析,重做日志Redo深入解析,Undo回滚段深入解析,用户管理模式的备份恢复,RMAN备份恢复,Flashback闪回恢复管理,LogMiner日志挖掘技术,SQL_Loader,Oracle逻辑备份恢复迁移之exp/imp和expdp/impdp.