oracle复习总结
一、
1.储存模式是一种包含了诸如段。视图。过程。函数程序包。触发器。用户自定义的对象集合类型序列同义词和数据连接对象的逻辑结构。2.用户角色,对象权限系统权限
Select,insert,update,delete可以使用的权限是execute二.SQL语言
1.创建表createtable表名2.约束
(1)非空约束notnull(2)唯一约束unique
(3)主键约束primarykey最多只能有一个主键约束主键约束可以使用一列组成,不能有重复的不能为空
(4)外键约束foreignkey
外键是指引用一个表中的某个列或某几个列,或本表中另一个列或者几个列被引用的列应该是主键列或者唯一性约束列。
约束关键词constraint名称foreignkeyreferences引用表名引用表主键(5)检查约束checkconstraint名称check表达式(6)缺省约束default3.修改表(1)增加列
Altertable表名add新列名数据类型(2)更新列
Altertable表名modify列名数据类型(3)删除列
Altertable表名dropcolumn要删除的列名(4)删除表Droptable表名2.DML
1.检索所有列Select*fromemp
Selectename,jobfromemp;
Selectename,to_char(hiredate,yyyy-mm-dd)fromempSelectdistinctdeptno,jobfromemp取消重复行Selectename,sal*12frommep处理null
Selectename,sal,comm.,(sal+comm)fromemp连接字符串
Selectename||isa||jobas”employdetail”fromemp使用简单where子句
Selectename,salfromempwheresal>201*
Selectjob,salfromempwhereename=SCOTT;
Selectjob,salfromempwherelower(ename)=scott;
Where子句和betweenand
Selectename,sal,hiredate,jobfromempwheresalbetween1000and201*Where子句中使用like操作符
Selectename,salfromempwhereenamelikeS%;Orderby子句
1,升序排列
Selectename,salfromempwheredeptno=30orderbysal;2.降序排列
Selectename,sal,comm.Fromempwheredeptno=30orderbysaldesc3.使用多列排序
Selectename,sal,commmfromempwheredeptno=30orderbysalasc,comm.Desc4.数据分组Gropby1,分组函数
Selectmax(sal),min(sal)fromemp2,取消重复值
Selectcount(distinctdeptno)asdistinct_deptfrommep3.groupbyhaving子句
Selectcolumn,group_functionfrom表名whereconditiongroupbygroupby_expressionhavinggroup_condition
使用groupby进行单列分组selectdeptno,avg(sal),mac(sal)fromempgroupbydeptno使用groupby进行多列分组
Selectdeptno,job,avg(sal),max(sal)fromempgroupbydeptno,job;
使用having子句限制分组显示selectdeptno,avg(sal),max(sal)fromempgroupbydeptnohavingavg(sal)ename=SMITH)成对比较
Selectename,sal,comm.,deptnofromempwhere(sal,nvl(comm.,-1))in(selectsal,nvl(comm.,-1)fromempwheredeptno=30)4.合并查询
Union并集走掉结果集中的重复行unionall两个结果记的并集不会取消重复行intersect两个结果集的交集minus两个结果集的差集Insert
(1)插入单行数insertintotablecolumn1coulmn2valuesvalues1values2
不使用列插入单行数据
Insertintodeptvalues(50,TRAINBOSTON)使用列插入单行数据
Insertintoemp(emp,ename,jobhiredate)values(1244,john,clerk,01-3-86)使用子查询插入数据
Insertintoemployee(empno,ename,sal,deptno)selectempno,enmae,sal,deptnofromempwheredeptno=20使用first
Selectfirstwhendeptno=10thenintodept10whendeptno=20thenintodept20elseintootherselect*fromemp555update2.3事务锁
事务用于确保数据库的一致性主要由insertupdatedeleteselect。。。。forupdate提交事务commit回退事务rollback三.数据库对象1,同义词
Createsynonym名字forobject_name2序列创建序列
Createsequence名字Startwith名字incrementby数字(初始值)maxvalue数字cycle和nocycle使用序列
Selects_test.nextvalfromdualSelects_test.currvalformdual使用序列填充主键Creaetetablestudent(
Idintegerconstraints_testprimarykey,Namevarchar2(20);
Insertintostudent(id,name)values(s_test.nextval,fendou)3.视图
1.视点集2.简化操作3.定制数据4.合并分割数据5.安全性4.创建并使用视图
Createorreplaceviewview_nameassubqueryconstranintconstraint_name
Createviewemp_viewasselectempno,ename,deptnofromempwheredeptno=30Insertintoemp_viewvalues(201*,fendou,30)创建具有checkoption约束的视图Creaeteorreplaceemp_viewasselectempno,ename,deptnofromempwheredeptno=30wiehcheckoptionconstraintemp_view_ck5.索引
索引加快数据的一种有效方式
Creaeteuniqueindexindex_nameontable_namecolumn_name(column_name…)Tablespacetablespace_name
Createindexi_emp_indexonemp(deptno)
Createendexi_emp_ednoonemp(empno,deptno)修改索引
Alterindexi_emp_ednorenametoi_emp_noDropindexi_emp_no;临时表
Createglobaltemporary表名列类型Oncommitpreserverows会话中断时Commit时
Createglobaltemporarytabletemp_test2(tempIdint)
Oncommitdeleterows;四.PLSQL编程简介1,块结构Declare
名称类型值Begin
执行异常处理部分End
已知矩形面积和高求宽度DeclareV_widthint;V_heithtint:=2;V_areaint:=6;Begin
SetthewidtheaualtotheareadividedbytheheightV_width:=v_area/v_height;
Dbms_output.put_line(“v_width=”||v_width);Exception
Whenzero_dividethen
Dbms_output.put_line(divisonbyzero);End
2,变量和类型
Intvarchar2number条件逻辑
Ifthenelseelseifendif循环
While循环for循环简单循环Loop
StatementsEndloop
While循环
友情提示:本文中关于《oracle复习总结》给出的范例仅供您参考拓展思维使用,oracle复习总结:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。