`
xiaomogui
  • 浏览: 239251 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle基础之sql基础知识

阅读更多

1. sql(Structured Query Language)是关系型数据库的基本操作语言。

        包括数据库查询(Data Query),数据操纵(Data Manipulation),数据定义(Data Definition)和数据控制(Data Control)。
         数据库查询(Data Query):用于检索数据,也就是select语句。
         数据操纵(Data Manipulation Language DML):用于改变数据,包括insert,update和delete。DML不会自动提交事物。
         事物控制语句(Transactional Control Language TCL):用于维护数据的一致性,包括commit, rollback和savepoint;其中savepoint语句用于设置保存点,以恢复部分数据的更改。
         数据定义(Data Definition Language DDL):用于建立,修改和删除数据对象。create,alter和 drop;DDL语句会自动提交事物。
         数据控制(Data Control Language DCL):用于分配和收回权限,包括grant和revoke。DCL也会自动提交事物。


2.sql语句规则
  sql语句的关键子不区分大小写;对象名和列名不区分大小写。


3.pl/sql 是oracle在标准sql基础上的扩展,允许定义变量和常量,允许过程语言结构(条件分支和循环)允许异常处理。

 

4.distinct 作用是要查询的所有数据,而不仅仅是紧跟它后面的那列。
      selecte distinct a,b from table; --返回数据的条件是a相等且b必须相等distinct 可否放在列的中间那?


5.NVL(expr1,expr2)
       如果expr1是null,则返回expr2,否则返回expr1,expr1和expr2可以是任意数据类型,但两者必须匹配。
   NVL2(expr1,expr2,expr3)
       如果expr1不是null则返回expr2,否则返回expr3。expr1可以是任意数据类型,而expr2和expr2可以是除LONG之外的其它类型。但是三者数据类型必须一致。


6.插入数据
  不使用列插入单行数据:必须提供所有列的数据,数据的顺序与列的顺序一致。
  insert into emp values(1,'gaci','man');
  使用列插入单行数据:对于未出现的列,默认值为null

  insert into emp(id,name,sex) values(1,'gaci','man');

  使用只查询插入数据:--将表emp2的数据全部复制到emp1里面
  insert into emp1(id,name,sex) select id,name,sex from emp2;
  insert /*+APPEND*/into emp1(id,name,sex) select id,name,sex from emp2;
  /*+APPEND*/表示直接装载方式,主要用于操作大批量数据

  delete删除表中的所有数据时,不会释放表所占用的空间;但是可以回退(roll back)
  truncate不仅删除表的数据,而其释放其空间;不可以回退。
  

7. 事务控制语句
      事务用于确保数据库的一致性,有一组相关的DML语句组成。事务确保该组DML语句所执行的操作要么全部执行成功,要么全部取消。
      事务主要有insert,update,delete和selete ... for update 组成,当执行这些语句时事务开始;当执行commit货rollback的时候事务结束。
  
  
   当执行事务操作时,oracle会在被操作的表上家上锁,以防止其它用户改变表结构;同时会在被操作的行上加上锁,以防止其它事务在相应的行上执行DML操作。
 
   当执行commit语句之后,会确认事务变化(更新数据等), 结束事务,删除保存点,释放锁。
   当执行DDl语句时会自动提交事物,create , alter,drop 等。
   当执行DCL语句Grant,revoke等
   当退化出sql/plus,pl/sql等
  
回退事务
     保存点(savepoint)--是事务中的一点,用于取消部分事务。
     设置保存点:savepoint a;
     回退保存点:rollback to a ;  -- 会取消a和面的操作
     取消全部事务:rollback;
 

只读事务(会话级别的) set transaction read only;
    只允许执行查询操作,不允许执行任何DML操作。尽管其它用户会话可能提交新事务,但只读事务不会取得新的数据变化,可以确保用户取得特定时间点的数据信息。

顺序事务  set transaction isolation level serializable;
     只读事务可以使用户取得特定时间点的数据信息,但是该用户在只读事务期间不能执行dml操作。而顺序事务则可以这样。
 
   数据分组
   数据分组通过使用group by字句,分组函数和having字句共同实现。group by指定要分组的列,分组函数用于统计结果,having用户限制分组显示结果。
  
   分组函数
   只能出现在选择列表,order by 和 having字句中,不能出现在where和group by字句中
   除了count(*)函数外,其它分组函数都会忽略null行
   当执行select语句时,如果选择列表同时包括列,表达式和分组函数,那么这些列和表达式必须出现在group by字句中。
  

脏数据---未提交事务

 

--查询带有下划线的名字
 select name from emp where name like '%a_%' ESCAPE 'a' -- a为转义字符

分享到:
评论

相关推荐

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

    通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录...

    pl/sql试题,oracle基础知识

    oracle基础知识以及pl/sql试题,对提高存储过程和触发器知识有帮助,关于lock机制

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二)

    通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录...

    OracleSQL基础知识论述.pptx

    OracleSQL基础知识论述

    oracle数据库基础知识

    这是我学习过程中整理的oracle数据库基础知识,里面包含了DML、DDL等相关语句。还解释了什么情况下该用什么样的SQL。包含了很多基础知识。欢迎大家收藏。

    Oracle 11g SQL和PL SQL从入门到精通〖送源代码〗

    通过学习本书,读者不仅可以掌握Oracle常用工具Oracle Universal Installer、Net Comfiguration Assistant、SQL Developer、SQL*Plus的作用及使用方法,而且可以掌握SQL语句和PL/SQL的各种基础知识和高级特征(记录...

    oracle基础知识入门

    oracle基础入门,有助于数据库初学者了解oracle!有助于学习~其实挺垃圾的,专骗分~

    精通Oracle 10g SQL和PL SQL.pdf

    通过学习《精通Oracle 10g SQL和PL/SQL》,读者不仅可以掌握SQL和PL/SQL的基础知识,而且还可以掌握SQL高级特征(正则表达式、Flashback查询、MERGE语句、SQL:1999连接)和PL/SQL高级特征(记录类型、集合类型、对象...

    +Oracle数据库基础知识讲义ppt(共80页).ppt

    2.4 SQL*Plus 掌握 数据库体系结构 物理存储结构:用于描述数据库的数据在物理磁盘上的组织方式。 逻辑存储结构:描述数据库管理系统内部组织和管理数据的方式。 Oracle的物理存储结构和逻辑存储结构在管理上...

    精通Oracle 10g SQL和PL/SQL

     本书是专门为oracle开发人员而提供的编程指南 通过学习本书 读者不仅可以掌握编写sql语句和pl/sql块的基础知识 而且还可以掌握sql高级特征 正则表达式 flashback查询 merge语句 sql:1999连接 和pl/sql高级特征 ...

    Oracle 11g SQL和PL SQL从入门到精通.part1

    通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录...

    ORACLE数据库教程-SQL基础知识篇.ppt

    ORACLE数据库教程-SQL基础知识篇.ppt

    Oracle知识,基础sql已经pl/sql的使用

    Oracle基础知识,用于进行数据库的增删该差操作,对菜鸟们还是有好处的

    Oracle PL SQL基础培训

    PL SQL基础知识讲解,方便更多初学者了解,掌握PLSQL的基础知识

    Oracle 12c PL/SQL程序设计终极指南

    本书以Oracle的最新版本12c为基础,呈现的是最新的PL/SQL技术,这一点也优于已出版的同类书.全书以一个综合性的人力资源项目为驱动,不仅能将各个理论知识点很好地融入实践,而且还能让读者体验完整的项目实操过程...

Global site tag (gtag.js) - Google Analytics