首页 Oracle数据库操作基本语法

Oracle数据库操作基本语法

举报
开通vip

Oracle数据库操作基本语法数据库执行是从左到右执行的创建表SQL>createtableclasses(classIdnumber(2),cnamevarchar2(40),birthdaydate);添加一个字段SQL>altertablestudentadd(classIdnumber(2));修改字段长度SQL>altertablestudentmodify(xmvarchar2(30));修改字段的类型/或是名字(不能有数据)SQL>altertablestudentmodify(xmchar(30));删除一个字段SQL>alte...

Oracle数据库操作基本语法
数据库执行是从左到右执行的创建表SQL>createtableclasses(classIdnumber(2),cnamevarchar2(40),birthdaydate);添加一个字段SQL>altertablestudentadd(classIdnumber(2));修改字段长度SQL>altertablestudentmodify(xmvarchar2(30));修改字段的类型/或是名字(不能有数据)SQL>altertablestudentmodify(xmchar(30));删除一个字段SQL>altertablestudentdropcolumnsal修改表的名字SQL>renamestudenttostu;删除表SQL>droptablestudentJSQL>insertintostudentvalues(001'',salina','女'-5,'月0-105'修改日期输入格式SQL>altersessionsetnls_date_format=yyyy-mm-dd';//临时生效,起错用SQL>insertintostudentvalues(,010salina'女,',to_-05','yyyy-mm-dd'),10);SQL>insertintostudentvalues('001salina'女,',to_-05','yyyy/mm/dd'),10);插入所有字段数据插入部分字段SQL>insertintostudent(xh,xm,sex)values('001lison',');女插入空值重启后不10);01-501/5SQL>insertintostudent(xh,xm,sex,birthday)values('021男',null);BLYK一条插入语句可以插入多行数据SQL>insertintokkk(Myid,myname,mydept)selectempno,ename,deptnofromempwheredeptno=10;查询空值/(非空)的数据SQL>select*fromstudentwherebrithdayisnull(/notnull)修改(更新)数据SQL>updatestudentsetsal=sql/2wheresex='男';更改多项数据SQL>updateempset(job,sal,comm)=(selectjob,sal,commfromempwhereename='SMITH')whereename='SCOTT';删除数据1.保存还原点SQL>savepointaa;2.删除数据SQL>deletefromstudent;//删除表的数据2】SQL>droptablestudent;//删除表的结构和数据3]SQL>deletefromstudentwherexh='001';//删除一条记录4】SQL>truncatetablestudent;//删除表中的所有记录,表结构还在日志,无法扎找回的记录,速度快查看表结构SQL>descstudent;查询指定列SQL>selectsex,xh,xmfromstudent如何取消重复SQL>selectdistinctdeptno,jobfromstudent;打开显示操作时间的开关SQL>settimingon;为表格添加大的数据行(用于测试反应时间)SQL>insertintousers(userid,username,userpss)select*fromusers;统计表内有多少条记录SQL>selectcount(*)fromusers;屏蔽列内相同数据SQL>selectdistinctdeptno,jobfromemp;查询指定列的某个数据相关的数据SQL>selectdeptno,job,salfromempwhereename='smith使用算数表达式SQL>selectsal*12fromemp;使用类的别名SQL>selectename”姓名”,sal*12as”年收入”emp;处理null(空)值SQL>selectsal*13+nvl(comm,0)*13连接字符串(||)SQL>selectename||isa'||jolmemp年工资”e,name,commfromemp【1]SQL>selectename,salfromempwheresal>3000;//number的范围确【2]SQL>selectename,hiredatefromempwherehiredate>'-11月-1982';//日期格式的范围确定【3]SQL>selectename,salfromempwheresal>=2000andsal<=2500;//组合条件Like操作符:’%'、'SQL>selectename,salfromempwhereenamelikeS'%';//第一个字符【名字第一个字符为S的员工的信息(工资)SQL>selectename,salfromempwhereenamelike'_O%';//其它字符【名字第三个字符为O的员工的信息(工资)批量查询SQL>select*fromempwherein(123,456,789;//查询一个条件的多个情况的批量处理查询某个数据行的某列为空的数据的相关数据SQL>select*fromempwheremgrisnull;Where子句的使用条件组合查询(与、或)SQL>select*fromempwhere(sal>500orjob='MANAGER'a)ndenamelike'J%';Orderby排序SQL>select*fromemorderbysal(asc);//从低到高[默认]SQL>select*fromemorderbysaldesc;//从高到低SQL>select*fromemporderbydeptno(asc),saldesc;//组合排序SQL>selectename,sal*12"年薪"fromemporderby"年薪"(asc);SQL>selectename,(sal+nvl(comm,0))*12as"年薪"fromemporderby"年薪SQL>selectmax(sal),min(sal)fromemp;SQL>selectename,salfromempwheresal=(selectmax(sal)fromemp);//资料分组(max、min、avg、sum、count)子查询,组合查询子查询,组合查询SQL>select*fromempwheresal>(selectavg(sal)fromemp);//月-1982';//将工资SQL>updateempsetsal=sal*1.1wheresal<(selectavg(sal)fromemp)andhiredate<'1-1小于平均工资并且入职年限早于1982-1-1的人工资增加10%Groupby和having子句//groupby用于对查询出的数据进行分组统计//having用于限制分组显示结果fromempgroupbydeptno;//SQL>selectavg(sal),max(sal),deptnofromempgroupbydeptno;//SQL>selectavg(sal),max(sal),deptnofromempgroupbydeptnoavg(sal)>2000;SQL>selectavg(sal),max(sal),deptnofromempgroupbydeptno显示每个部门的平均工资和最低工资avg(sal)>2000orderbyavg(sal);havinghaving多表查询SQL>selecta1.ename,a1.sal,a2.dname笛卡尔集:规定多表查询的条件是至少不能少于:表的个数fromempa1,depta2where-1SQL>selecta1.dname,a2.ename,a2.sala1.deptno=a2.deptnoa1.deptno=a2.deptnoanda1.deptno=10fromdepta1,empa2where//显示部门编号为10的部门名、员工SQL>selectavg(sal),max(sal),deptnoSQL>selecta1.ename,a1.sal,a2.grade名和工资fromempa1,salgradea2whereSQL>selecta1.ename,a1.sal,a2.dnamea1.salbetweena2.losalanda2.hisalfromempa1,depta2where显示每个部门的平均工资和最低工资a1.deptno=a2.deptnoorderbyal.deptno//多表排序SQL>selectworker.ename,boss.enamefromempworker,empbosswhereSQL>selectworker.ename,boss.enamefromempworker,empbosswhereworker.mgr=boss.empno;//白连接(多表查询的特殊情况)worker.mgr=boss.empnoandworker.ename='FORD';子查询SQL>select*fromempwheredeptno=(selectdeptnofromempwhereename='SMITH');SQL>selectdistinctjobfromempwheredeptno=10;SQL>select*fromempwherejobin(selectdistinctjobfromempwheredeptno=10);//如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号。SQL>selectename,sal,deptnofromempwheresal>all(selectsalfromempwheredeptno=30);//如何查询工资比部门30的所有员工的工资高的员工的姓名、工资和部门号SQL>selectename,sal,deptnofromempwheresal>(selectmax(sal)fromempwheredeptno=30);SQL>select*fromempwhere(deptno,job)=(selectdeptno,jobfromempwhereename='SMITH');内嵌视图//当在from子句中使用子查询的时候,必须给子查询指定别名SQL>selecta2.ename,a2.sal,a2.deptno,a1.mysalfromempa2,(selectdeptno,avg(sal)(as)mysalfromempgroupbydeptno)alwherea2.deptno=a1.deptnoanda2.sal>a1.mysal;分页为表分配SQL>selecta1.*,rownumrnfrom(select*fromemp)a1;//orcle的行号emp)a1SQL>select*from(selecta1.*,rownumrnfrom(select*fromwhererownum<=10)wherern>=6;〃查询内容的变化所有的改动(指定查询列)只需更改最里面的子查询(排序)只需更改最里面的子查询子查询(用查询结果创建新表)selectSQL>createtablemytable(id,name,sal,job,deptno)asempno,ename,sal,job,deptnofromemp;合并查询union(求并集),unionall,intersect(取交集),minus(差集)’unionselectSQL>selectename,sal,jobfromempwheresal>2500;SQL>selectename,sal,jobfromempwheresal>2500SQL>selectename,sal,jobfromempwherejob='MANAGER'//union(求并集)ename,sal,jobfromempwherejob='MANAGER'Java连接数据库事务SQL>commit;//事务(第一次创建,第二次提交)当退出数据库时,//创建保存点(aa;//使用保存点回滚到aa保存点的个数没有限制)统白动提交事务SQL>savepointal;SQL>rollbacktoSQL>rollback;//回滚到事务创建开始只读事务SQL>settransactionreadonlyJava中的事务Ct.setAutoCommit(false);//设置事务白动提交为否Ct.commit();//提交事务字符函数将字符串转换为小写的格式lower(char)upper(char)将字符串装换为大写的格式length(char)返回字符串的长度substr(char,m,n)取字符串的子串SQL>selectlower(ename)fromemp;SQL>selectenamefromempwherelength(ename)=5
本文档为【Oracle数据库操作基本语法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_598372
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:10
分类:
上传时间:2019-09-18
浏览量:0