非常详细的数据库基础_第1页
非常详细的数据库基础_第2页
非常详细的数据库基础_第3页
非常详细的数据库基础_第4页
非常详细的数据库基础_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、数据操作语言(dml)部分:关键字查询 select、新增 insert、更新 update、删除 delete、 提交 commit、回退 rollbacko基本语句格式基本查询语句selectv查询内容from v表名where 条件group by分组内容havi ngv组内条件order byv 排序内容desc asc数据新增语句1 . insert into 表名(列名1 ,列名2 )2、insert into表名(列名1 ,列名2 )select查询内容from v表名where 条件group byv分组内容havi ngv组内条件order byv排序内容数据更新语句upda

2、te表名set列名1 =表达式1 ,列名2=表达式2where条件数据删除语句delete from 表名 where 条件数据提交语句insert,update,delete后执行。所有 操作不可撤销。commit;数据回退语句 尚未进行commit操作的i nsert,update,delete可以使用此命令进行撤销。rollback;基本查询语句代数表达式查询语句中可以使用运算符号。列值中有为null时,计算结果为null,通常使用nvl()函数。例:select emp,emp*89zemp+98,emp*dep fromtemp;列的别名可以在查询语句中定义一个列的别名,格式为:列

3、名后+空格+别名例:select emp aa,emp*89 bb,emp+98 cc,emp*depfrom temp;"”号意味着查找所有表列例:select *from temp;(查训表temp的所有列信息)。连接符“i丨”,将不同列信息按照需求连接到一起。例:select emp|dep edmp,emp *89| |7'| iemp+90from temp;通配符“ ”匹配零到多个字符,匹配单个字符。关键字“ from”后不仅可以使用表名也可以使用查询结果集。例:select emp from (select emp,dep,id fromdept);(j,)单引

4、号为保留符号,遇到字符型时使用。引号内字符区分大小写,需要显示单引号时使用('''')代替。例:select zmikez, emp, ,n, from dept whereemp_nam = ,mike,;空格与null在数据库中体现不同。空格是一个明确的值可以按照正常字符使用,null不是明确的值不能按字符方式使用。 counts)与count(列名)的区另u:count(* )查询的数量含有null, count(列名)查询数量不含有null。 order by子句中默认为正序排列(即按照由小到大),加入关键字“desc”变为倒序排列。例:select e

5、mp from dept order by emp_i ddesc;运算符/算术运算符包括:+ (加)、一(减)、* (乘)、/ (除)逻辑运算符逻辑运算符意义or双值运算符,只要左 右两个条件有一个为 真,则得到的值就为 真and双值运算符,如果左右两个条件都为真, 则得到的值就为真not单指运算符,如果原 条件为真,则得到真, 如果元条件为假,反 之如果原条件为假, 则结果为真比较运算符操作符功能()重新规定操作符的优先规则二相等!二或不等和 二和二大于和大于等于小于和小于等于in等于其中的任何值,等同于,二any,not in等同于t二all'any比较列中的一个或子查询送回的一

6、个值all对列出的每个值或子查询送回的所有值做比较between xi andx2大于等于xi并且小于x2like模式匹配,'%'匹配0个或多个字符匹配个字符exists如果子查询至少有一 条记录返回则为'真not existsis null为空is not null运算符级別算术运算符(即<*',,厂)1连接运算符(即"丨')2比较运算符(即,>二,','二,9 )3is not null, notlike, not in4not between-and5not6andor通常使用'()'可以改变运

7、算符的优先级。其它sql操作符操作符功能(+ )在连接中指示前面的列是外连接列*在查询中从表中选出 所有的列。也可以加 上表名前缀来取出该 表的所有的列。当在 计数函数中代替列名 时,得出的计数包括 有null值的行all在查询和合计运算中保留重复值distinct从查询的结果中消除 重复行,或在合计预 算中不计算重复值常用sql函数函数大全http:/ / / chuncn/ archive/ 2009/ 04/ 29/ 1 381 282 html“ distinct筛选重复记录,只能用在首个查询字段。/ nvl(表达式,非空值)/ decode(cxpr,search 1,return

8、1 ,search2,retur n2,.default)如果cxpr 等于任何一个search 则 返回相应的return ,如果没有则返回default o若default省略且没有与expr相匹配的search ,则返回 null。search需与expr类型一致,且返回值强迫与第 一个return类型相同。/ lower()转换为小写/ upper()转换为大写/ initcap()将第一个字母转换为大写/ lpad(表达式,位数,补位符号)左补位例:lpad (zmike;6/*z)结果为:*mike/ rpad(表达式,位数,补位符号)右补位 例:rpad (,mike,z6/*z

9、)结果为:mike*/ substr(表达式,截取开始位,截取位数)截取字符串例:substr(tomandjarry:2,6)结果为:omandj/ instr(表达式,字符)查找字符首次出现处在表达式第几位,找不到返回'0'例:instr (tomandjarry:7v)结果为:4/ ltrim(表达式)去掉左空格/ rtrim(表达式)去掉右空格/ trim(表达式)去掉空格“ length(表达式)取得表达式长度例:length (tom jarryz)结果为:9/ translate(string,from_str,to_str)返回将(所有出现的)from_str中

10、的每个字符替换为to_str中的相应字符以后的string o如果from_str比to_str 长,那么在from_str中而不在to_str中的额外字符 将从string中被删除,因为它们没有相应的替换字符。 to_str不能为空。w translate中的任何参数为 null,那么结果也是null。例:translate (,abcdefghij,abcdef,123456,)结果 为:123456ghij带格式的:字体:(默认) verdanatranslate (,abcdefghij7abcdefghij,/,123456i) 结果为:123456/ replace(char, s

11、earch_str,replac_str) 将 char中的字符串search_str全部转换为字符串replac_str例:replace ('abcdefghijtabct123')结果为:123defghijreplace cabcdefghij,/abcdefghij,'123,)结果为:123replace (abcdefghijtabcgt1231)结果为:abcdefghij“ round(数字,小数点后保留位数)四舍五入例:round (45.9238,3)结果为:45.924round (45.9238)结果为:46/ trunc(数字,保留位数)直接

12、截取,不四舍五。保留 位数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以数字0记。例:trunc (45.9238,3)结果为:45.923trunc (89.985, -1)结果为:80/ trunc(日期,日期格式)直接截取,不四舍五。例:1select trunc(sysdate) fromdual -2011-3-18 今天的日期为 2011-3-182.select trunc(sysdate, 'mm*) from dual -2011-3-1返回当月第一天.3select trunc(sysdate,yy,) fromdual -2011-1-1 返回当年第一

13、夭4.select trunccsysdate/dd*) fromdual -2011-3-18返回当前年月日 5select trimc(sysdate/yyyy') fromdual -2011-1-1返回当年第一天6. select trunc(sysdate,d,) fromdual -2011-3-13 (星期天)返回当前星期的第一天7. select trunc(sysdate, 'hh') fromdual -2011-3-18 14:00:00 当前时间为14:41 8select trunc(sysdate, mr) fromdual -2011-3-

14、18 14:41:00 trunc()函数没有秒的精确/ ceil(n)大于或等于n的最小整数例:ceil(79.02)=80, ceil(76.98)=77, ceil(78.39)=79/ floor(n)小于或等于n的最大整数例:floor (79.02)=79, floor (76.98)=76, floor (78.39)=78 / sign(n)取数字n的符号大于0返回1,小于0返回等于0返回0/ mod( m , n) m除n的余数/ abs(n) n的绝对值sort(n) n的平方根,n<0返回值为null/ power(m , n) m 的2 次方/日期函数> s

15、ysdate系统日期 > month_between(m , n)返回 m 和 n 之间的月份数,如果m和n月份天数相同,或者都是某个月的最后天,否则,返回数值带小数,以每天1/31月来计算月中剩余天数。> add_months(m, n)返回m的月份加n后的值> next_day(m, n)返回m的日加n后的值> last_day(m)返回m月份的最后一天/格式转换函数> to_char(n/ d,fmt)按照fmt格式将数值型n或日期型d转换为字符型c> to_date(c/ n,fmt)按照fmt格式将字符型c或 数值型n转换为日期型d> to_

16、number(c)将字符型c转换为数值型n/聚组函数使用聚组函数,必须使用group关键字> count()> avg()> sum()> max()> ml n() rowi d 与 rownum 区别rowid某行的唯一标识。rownum查询记录顺序号。数据库表的连接 /等值连接使用”等值运算符。非等值连接使用除“二”等值运算符外的运算符。/自连接表与自身连接,使用别名集合运算/并操作unionuni on 与 union all 的区别/ 交操作 i ntersect/差操作ml nus操作符功能()重新规定操作符的优先规则union组合查询,返回山所有的各

17、个查询所取出的不同行intersect组合查询,返回由两个查询共同取出的所有不同行minus组合查询,返冋由第一个查 询返回,而第二个查询没返 回的所有不同的行建过程体及过程体使用/ 定义格式:create or replace procedure 过程体名(传入/传出参数1 in out类型,传入/传出参数2in out类型)i s定义变量beg in执行语句。end过程体名;丁使用方法:过程体名(参数1,参数2);建函数及函数使用/ 定义格式:create or replace function 函数名(传入参数1 in类型,传入参数2 in类型)return传出参数类型is返回变量varchar2;定义变量;begin执行语句return(返回变量):end函数名;/使用方法:select函数名(参数1,参数2) into返回值fromdual;游标游标格式

温馨提示

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

评论

0/150

提交评论