orcale数据库_IT168文库
- 格式:pdf
- 大小:187.31 KB
- 文档页数:14
Oracle数据库管理系统简介Oracle数据库管理系统(Oracle Database Management System)是由美国甲骨文公司(Oracle Corporation)开发和推出的一款关系数据库管理系统。
它是世界上最广泛使用的数据库管理系统之一,被广泛应用于企业级应用程序的数据存储和管理。
功能特点高性能和可扩展性Oracle数据库管理系统具有优秀的性能和可扩展性,能够处理大规模数据以及高并发访问的需求。
通过使用Oracle Real Application Clusters(RAC)技术,可以实现数据的共享和并行处理,从而提高系统的吞吐量和响应时间。
数据安全性Oracle数据库管理系统提供了多层次的数据安全措施,包括用户身份验证、数据加密、访问控制和审计功能等。
通过使用Oracle Advanced Security插件,还可以加强数据的加密和网络安全性。
此外,Oracle数据库还支持灾难恢复和备份恢复功能,以保证数据的可靠性和可用性。
强大的数据处理能力Oracle数据库管理系统支持丰富的数据处理功能,包括数据查询、事务处理、数据分析和数据挖掘等。
它提供了强大的SQL语言和PL/SQL编程语言,可以满足各种复杂的数据处理需求。
此外,Oracle数据库还支持存储过程、触发器和视图等高级数据库对象,帮助用户实现灵活的数据操作和业务逻辑。
易用的管理工具Oracle数据库管理系统提供了一系列易用的管理工具,包括图形化管理界面和命令行工具。
通过这些工具,管理员可以方便地管理数据库的配置、监控和性能优化。
此外,Oracle数据库还支持自动化管理和自动维护功能,可以减轻管理员的工作负担。
应用场景Oracle数据库管理系统广泛应用于各种企业级应用程序,包括金融、电信、制造、物流、医疗和政府部门等。
它被广泛用于以下场景:企业级数据管理Oracle数据库管理系统可以管理大规模的企业级数据,包括客户数据、产品数据、交易数据和员工数据等。
ORACLE数据库概述ORACLE数据库是一种关系型数据库管理系统(RDBMS),由甲骨文公司(Oracle Corporation)开发和提供支持。
它是全球最受欢迎的数据库之一,用于管理和存储大量的结构化数据。
ORACLE数据库提供了一套功能强大且可靠的工具和技术,用于处理数据的存储、检索、处理和管理。
1.高可用性:ORACLE数据库提供了许多高可用性的功能和技术,如数据冗余、备份和恢复、故障转移和数据复制。
这些功能可以确保数据库系统的稳定运行,并在故障发生时保持数据的完整性和可用性。
2.扩展性:ORACLE数据库可以轻松地进行水平和垂直扩展,以满足不断增长的数据需求。
它支持分布式数据库和集群,可以在多台机器上分布和处理大量的数据。
3.安全性:ORACLE数据库提供了强大的安全功能,可以保护敏感数据免受未经授权的访问和恶意攻击。
它支持数据加密、访问控制、用户认证,以及审计和监控功能。
4.性能优化:ORACLE数据库具有先进的查询优化器和执行计划生成器,可以自动调整查询和事务的执行计划,以提高性能。
它还提供了丰富的性能监控和调优工具,用于识别和解决性能瓶颈。
5.灵活性:ORACLE数据库支持多种数据模型和数据类型,包括关系数据模型、对象数据模型、XML数据模型和空间数据模型。
它还提供了丰富的数据处理和分析功能,包括复杂查询、数据挖掘、数据聚合和报表生成。
6.可伸缩性:ORACLE数据库可以在各种硬件和操作系统平台上运行,并且可以通过添加更多的节点和存储来扩展容量和性能。
它还支持混合云环境,可以与公有云和私有云集成。
ORACLE数据库具有广泛的应用领域,包括企业资源规划(ERP)、客户关系管理(CRM)、供应链管理(SCM)、电子商务、金融服务、电信和医疗保健等。
它被全球许多大型和中小型组织广泛采用,包括政府机构、金融机构、制造业、零售业和互联网公司等。
除了关系型数据库功能,ORACLE数据库还提供了许多附加功能和工具,用于开发和管理数据库应用程序。
Oracle数据库Oracle数据库是管理数据的一种软件系统,它可以帮助用户快速地存储、管理和检索大量的数据。
Oracle数据库由Oracle公司开发,它是世界上最强大、最可靠的数据库之一,被广泛用于企业级应用程序和数据库管理系统。
一、Oracle数据库的基础知识1. 数据库结构Oracle数据库由一个或者多个表空间组成,每个表空间包含一组数据文件。
一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。
2. 数据库对象Oracle数据库中的每个数据对象都具有一个唯一的名称,例如表(table)、视图(view)、序列(sequence)、索引(index)和存储过程(procedure)等。
它们都被保存在表空间中的数据文件中。
3. SQL语言Oracle数据库主要使用SQL语言来处理数据,包括数据增删改查等常用操作。
二、Oracle数据库的特点1. 效率高Oracle数据库采用高效的管理和存储技术,可以快速访问和操作大量数据。
它具有高速的缓存机制,可以快速地执行查询和更新操作。
2. 可靠性强Oracle数据库拥有高度稳定的系统架构和自动维护机制,可以保证数据的安全性和可靠性。
它可以实现多重备份,在数据发生意外错误时可以快速恢复。
3. Heterogeneous ConnectOracle数据库可以通过网络协议和连接程序实现异构连接,支持其它数据库软件,如MS SQL Server、IBM DB2等。
4. 扩展性强Oracle数据库可扩展性强,可以设计和构建分布式系统,支持跨平台分布式数据库。
5. 多功能性Oracle数据库提供多种功能,包括多种语言的支持,丰富的安全控制和数据库监视等。
6. 可伸缩性Oracle数据库可以支持大量的并发用户,可以处理多种不同的应用程序。
三、Oracle数据库的应用领域Oracle数据库被广泛应用于企业级应用程序和数据库管理系统,主要应用于以下几个领域:1. 金融领域Oracle数据库被广泛用于金融事务处理系统,包括银行、证券、保险和期货等金融机构的资金结算和清算等数据处理。
OracleOracle 是一个关系型数据库管理系统 RDBMS),由甲骨文公司开发和销售。
它是一种通用的数据库管理系统,可以运行在各种平台上,包括 Windows、Linux、Unix 和 macOS。
Oracle 数据库以其高性能、可靠性和可扩展性而闻名。
Oracle 的主要特点包括:高性能:Oracle 数据库使用了一种叫做 "Oracle Real Application Clusters" RAC)的技术,可以将多个数据库实例组合在一起,以提高性能和可靠性。
可靠性:Oracle 数据库使用了一种叫做 "Oracle Automatic Storage Management" ASM)的技术,可以自动管理数据库存储,并确保数据的安全性和可用性。
可扩展性:Oracle 数据库可以支持非常大的数据库,并且可以轻松地扩展以满足不断增长的需求。
Oracle 数据库被广泛用于各种行业,包括金融、零售、制造业和医疗保健等。
Oracle 数据库的版本包括:Oracle Database Standard Edition:这是 Oracle 数据库的基本版本,适用于小型企业和部门。
Oracle Database Enterprise Edition:这是 Oracle 数据库的企业级版本,适用于大型企业和组织。
Oracle Database Exadata Edition:这是 Oracle 数据库的高性能版本,适用于需要极高性能的应用程序。
Oracle 数据库的学习资源包括:Oracle 官方文档:Oracle 提供了全面的官方文档,涵盖了 Oracle 数据库的各个方面。
Oracle 在线培训:Oracle 提供了各种在线培训课程,帮助用户学习 Oracle 数据库。
Oracle 认证:Oracle 提供了各种认证考试,帮助用户证明他们对 Oracle 数据库的掌握程度。
oracle数据库基础教程Oracle数据库是一种关系型数据库管理系统,被广泛用于各种企业级应用系统中。
本文将简要介绍Oracle数据库的基础知识。
首先,Oracle数据库是由Oracle Corporation开发和维护的。
它提供了一个强大的、可靠的、安全的和高性能的数据管理系统。
Oracle数据库支持各种操作系统,包括Windows、Linux和UNIX等。
Oracle数据库的核心概念是数据库实例和数据库。
数据库实例是运行在计算机上的一个进程,负责管理数据库并处理用户请求。
每个数据库实例有一个唯一的实例名和一个实例号。
而数据库是一组相互关联的表、视图、索引和其他相关对象的集合,用于存储和管理数据。
Oracle数据库使用SQL(Structured Query Language)作为其语言,用于与数据库进行交互。
SQL是一种标准化的编程语言,用于查询、更新和管理数据库中的数据。
通过SQL,使用者可以执行各种操作,如创建表、插入数据、更新数据和删除数据等。
数据库管理工具是Oracle数据库管理的重要组成部分。
其中最常用的是SQL*Plus和Oracle Enterprise Manager。
SQL*Plus是一个命令行工具,可用于执行SQL语句、管理数据库对象和执行管理任务。
Oracle Enterprise Manager是一个图形化工具,提供了更丰富的功能,如性能监控、故障管理和安全管理等。
Oracle数据库还提供了丰富的特性和功能,用于提高数据库性能和安全性。
其中包括数据备份和恢复、表空间管理、用户管理、数据加密和访问控制等。
在使用Oracle数据库时,需要掌握一些基本的概念和操作。
首先是数据库的创建,包括定义表结构、创建索引和设置约束等。
其次是数据的插入、更新和删除,用于向数据库中添加、修改和删除数据。
此外,还需要了解如何查询数据,使用SQL语句执行各种查询操作。
总之,Oracle数据库是一种强大的关系型数据库管理系统,具有广泛的应用领域。
oracle数据库基本知识Oracle数据库是一种关系型数据库管理系统,它是由Oracle公司开发和提供的。
它在数据库领域具有广泛的应用,被广泛用于企业级应用系统的数据管理。
本文将介绍Oracle数据库的基本知识,包括其特点、架构、数据类型、SQL语言和常用操作等方面。
一、Oracle数据库的特点Oracle数据库具有以下几个特点:1. 可扩展性:Oracle数据库可以在不同的硬件平台上运行,并能够支持从小型系统到大型企业级系统的各种规模需求。
2. 可靠性:Oracle数据库采用了多种技术来确保数据的安全性和可靠性,包括数据备份和恢复、事务处理和并发控制等机制。
3. 高性能:Oracle数据库通过优化查询和事务处理的性能,提供了快速和高效的数据访问方式,以满足各种应用场景的需求。
4. 安全性:Oracle数据库提供了多层次的安全控制机制,包括用户认证、权限管理和数据加密等功能,以保护数据的机密性和完整性。
5. 可管理性:Oracle数据库提供了丰富的管理工具和功能,帮助管理员监控和管理数据库的运行状态、性能和安全等方面。
二、Oracle数据库的架构Oracle数据库采用了客户端/服务器的架构,由以下几个主要组件组成:1. 实例(Instance):实例是Oracle数据库在内存中的运行环境,包括SGA(System Global Area)、PGA(Program Global Area)和后台进程等。
每个Oracle数据库都有一个或多个实例。
2. 数据库(Database):数据库是由一组相关的数据文件组成的,用于存储和管理数据。
每个数据库都有一个唯一的名字,由多个表空间组成。
3. 表空间(Tablespace):表空间是逻辑上的存储单元,用于组织和管理数据库中的数据。
每个表空间包括一个或多个数据文件,每个数据文件对应一个操作系统文件。
4. 数据文件(Data File):数据文件是物理上的存储单元,用于存储表空间中的数据。
oracle数据库入门教程Oracle数据库是一种常用的关系型数据库管理系统。
它被广泛用于各种企业级应用程序和互联网应用程序的开发和部署。
本教程将带你入门Oracle数据库,让你了解基本的概念和操作。
1. 什么是Oracle数据库?Oracle数据库是由Oracle Corporation开发并维护的一种关系型数据库管理系统。
它提供了一个可扩展、高性能和安全的数据库解决方案。
2. 安装Oracle数据库首先,你需要从Oracle官方网站下载适合你操作系统的Oracle数据库安装程序。
然后,按照安装向导的指示步骤进行安装。
3. 连接到Oracle数据库安装完成后,你可以使用命令行工具或图形界面工具来连接到Oracle数据库。
命令行工具包括SQL*Plus和SQL Developer,图形界面工具包括Oracle Enterprise Manager和Toad等。
4. 创建数据库实例在连接到Oracle数据库之后,你可以使用CREATE DATABASE语句创建一个新的数据库实例。
你需要指定数据库的名称、文件路径和其他参数。
5. 创建和管理表表是Oracle数据库中存储数据的基本单位。
你可以使用CREATE TABLE语句创建表,并使用INSERT、SELECT、UPDATE和DELETE语句来插入、查询、更新和删除表中的数据。
6. 数据类型Oracle数据库支持多种数据类型,包括字符型、数值型、日期型和大型对象型等。
你需要根据数据的性质选择合适的数据类型。
7. 查询数据查询是Oracle数据库中最常用的操作之一。
你可以使用SELECT语句在表中查询数据。
SELECT语句可以使用条件、排序、分组和连接等特性。
8. 索引和约束索引和约束是用于提高数据库性能和保证数据完整性的重要工具。
你可以使用CREATE INDEX语句创建索引,并使用CREATE TABLE语句添加约束。
9. 数据库备份和恢复数据库备份是防止数据丢失的重要手段。
orcale:orcale数据库疯狂代码 / ĵ:http://DataBase/Article41953.htmlPL/SQL单行和组详解 是种有零个或多个参数并且有个返回值在SQL中Oracle内建了系列这些都可被称为SQL或PL/SQL语句主要分为两大类: 单行 组 本文将讨论如何利用单行以及使用规则 SQL中单行 SQL和PL/SQL中自带很多类型有、数字、日期、转换、和混合型等多种用于处理单行数据因此这些都可被统称为单行这些均可用于SELECT,WHERE、ORDER BY等子句中例如下面例子中就包含了TO_CHAR,UPPER,SOUNDEX等单行SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM empWhere UPPER(ename) Like'AL%'ORDER BY SOUNDEX(ename) 单行也可以在其他语句中使用如updateSET子句INSERTVALUES子句DELETWHERE子句,认证考试特别注意在SELECT语句中使用这些所以我们注意力也集中在SELECT语句中 NULL和单行 在如何理解NULL上开始是很困难就算是个很有经验人依然对此感到困惑NULL值表示个未知数据或者个空值算术操作符任何个操作数为NULL值结果均为提个NULL值,这个规则也适合很多只有CONCAT,DECODE,DUMP,NVL,REPLACE在了NULL参数时能够返回非NULL值在这些中NVL时最重要他能直接处理NULL值NVL有两个参数:NVL(x1,x2),x1和x2都式表达式当x1为null时返回X2,否则返回x1 下面我们看看emp数据表它包含了薪水、奖金两项需要计算总补偿column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2 不是简单将薪水和奖金加起来就可以了如果某行是null值那么结果就将是null比如下面例子:update emp salary=(salary+bonus)*1.1 这个语句中雇员工资和奖金都将更新为个新值但是如果没有奖金即 salary + null,那么就会得出结论这个时候就要使用nvl来排除null值影响所以正确语句是:update emp salary=(salary+nvl(bonus,0)*1.1单行串 单行串用于操作串数据他们大多数有个或多个参数其中绝大多数返回串 ASCII c1是串返回c1第个字母ASCII码他逆是CHRSELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122 CHR(<i>)[NCHAR_CS] i是个数字返回十进制表示select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z BCONCAT(,) c1,c2均为串将c2连接到c1后面如果c1为null,将返回c2.如果c2为null,则返回c1如果c1、c2都为null则返回null他和操作符||返回结果相同select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda INITCAP c1为串将每个单词第个字母大写其它字母小写返回单词由空格控制标点符号限制select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici INSTR(,[,<i>[,]]) c1,c2均为串i,j为整数返回c2在c1中第j次出现位置搜索从c1第i个开始当没有发现需要时返回0,如果i为负数那么搜索将从右到左进行但是位置计算还是从左到右i和j缺省值为1.select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select INSTR('Mississippi','i',-2,3) from dualINSTR('MISSISSIPPI','I',3,3)2 INSTRB(,[,i[,j]) 和INSTR()样只是他返回是字节对于单字节INSTRB等于INSTR LENGTH c1为串返回c1长度如果c1为null那么将返回null值select LENGTH('Ipso Facto') ergo from dualergo10 LENGTHb 和LENGTH样返回字节 lower 返回c小写经常出现在where子串中select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE'%white%'COLORNAMEWerwhite LPAD(,<i>[,]) c1,c2均为串i为整数在c1左侧用c2串补足致长度i,可多次重复如果i小于c1长度那么只返回i那么长c1其他将被截去c2缺省值为单空格参见RPADselect LPAD(answer,7,'') padded,answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe LTRIM(,) 把c1中最左边去掉使其第个不在c2中如果没有c2那么c1就不会改变select LTRIM('Mississippi','Mis') from dualLTRppi RPAD(,<i>[,]) 在c1右侧用c2串补足致长度i,可多次重复如果i小于c1长度那么只返回i那么长c1其他将被截去c2缺省值为单空格,其他和LPAD相似RTRIM(,) 把c1中最右边去掉使其第后个不在c2中如果没有c2那么c1就不会改变 REPLACE(,[,]) c1,c2,c3都是串用c3代替出现在c1中c2后返回select REPLACE('uptown','up','down') from dualREPLACEdowntown STBSTR(,<i>[,]) c1为串i,j为整数从c1第i位开始返回长度为j子串如果j为空则直到串尾部select SUBSTR('Message',1,4) from dualSUBSMess SUBSTRB(,<i>[,]) 和SUBSTR大致相同只是I,J是以字节计算 SOUNDEX 返回和c1发音相似词select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from dualDawes Daws DawsonD200 D200 D250 TRANSLATE(,,) 将c1中和c2相同以c3代替select TRANSLATE('fumble','uf','ar') test from dualTEXTramble TRIM([] from c3) 将c3串中第个最后个或者都删除select TRIM(' space padded ') trim from dual TRIMspace padded UPPER 返回c1大写常出现where子串中select name from dual where UPPER(name) LIKE 'KI%'NAMEKING单行数字 单行数字操作数字数据执行数学和算术运算所有都有数字参数并返回数字值所有 3角操作数和值都是弧度而不是角度oracle没有提供内建弧度和角度转换 ABS 返回n绝对值 ACOS 反余玄返回-1到1的间数n表示弧度select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0 ASIN 反正玄返回-1到1n表示弧度ATAN 反正切返回n反正切值n表示弧度 CEIL 返回大于或等于n最小整数 COS 返回n余玄值n为弧度 COSH 返回n双曲余玄值n 为数字select COSH(<1.4>) FROM dualCOSH(1.4)2.15089847 EXP 返回en次幂e=2.71828183. FLOOR 返回小于等于N最大整数 LN 返回N自然对数N必须大于0 LOG(,) 返回以n1为底n2对数 MOD 返回n1除以n2余数 POWER(,) 返回n1n2次方 ROUND(,) 返回舍入小数点右边n2位n1值n2缺省值为0这回将小数点最接近整数如果n2为负数就舍入到小数点左边相应位上n2必须是整数select ROUND(12345,-2),ROUND(12345.54321,2) FROM dualROUND(12345,-2)ROUND(12345.54321,2)12300 12345.54 SIGN 如果n为负数返回-1,如果n为正数返回1如果n=0返回0. SIN() 返回n正玄值,n为弧度SINH 返回n双曲正玄值,n为弧度 SQRT 返回n平方根,n为弧度 TAN() 返回n正切值,n为弧度 TANH 返回n双曲正切值,n为弧度 TRUNC(,) 返回截尾到n2位小数n1值n2缺省设置为0当n2为缺省设置时会将n1截尾为整数如果n2为负值就截尾在小数点左边相应位上 单行日期 单行日期操作DATA数据类型绝大多数都有DATA数据类型参数绝大多数返回也是DATA数据类型值 ADD_MONTHS(,<i>) 返回日期d加上i个月后结果i可以使任意整数如果i是个小数那么数据库将隐式他转换成整数将会截去小数点后面部分 LAST_DAY 返回包含日期d月份最后天 MONTHS_BETWEEN(,) 返回d1和d2的间月数目,如果d1和d2日日期都相同或者都使该月最后天那么将返回个整数否则会返回结果将包含个分数 NEW_TIME(,,) d1是个日期数据类型当时区tz1中日期和时间是d时返回时区tz2中日期和时间tz1和tz2时串NEXT_DAY(,) 返回日期d后由dow给出条件第天dow使用当前会话中给出语言指定了周中某天返回时间分量和d时间分量相同select NEXT_DAY('01-Jan-2000','Monday') "1st Monday",NEXT_DAY('01-Nov-2004','Tuesday')+7 "2nd Tuesday") from dual;1st Monday 2nd Tuesday03-Jan-2000 09-Nov-2004 ROUND([,]) 将日期d按照fmt指定格式舍入fmt为串 SYADATE 没有参数返回当前日期和时间 TRUNC([,]) 返回由fmt指定单位日期d.单行转换 单行转换用于操作多数据类型在数据类型的间进行转换 CHARTORWID c 使个串将c转换为RWID数据类型SELECT test_id from test_ where rowid=CHARTORWID('AAAA0SAACAAAALiAAA') CONVERT(,[,]) c尾串d、s是两个集将串c由s集转换为d集s缺省设置为数据库集 HEXTORAW x为16进制串将16进制x转换为RAW数据类型 RAWTOHEX x是RAW数据类型串将RAW数据类转换为16进制数据类型 ROWIDTOCHAR 将ROWID数据类型转换为CHAR数据类型TO_CHAR([[,) x是个data或number数据类型将x转换成fmt指定格式char数据类型如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回月份和日份所使用语言如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位分隔符以及货币符号NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="" TO_DATE([,[,) c表示串fmt表示种特殊格式串返回按照fmt格式显示c,nlsparm表示使用语言将串c转换成date数据类型 TO_MULTI_BYTE c表示个串将c担子截转换成多字节 TO_NUMBER([,[,) c表示串fmt表示个特殊格式串返回值按照fmt指定格式显示nlsparm表示语言将返回c代表数字 TO_SINGLE_BYTE 将串c中得多字节转化成等价单字节该仅当数据库集同时包含单字节和多字节时才使用 其它单行 BFILENAME(,) dir是个directory类型对象file为文件名返回个空BFILE位置值指示符用于化BFILE变量或者是BFILE列 DECODE(,,[,,,) x是个表达式m1是个匹配表达式x和m1比较如果m1等于x那么返回r1,否则,x和m2比较依次类推m3,m4,m5....直到有返回结果 DUMP(,[,[,[,]]]) x是个表达式或fmt表示8进制、10进制、16进制、或则单返回包含了有关x内部表示信息VARCHAR2类型值如果指定了n1,n2那么从n1开始长度为n2字节将被返回EMPTY_BLOB 该没有参数返回 个空BLOB位置指示符用于化个BLOB变量或BLOB列 EMPTY_CLOB 该没有参数返回 个空CLOB位置指示符用于化个CLOB变量或CLOB列 GREATEST exp_list是列表达式返回其中最大表达式每个表达式都被隐含转换第个表达式数据类型如果第个表达式是串数据类型中任何个那么返回结果是varchar2数据类型同时使用比较是非填充空格类型比较 LEAST exp_list是列表达式返回其中最小表达式每个表达式都被隐含转换第个表达式数据类型如果第个表达式是串数据类型中任何个将返回结果是varchar2数据类型同时使用比较是非填充空格类型比较 UID 该没有参数返回唯标示当前数据库用户整数 USER 返回当前用户用户名 USERENV 基于opt返回包含当前会话信息opt可选值为: ISDBA 会话中SYSDBA脚色响应返回TRUE SESSIONID 返回审计会话标示符 ENTRYID 返回可用审计项标示符 INSTANCE 在会话连接后返回例子标示符该值只用于运行Parallel 服务器并且有 多个例子情况下使用 LANGUAGE 返回语言、地域、数据库设置集 LANG 返回语言名称ISO缩写 TERMINAL 为当前会话使用终端或计算机返回操作系统标示符 VSIZE x是个表达式返回x内部表示字节数SQL中组 组也叫集合返回基于多个行单结果行准确数量无法确定除非查询被执行并且所有结果都被包含在内和单行区别是在解析时所有行都是已知由于这种差别使组和单行有在要求和行为上有微小差异. 组(多行) 和单行相比oracle提供了丰富基于组多行这些可以在select或selecthaving子句中使用当用于select子串时常常都和GROUP BY起使用 AVG([{DISYINCT|ALL}]) 返回数值平均值缺省设置为ALL.SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM scott.empAVG(SAL) AVG(ALL SAL)AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413 COUNT({*|DISTINCT|ALL} ) 返回查询中行数目缺省设置是ALL,*表示返回所有行 MAX([{DISTINCT|ALL}]) 返回选择列表项目最大值如果x是串数据类型他返回个VARCHAR2数据类型如果X是个DATA数据类型返回个日期如果X是numeric数据类型返回个数字注意distinct和all不起作用应为最大值和这两种设置是相同 MIN([{DISTINCT|ALL}]) 返回选择列表项目最小值 STDDEV([{DISTINCT|ALL}]) 返回选者列表项目标准差所谓标准差是方差平方根 SUM([{DISTINCT|ALL}]) 返回选择列表项目数值总和 VARIANCE([{DISTINCT|ALL}]) 返回选择列表项目统计方差 用GROUP BY给数据分组 正如题目暗示那样组就是操作那些已经分好组数据我们告诉数据库用GROUP BY怎样给数据分组或者分类当我们在SELECT语句SELECT子句中使用组时我们必须把为分组或非常数列放置在GROUP BY子句中如果没有用group by进行专门处理那么缺省分类是将整个结果设为类select stat,counter(*) zip_count from zip_codes GROUP BY state;ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982 在这个例子中我们用state字段分类;如果我们要将结果按照zip_codes排序,可以用ORDER BY语句ORDER BY子句可以使用列或组select stat,counter(*) zip_count from zip_codes GROUP BY state ORDER BY COUNT(*) DESC;ST COUNT(*)-- --------NY 4312PA 4297TX 4123CA 3982 用HAVING子句限制分组数据 现在你已经知道了在查询SELECT语句和ORDER BY子句中使用主组只能用于两个子串中组不能用于WHERE子串中例如下面查询是:SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' ANDSUM(sale_amount)>10000 GROUP BY sales_clerk 这个语句中数据库不知道SUM是什么当我们需要指示数据库对行分组然后限制分组后行输出时正确思路方法是使用HAVING语句:SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' GROUP BY sales_clerkHAVING SUM(sale_amount)>10000; 嵌套 可以嵌套个输出可以是另个输入操作数有个可继承执行过程但优先权只是基于位置遵循由内到外由左到右原则嵌套技术般用于象DECODE这样能被用于逻辑判断语句IF....THEN...ELSE 嵌套可以包括在组中嵌套单行或者组嵌套入单行或组中比如下面例子:SELECT deptno, GREATEST(COUNT(DISTINCT job),COUNT(DISTINCT mgr) cnt,COUNT(DISTINCT job) jobs,COUNT(DISTINCT mgr) mgrsFROM empGROUP BY deptno;DEPTNO CNT JOBS MGRS------ --- ---- ----10 4 4 220 4 3 430 3 3 2Oracle SQL FAQ荣耀 2002整理这篇Oracle基本语法FAQ最初是为了回答位客户朋友提问(客观情况所限我无法在线回答问题)这些解答并非唯答案只是答案的更完备答案请查阅Oracle正式文档目录Q1.怎样创建表?Q2.怎样删除表?Q3.怎样创建视图?Q4.怎样删除视图?Q5.怎样给表添加字段?Q6.怎样删除表中某个字段?Q7.怎样给某个字段添加约束?Q8.怎样去除某个字段上约束?Q9.怎样给表加上主键?Q10.怎样删除表主键?Q11.怎样给表添加个外键?Q12.怎样删除表个外键?Q13.怎样给字段加上CHECK?Q14.怎样去掉字段上CHECK?Q15.怎样给字段设置默认值?Q16.怎样移去字段默认值?Q17.怎样创建索引?Q18.怎样删除索引?Q19.怎样创建用户?Q20.怎样删除用户?Q21.怎样将对象权限(object privileges)授予用户?Q22.怎样从用户收回对象权限?Q23.怎样将角色权限(role privileges)授予用户?Q24.怎样从用户收回角色权限?Q25.怎样将系统权限(system privileges)授予用户? Q26.怎样从用户收回系统权限?Q27.怎样创建序列?Q28.怎样删除序列?Q29.怎样获取序列值?Q30.怎样创建角色?Q31.怎样删除角色?Q32.怎样将对象权限(object privileges)授予角色? Q33.怎样从角色收回对象权限?Q34.怎样将角色权限(role privileges)授予角色?Q35.怎样从角色收回角色权限?Q36.怎样将系统权限(system privileges)授予角色? Q37.怎样从角色收回系统权限?Q38.不等于条件有哪几种写法?(茴香豆问题:))Q39.like子句使用方法?Q40.请举出个where子查询简单例子?Q41.Oracle常用串处理有哪些?Q42.Oracle支持哪些数字处理?Q43.怎样取得数据库服务器当前日期、时间?Q44.怎样将串转换为日期、时间格式?Q45.常用日期有哪些?Q46.能给出个DECODE使用方法例子吗?Q47.能给出个group by、having和order by使用方法例子吗? Q48.Oracle有哪些常用数据字典?Q49.怎样将日期、时间插入date型字段中?Q50.能介绍下connect by使用方法吗?2008-12-17 1:56:58疯狂代码 /。