Oracle基础知识_第1页
Oracle基础知识_第2页
Oracle基础知识_第3页
Oracle基础知识_第4页
Oracle基础知识_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、n通过本课时的学习,您需要掌握以下内容:通过本课时的学习,您需要掌握以下内容:1,简单了解,简单了解oracle的系统架构的系统架构2,结构化查询语言的运用,结构化查询语言的运用SQL掌握数据检索,更新,删除的数据管理操作掌握数据检索,更新,删除的数据管理操作3,学习,学习oracle常用的函数常用的函数单行函数单行函数组函数组函数目标目标 Instance内存组件内存组件SGASHARE POOL数据库高速缓冲池数据库高速缓冲池后台进程后台进程结构化查询语言结构化查询语言SQLSQL语言:语言:nDDLDDL数据定义语言数据定义语言CreateCreate,alteralter,dropdr

2、op,truncatetruncate,dropdrop等等nDMLDML数据控制语言数据控制语言select,update,delete,insertselect,update,delete,insert等等nDCL DCL 数据控制语言数据控制语言: : ALTER ALTER SESSION,SET ROLE,ALTER SESSION,SET ROLE,ALTER SYSTEM SYSTEM 等等nTCL TCL 事务控制事务控制COMMIT,ROLLBACK,SAVEPOINTCOMMIT,ROLLBACK,SAVEPOINT数据库查询数据库查询n1) 用SELECT语句从表中提取查

3、询数据。语法为SELECT DISTINCT column1,column2, FROM tablename WHERE conditions GROUP BY conditions ORDER BY expressions ASC/DESC; 说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。n2) SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由

4、单一的条件表达通过逻辑运算符组合成复合条件。n3) ORDER BY 子句ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。n4)子查询如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。数据操纵语言数据操纵语言(DML)(DML)n数据库操纵语言(DML)命令用于查询和操纵模式对象中的数据,它不隐式地提交当前事务。它包含UPDATE、INSERT、DELETE、SELECT等命令。 nINSERT语句:nINSERT INTO tablename col

5、umn1,column2, VALUES expression1,expression2,;n例如:SQLinsert INTO DEPT(DNAME, DEPTNO)n VALUES (ACCOUNTING,10)nupdate更新nUPDATE tablename SET column1=expression1,column2=expression2, WHERE conditions;例如:SQLUPDATE EMP SET JOB =MANAGER WHERE ENAME=MAPTIN; SQL SELECT * FROM EMP;UPDATE子句指明了要修改的数据库是EMP,并用WH

6、ERE子句限制了只对名字(ENAME)为MARTIN的职工的数据进行修改,SET子句则说明修改的方式,即把MARTION的工作名称(JOB)改为MARAGERnDelete 语句nDELETE FROM tablename WHERE conditions;n例如:SQLDELETE FROM EMP WHERE EMPNO = 7654;nDELETE命令删除一条记录,而且DELETE命令只能删除整行,而不能删除某行中的部分数据. 在使用时需要慎用!DDL数据对象数据对象n创建数据对象表、索引等创建数据对象表、索引等可以通过子查询来建立一个空表:Createtablesms_mo_log_b

7、ackasselect*fromsms_mo_logwhere1=2;n删除数据对象:删除数据对象:Drop table sms_mo_log_back;ntruncate table sms_mo_log_back;n更改数据对象更改数据对象增加主键:增加主键:Alter table sms_mo_log Add constraints pk_1 primary key(sequenct_id);增加一个字段:增加一个字段:alter table table_name add column column_name datatype ;Dcl 数据控制语句数据控制语句nGrant Grant

8、connect,resource to usernamenRevokenRevoke connect,resource from usernamenAlter userAlter user name quota 300M on tablespace_nameTCLTCL事务控制命令事务控制命令n提交命令(COMMIT):可以使数据库的修改永久化.设置AUTOCOMMIT为允许状态:SQL SET AUTOCOMMIT ON;n回滚命令(ROLLBACK):消除上一个COMMIT命令后的所做的全部修改,使得数据库的内容恢复到上一个COMMIT执行后的状态.使用方法是:SQLROLLBACK;Tr

9、ansaction1char/varchar2 nchar类型保存定长字符串,最小长度为1字节(或字符数),最长2000字节(注意这里是字节,而不是字符数),如果不指定,则默认为1。比如:create table t(name char);查看该表结构:desc t;SQL create table t(name char(2001);create table t(name char(2001)ERROR at line 1:ORA-00910: specified length too long for its datatypenvarchar2和varchar是同义词,都是指变长字符串类型

10、。但是由于某种原因,varchar可能在后续版本中改变varchar的意思还是怎么的,oracle建议使用varchar2。在使用varchar2类型时必须指定其长度(最小1字节或字符数,最大4000字节)常用字符串函数常用字符串函数1nASCII()例:selectascii(A)A,ascii(a)a,ascii(0)zero,ascii()spacefromdual; CHR(i)NCHAR_CS 例:selectchr(65),chr(122)fromdual;nCONCAT(,) c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则

11、返回c1,如果c1、c2都为null,则返回null。他和操作符|返回的结果相同nINITCAP() c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。例:selectinitcap(helloworld,everybody)fromdual;nINSTR (C1,C2,I,J ) c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.例:selectinstr(woareworki

12、nghard,now,o)fromdual;常用字符串函数常用字符串函数2nINSTRB(,i,j)与INSTR()函数一样,只是他返回的是字节,对于单字节INSTRB()等于INSTR()nLENGTH() c1为字符串,返回c1的长度,如果c1为null,那么将返回null值。LENGTHb()与LENGTH()一样,返回字节。lower() 返回c的小写字符,经常出现在where子串中LPAD(,i,) c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,参见RPAD。

13、selectlpad(concept,50,.)fromdual;nRPAD(,i,) 在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,其他与LPAD相似常用字符串函数常用字符串函数3nLTRIM(c1,c2)把c1中最左边的字符去掉,使其第一个字符不在c2中,如果没有c2,那么c1就不会改变。RTRIM(c1,c2) 把c1中最右边的字符去掉,使其第后一个字符不在c2中,如果没有c2,那么c1就不会改变。nREPLACE(c1,c2,c3)c1,c2,c3都是字符串,函数用c3代替出现在c1中的c2后

14、返回。nSubSTR(,i,)c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部。nTRIM( from c3)将c3串中的第一个,最后一个,或者都删除。nUPPER()返回c1的大写,常出现where子串中数字类型数字类型Oracle number datatype 语法:语法:NUMBER(precision , scale)简称:简称:precision - p scale - sNUMBER(p, s)范围:范围: 1 = p =38, -84 = s = 127保存数据范围:保存数据范围:-1.0e-130 = number value

15、 0 精确到小数点右边精确到小数点右边s位,并四舍五入。然后检验有效位是否位,并四舍五入。然后检验有效位是否 = p。s 0 精确到小数点左边精确到小数点左边s位,并四舍五入。然后检验有效位是否位,并四舍五入。然后检验有效位是否 n=n=nn=n、!、!=、逻辑运算逻辑运算nAndSelect * from sms_mt_log where submit_time200802 and submit_time200802 or act_code like %_01936nNotselect * from user_custom t where t.act_code like %01863% an

16、d t.fee_terminal_id not in ();数值函数数值函数nMOD()返回n1除以n2的余数nPOWER(,)返回n1的n2次nROUND(,)nTRUNC(,)返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上。nATAN()反正切函数,返回n的反正切值,n表示nCEIL()返回大于或等于n的最小整数。nCOS()返回n的余玄值,n为弧度nCOSH()返回n的双曲余玄值,n为数字。nEXP()返回e的n次幂,e=2.71828183.nFLOOR()返回小于等于N的最大整数。n格式转换格式转换

17、nTO_CHAR(,)x是一个data或number数据类型,函数将x转换成fmt指定格式的char数据类型,如果x为日期nlsparm=NLS_DATE_LANGUAGE控制返回的月份和日份所使用的语言。如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS用来指定小数位和千分位的分隔符,以及货币符号nTO_DATE(,)c表示字符串,fmt表示一种特殊格式的字符串。返回按照fmt格式显示的c,nlsparm表示使用的语言。函数将字符串c转换成date数据类型。nTO_NUMBER(,)c表示字符串,fmt表示一个特殊格式的字符串,函数返回值按照fmt指定的格式显示。nls

18、parm表示语言,函数将返回c代表的数字。nDECODE(,)x是一个表达式,m1是一个匹配表达式,x与m1比较,如果m1等于x,那么返回r1,否则,x与m2比较,依次类推m3,m4,m5.直到有返回结果。USERENV()nUSERENV()基于opt返回包含当前会话信息。opt的可选值为ISDBA会话中SYSDBA脚色响应,返回TRUESESSIONID返回审计会话标示符ENTRYID返回可用的审计项标示符INSTANCE在会话连接后,返回实例标示符。该值只用于运行Parallel服务器并且有多个实例的情况下使用。LANGUAGE返回语言、地域、数据库设置的字符集。LANG返回语言名称的ISO缩写。TERMINAL为当前会话使用的终端或计算机返回操作系统的标示符n常用查看数据库字符集:常用查看数据库字符集:Selectuserenv(language)fromdual;组函数组函数nSQL中的组函数组函数也叫聚合函数,返回基于多个行的单一结果,行的准确数量无法确定,除非查询被执行并且所有的结果都被包含在内。与单行函数不同的是,在解析时所有的行都是已知的。n组(多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论