`
huangzhaorongit
  • 浏览: 26243 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ORCALE基础

阅读更多
一、关系数据库的一些概念
  
 1、主键的值一般不可以改变
  
 2、外键:指向另一个表或本表的主键或唯一键的字段。外键的值一定要和某一主键相同,或者为空。
  
 3、数据库对像:表,视图,序列,索引,同义词,程序(进程,函数,sql和pl/sql数据)4、sql command 类别
  
  data retrieval数据检索:select
  data manipulationlanguage (DML)数据操作语言:insert,update,delete
  data definition language (DDL)数据定义语言:create,alter,drop,rename,truncate
  transaction control事务控制:commit,rollback,savepoint
  data control language(DCL)数据控制语言:grant,revoke
  DCL 和DDL命令的执行会导致一次隐式提交,之前未提交的操作(包括DML 命令)都会提交写入日志文件,并在适当地时候写入数据文件。
  
 二、SQL的语法
  
 1) 连接号:||
  
 2) 把两个字符连接起来
  eg:select game_card_type_id||name from game_card_type;
  
 3) select distinct dept_id,title from emp: 对多个字段的唯一
  
 4) order by desc(降序)
  order by asc(升序)
  
 5) where column is (not) null
  
 6) like ‘_a%’  _表示一个字符。%表示多少字符
  like ‘%x\_y%’ escape ‘\’:显示包括x_y的字符
  
 7) where table1.column(+)=table2.column
  place the operator on the side of the join where there is no value to join to.
把(+)放在可能没有值的位置.
  
 8) 联接类型:
  equijoin:等式查询
  non_equijoin:不等式查询
  self:自己和自己建立关联
  out join:where a.column=b.column(+)
  可以用的操作符是:’=’,’and’,不可以用’or’,’in’
  
 9) COUNT 函数所用的列包含空值时,空值行被忽略。
  
 10) where 后的in | any | all 的区别
  in : 等于子查询的任何一个数
  any : 与子查询的每一个值相比,只要比其中一个大(小)就可以了
  all : 与子查询的所有值相比要比所有的的都大(小)
  !=ALL作用跟NOT IN 一样
  
 三、SQL*PLUS的环境(可以在glogin.sql中定义初始参数)
  
  1) START 命令用以执行一个已储存的文件,等同于@
  
  2) SAVE命令用以创建一个文件
  
  3) EDIT命令用以调用编辑器编辑已存文件的内容
  
  4) CHANGE 是SQL*Plus的编辑命令,用于在当前一行把旧文段转换为新文段
  
  5) DEL 命令用以删除文本中一行或多行文字
  
  6) SPOOL命令用以把查询结果储存在一个已有文件中,注意与SAVE区别
  
  7) GET命令用以一个文件的内容写进一个SQL块中
  
  8) SPOOL OUT命令用以把文件的结果发送到系统打印机。
  
  9) set pause off/on:设置页面的滚动。按enter看下一页。
  
  10) PAGESIZE:指定每页显示的行的数值,
  
  11) LONG:设置LONG类型数据显示的最大宽度
  
  12) FEEDBACK:设置查询返回记录的最大值
  
  13) DESCRIBE :用于显示表和视图的结构,同义词,或指定函数和过程的详述。
  
  14) Timing:可以看到语句执行的时间
  
  15) Autotrace:可以看到sql的执行计划,sysdba执行/home/oracle/product/9.2.0/sqlplus/admin/plustrce.sql脚本,而且必须把plustrace角色赋给执行用户。执行用户必须运行/home/oracle/product/9.2.0/rdbms/admin/utlxplan.sql
  
  16) 在各种数据类型中,只有NUMBER数据类型的默认显示是靠右对齐的,而CHAR, DATE和VARCHAR2是靠左对齐的
  
  17) QUIT 是SQL*PLUS命令,用以结束一个SQL*PLUS的对话。
  
  18) ttitle:
  ttitle ‘selina’ 设select 的结果的抬头为selina
  tti :显示ttitle的状态
  tti off/on
  btitle ‘end’ 设结果的尾部
  
  19) Column:
  
  a) column name heading ‘名字’format a15
  
  b) column id justify left format 999999
  
  c) column start_date format a9 null ‘not hired’//当字段为空的时候则显示成not hired
  
  d) column :显示所有的column设置
  
  e) column columnname:显示某一个字段的设置
  
  f) clear column :清除所有column设置
  
  g) column columnname clear:清除某一字段的设置
  
  h) 以上的column可用col代替.clear可以用cle代替
  
  13)定义变量
  
  用&:由用户输入变量值,此变量可以存在于where后,做为整个查询语句的变量。也可以在order by 后。做为字段的变量。也可以放在select 后,做为字段或表达式的变量。
  
  用&&:如果多个地方引用此变量。。只用输入一次
  
  SQL> SELECT empno, ename, job, &&column_name
  FROM emp
  ORDER BY &column_name;
  
  accept:由用户输入变量值
  accept 变量名 datatype prompt ‘告诉用户需要输入的信息:’ hide
  引用的时候:&变名
  define(undefined):一开始就定义变量值
  
 四、函数:
  
  1、字符函数
  
  .lower:把字符转成小写
  .upper:把字符转成大写
  .initcap:把单词的第一个字母变成大写
  .concat:连接字符 concat(‘good’,’morning’)=goodmoring
  .SUBSTR (column\expression, m[,n]) 用于对字符串进行截取操作,从第m个位置开始,把其后的连续n个字符的部分截取下来,如果m位负值,则从末尾开始计算。
  eg:substr(‘string’,1,3) =str
  substr(‘string’-3,3)=ing
  .INSTR('String', 'r')=3 返回子字符串所在的位置.
  .LPAD(sal,10,'*') =*******sal 函数将左边的字符串填充一些特定的字符
  .length: 用于返回表达式中的字符数,注意返回的是NUMBER。
  .NVL(expression1, expression2)
   NVL 函数用以把一个空值转换为一个实值,如:
   NVL(100/quantity, 0) ,要是quantity为空值,该函数返回一个0。
   如果两个字段类型不同必须进行转换。
  .Min():返回最小值。。如果是字符。。A 
 
  2、数学函数  
  .round:四舍五入
   round(2.566,2)=2.27
   round(45,-1)=50
  .trunc: 截断
   trunc(2.566,2)=2.56
   trunc(45,-1)=40
  .mod:
   mod(m,n):m-n*flood(m/n)   file://flood是取整数
  
  3、日期函数:  
  a) months_between(date1,date2):算date1和date2之间的月的数量,可以是小数可以是负数
  months_between(’01-sep-95’,’11-jan-94’)=1.9774194
  
  b) add_months(date,n):为date加上N个月,N只可以是整数
  
  c) next_date(date,’char’):查找date的下一个星期N
  next_date(’01-sep-95’,’FRIDAY’)=08-SEP-95
  
  d) last_day(date):查找date月的最后一天。
  
  e) rount(date):把日期四舍五入 
   rount(25-MAY-95’,’MONTH’)=01-JUN-95  
   rount(25-MAY-95’,’YEAR’)=01-JAN-95
  
  f) trunc(date):把日期截断  
  trunc (25-MAY-95’,’MONTH’)=01-MAY-95  
   trunc (25-MAY-95’,’YEAR’)=01-JAN-95
  
  g) 日期中RR与YY的区别,RR格式对日期作类似于舍入的操作,YY格式对日期作类似于截取的操作
  RR  YY
  1995 27-oct-95 1995 1995
  1995 27-oct-17 2017 1917
  2001 27-oct-17 2017 2017
  2001 27-oct-95 1995 2095
  用法:select to_char(sysdate, 'YY') from dual;
  select to_char(to_date('95-11-27', 'RR-MM-DD'), 'YYYY-MM-DD') from dual;
  select to_char(to_date('95-11-27', 'YY-MM-DD'), 'YYYY-MM-DD') from dual;
  
  4、转换函数
  1)TO_CHAR:
  TO_CHAR(date,’fmt’):fm前缀用来去除首尾的空字符或0
  TO_CHAR(total,’fm$999999’)
  
  如果想转成$0.25,那就要写成fm$9999990.99
  
  可以把日期转换成字符
  TO_CHAR(log_time,’MM/YY’)
  TO_CHAR(lot_time,’fmdd’’of;’’mm yyyy’)
  
  具体格式如下
  HH24:MI:SS AM-----------15:24:32 pm
  DD’’of’’MONTH-----------12 of MAY
  Ddspth------------------------fourteenth
  Ddsp--------------------------fourteen
  ddth---------------------------4th
  YYYY-----------------------1978
  MM-----------------------------12
  MONTH-------------------------MAY
  
  5、group 函数avg,count,max,min,stddev,sum,variance
  
 五、数据字典
  
  用户表:由用户创建,包含用户的内容
  
  数据字典:由系统建立,包含数据库的信息
  
  前缀:
  USER_ :由用户创建,显示用户拥有的所有对象。
  
  ALL_ :由受权的用户访问, 用户可以访问的对象名。
  
  DBA_ :由受了DBA权限的人访问,显示数据库的所有对象。
  
  V$ :由受了DBA权限的人访问,显示数据字典数据库服务器性能信息。通常是DBA用于显示系统的统计表和动态性能表。
  
  数据字典
  
  DICTIONARY数据字典提供用户可以访问的数据字典表和视图的描述。
  USER_OBJECTS显示用户拥有的对象。
  USER_VIEWS显示用户拥有的视图。
  USER_TABLES显示用户拥有的表。
  ALL_TABLES显示用户可以访问的表。
  ALL_VIEWS显示用户可以访问的视图。
  USER_CATALOG显示用户拥有的所有表,视图,同义词和序列。
  USER_CONS_COLUMNS显示带约束的列。
  DBA_CONS_COLUMNS显示数据库里的所有表,视图和同义词。
  USER_TAB_PRIVS_MADE:本用户赋给别的用户赋予权限的表
  USER_TAB_PRIVS_RECD:其他用户给本用户赋予权限的表
  USER_COL_PRIVS_MADE:本用户赋给别的用户赋予权限的字段
  USER_COL_PRIVS_RECD:其他用户给本用户赋予权限的字段
  ROLE_SYS_PRIVS:有什么系统权限赋给role
  ROLE_TAB_PRIVS:有什么关于表的权限赋给role
  USER_ROLE_PRIVS:role和用户的对应表
  
  常用的表
  
  user_objects:用户对象表(存储用户的所有对象)存储以下的类型的数据
  Selina Sql>select distinct object_type from user_objects;
  INDEX
  LOB
  PACKAGE
  PACKAGE BODY
  PROCEDURE
  SEQUENCE
  SYNONYM
  TABLE
  TRIGGER
  VIEW
  User_catalog:用户类表,存储以下的类型的数据
  Selina Sql>select distinct table_type from user_catalog;
  SEQUENCE
  SYNONYM
  TABLE
  VIEW
分享到:
评论

相关推荐

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 ...

    oracle基础知识入门

    对于初学者来说,掌握Oracle基础知识是进入数据库领域的第一步。本文将深入浅出地介绍Oracle数据库的一些核心概念和基本操作,帮助你快速入门。 一、Oracle数据库系统概述 Oracle数据库是由美国Oracle公司开发的,...

    oracle基础资料学习oracle的来下

    oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料oracle ORACLE 基础资料 基础知识 培训资料

    Oracle基础教程

    Oracle 基础教程 Oracle 是一款流行的关系型数据库管理系统,由 Oracle 公司开发和维护。作为一个功能强大且广泛应用的数据库管理系统,Oracle 具有强大的数据存储和管理能力,广泛应用于各种 Industries,包括金融...

    oracle基础教程ppt

    通过本Oracle基础教程PPT,你将逐步了解并掌握这些概念,为你的Oracle学习之路打下坚实基础。随着对Oracle的理解加深,你还可以进一步探索高级主题,如数据仓库、分布式数据库、RAC集群等。学习Oracle不仅是技术的...

    Oracle 基础知识 -大全- 原创整理.pdf

    以下将详细讲解Oracle基础知识,包括数据库管理、表的创建与维护、SQL查询技巧、权限管理以及PL/SQL编程等方面。 1. **Oracle数据库优势** Oracle数据库因其高性能、高可用性和安全性而受到青睐。它支持大规模并发...

    oracle基础知识考试题_答案.zip

    这个"oracle基础知识考试题_答案.zip"压缩包文件包含了关于Oracle数据库的基础知识学习材料,特别是针对初学者或者准备Oracle相关资格考试的人员。 首先,Oracle数据库的核心概念包括SQL(结构化查询语言)的使用,...

    oracle基础知识回顾与练习.zip

    本资料“oracle基础知识回顾与练习.zip”是针对Oracle数据库的基础知识进行整理,采用纯SQL语句的形式,适合初学者及需要巩固基础的用户进行学习和实践。 1. SQL基础 SQL(Structured Query Language)是用于管理...

    Oracle基础教程.pdf

    Oracle基础教程.pdf

    ORACLE基础知识及故障定位.pdf

    ORACLE基础知识及故障定位 学校oracle基础知识,包含所有orcale的数据库知识,以及常见问题解决思路,解决方案,问题怎么定位。

    oracle基础

    oracle基础创建表,删除表,修改表,查看表的结构和数据,添加数据语法:删除数据语法,更新数据语法:基础查询语法:

    Oracle基础教程源码下载 James Perry , Gerald Post 著,钟鸣 郝玉洁 等译

    《Oracle基础教程》是由James Perry和Gerald Post合著,并由钟鸣、郝玉洁等人翻译的一本教育性书籍,旨在帮助初学者和专业人士理解Oracle数据库的基础知识。源码下载部分提供了书中各章节实例的数据文件,使读者能够...

    oracle基础资料

    本文将基于"Oracle基础资料"这一主题,结合提供的压缩包文件"Oracle8i_9i数据库基础.doc",深入探讨Oracle数据库的基础知识,包括其核心概念、数据类型、SQL语句、表的创建以及备份恢复策略。 首先,Oracle数据库的...

    图灵邮电版oracle基础教程+数据库文件

    oracle基础教程,很适合oracle的学习和数据库的操作练习。同时里面主要是以练习为主。包括了ORACLE的基础操作。

    ORACLE基础培训文档

    这篇“Oracle基础培训文档”旨在为初学者提供一个全面了解Oracle数据库的平台,帮助大家掌握其基本概念、操作和管理技巧。 首先,我们从基础开始,Oracle数据库的核心是SQL(结构化查询语言),它是用于管理和处理...

    oracle基础教程.pdf

    "Oracle基础教程.pdf" 提供了丰富的学习资源,共分为21章,涵盖了Oracle数据库的核心概念和技术。 第1章:Oracle简介 本章将介绍Oracle数据库的历史、特点和应用领域,以及它在现代企业级数据管理中的重要地位。你...

    ORACLE 基础训练

    以上是Oracle基础训练的主要内容,通过深入学习和实践,你将能熟练掌握Oracle数据库的基础操作和高级特性。"Oracle基礎教程(一).ppt"至"Oracle基礎教程(三).ppt"中的材料将帮助你逐步掌握这些知识,为你的数据库管理...

    Oracle基础知识

    "Oracle基础知识"涵盖了SQL语言的基本概念以及Oracle 10G版本的相关特性。以下将详细介绍这些知识点。 首先,SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言。SQL基础包括以下几个部分...

    Oracle基础.ppt

    Oracle 基础知识点总览 Oracle 基础知识点可以概括为以下几个方面: 1. Oracle 概述 Oracle 是一种对象关系数据库管理系统(ORDBMS),它提供了关系数据库系统和面向对象数据库系统这二者的功能。Oracle 数据库...

Global site tag (gtag.js) - Google Analytics