Oracle数据库操作基本语法

上传人:鲁** 文档编号:563185334 上传时间:2023-03-29 格式:DOCX 页数:6 大小:20.16KB
返回 下载 相关 举报
Oracle数据库操作基本语法_第1页
第1页 / 共6页
Oracle数据库操作基本语法_第2页
第2页 / 共6页
Oracle数据库操作基本语法_第3页
第3页 / 共6页
Oracle数据库操作基本语法_第4页
第4页 / 共6页
Oracle数据库操作基本语法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Oracle数据库操作基本语法》由会员分享,可在线阅读,更多相关《Oracle数据库操作基本语法(6页珍藏版)》请在金锄头文库上搜索。

1、数据库执行是从左到右执行的创建表SQLcreatetableclasses(classIdnumber(2),cnamevarchar2(40),birthdaydate);添加一个字段SQLaltertablestudentadd(classIdnumber(2);修改字段长度SQLaltertablestudentmodify(xmvarchar2(30);修改字段的类型/或是名字(不能有数据)SQLaltertablestudentmodify(xmchar(30);删除一个字段SQLaltertablestudentdropcolumnsal;修改表的名字SQLrenamestuden

2、ttostu;删除表SQLdroptablestudent;插入所有字段数据SQLinsertintostudentvalues(001,salina,女,01-5月-05,10);修改日期输入格式SQLaltersessionsetnls_date_format=yyyymmdd;/临时生效,重启后不起错用SQLinsertintostudentvalues(001,salina,女,to_date(01-5-05,yyyy-mmdd),10);SQLinsertintostudentvalues(001,salina,女,,to_date(01/5-05,yyyy/mm/dd),10);插

3、入部分字段SQLinsertintostudent(xh,xm,sex)values(001,lison,女);插入空值SQLinsertintostudent(xh,xm,sex,birthday)values(021,BLYK,男,null);一条插入语句可以插入多行数据SQLinsertintokkk(Myid,myname,mydept)selectempno,ename,deptnofromempwheredeptno=10;查询空值/(非空)的数据SQLselect*fromstudentwherebrithdayisnull(/notnull);修改(更新)数据SQLupdate

4、studentsetsal=sql/2wheresex=男,;更改多项数据SQLupdateempset(job,sal,comm)=(selectjob,sal,commfromempwhereename=SMITH,)whereename=SCOTT,;删除数据1.保存还原点SQLsavepointaa;2.删除数据【1】SQLdeletefromstudent;/删除表的数据【2】SQLdroptablestudent;/删除表的结构和数据【3】SQLdeletefromstudentwherexh=,001,;/删除一条记录【4】SQLtruncatetablestudent;/删除表

5、中的所有记录,表结构还在,不写日志,无法扎找回的记录,速度快查看表结构SQLdescstudent;查询指定列SQLselectsex,xh,xmfromstudent;如何取消重复SQLselectdistinctdeptno,jobfromstudent;打开显示操作时间的开关SQLsettimingon;为表格添加大的数据行(用于测试反应时间)SQLinsertintousers(userid,username,userpss)select*fromusers;统计表内有多少条记录SQLselectcount(*)fromusers;屏蔽列内相同数据SQLselectdistinctde

6、ptno,jobfromemp;查询指定列的某个数据相关的数据SQLselectdeptno,job,salfromempwhereename=smith;使用算数表达式SQLselectsal*12fromemp;使用类的别名SQLselectename“姓名”,sal*12as“年收入”fromemp;处理null(空)值SQLselectsal*13+nvl(comm,0)*13“年工资”,ename,commfromemp连接字符串(丨丨)SQLselectenameIIisaIIjobfromemp;Where子句的使用【1】SQLselectename,salfromempwher

7、esal3000;/number的范围确定【2】SQLselectename,hiredatefromempwherehiredate1-1月1982;/日期格式的范围确定【3】SQLselectename,salfromempwheresal=2000andsal500orjob=MANAGER)andenamelikeJ;Orderby排序【1】SQLselect*fromemporderbysal(asc);/从低到高默认【2】SQLselectfromemporderbysaldesc;/从高到低【3】SQLselectfromemporderbydeptno(asc),saldesc

8、;/组合排序【4】SQLselectename,sal*12“年薪”fromemporderby“年薪”(asc);SQLselectename,(sal+nvl(comm,0)12as年薪”fromemporderby年薪;资料分组(max、min、avg、sum、count)SQLselectmax(sal),min(sal)fromemp;SQLselectename,salfromempwheresal=(selectmax(sal)fromemp);/子查询,组合查询SQLselectfromempwheresal(selectavg(sal)fromemp);/子查询,组合查询SQ

9、Lupdateempsetsal=sal*1。1wheresalselectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)2000;SQLselectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)2000orderbyavg(sal);多表查询笛卡尔集:规定多表查询的条件是至少不能少于:表的个数-1SQLselecta1.ename,a1。sal,a2.dnamefromempa1,depta2wherea1.deptno=a2。deptno;SQLsel

10、ecta1。dname,a2.ename,a2。salfromdepta1,empa2wherea1。deptno=a2。deptnoanda1.deptno=10;/显示部门编号为10的部门名、员工名和工资SQLselecta1。ename,a1。sal,a2。gradefromempa1,salgradea2wherea1。salbetweena2.losalanda2.hisal;SQLselecta1.ename,a1.sal,a2。dnamefromempa1,depta2wherea1.deptno=a2.deptnoorderbya1.deptno;/多表排序SQLselectw

11、orker.ename,boss。enamefromempworker,empbosswhereworker。mgr=boss。empno;/自连接(多表查询的特殊情况)SQLselectworker.ename,boss。enamefromempworker,empbosswhereworker。mgr=boss。empnoandworker。ename=FORD;子查询SQLselect*fromempwheredeptno=(selectdeptnofromempwhereename=SMITH;SQLselectdistinctjobfromempwheredeptno=10;SQLs

12、electfromempwherejobin(selectdistinctjobfromempwheredeptno=10);/如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号。SQLselectename,sal,deptnofromempwheresalall(selectsalfromempwheredeptno=30);如何査询工资比部门30的所有员工的工资高的员工的姓名、工资和部门号SQLselectename,sal,deptnofromempwheresal(selectmax(sal)fromempwheredeptno=30);SQLselectfromempwh

13、ere(deptno,job)=(selectdeptno,jobfromempwhereename=SMITH);内嵌视图当在from子句中使用子査询的时候,必须给子査询指定别名SQLselecta2.ename,a2.sal,a2。deptno,a1。mysalfromempa2,(selectdeptno,avg(sal)(as)mysalfromempgroupbydeptno)a1wherea2.deptno=a1.deptnoanda20sala1mysal;分页SQLselectal。*,rownumrnfrom(select*fromemp)a1;orcle为表分配的行号SQLselect*from(selecta1。*,rownumrnfrom(select*fromemp)alwhererownum

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号