Oracle数据库操作基本语法Word下载.doc

上传人:wj 文档编号:1453947 上传时间:2023-04-30 格式:DOC 页数:6 大小:44KB
下载 相关 举报
Oracle数据库操作基本语法Word下载.doc_第1页
第1页 / 共6页
Oracle数据库操作基本语法Word下载.doc_第2页
第2页 / 共6页
Oracle数据库操作基本语法Word下载.doc_第3页
第3页 / 共6页
Oracle数据库操作基本语法Word下载.doc_第4页
第4页 / 共6页
Oracle数据库操作基本语法Word下载.doc_第5页
第5页 / 共6页
Oracle数据库操作基本语法Word下载.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle数据库操作基本语法Word下载.doc

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

Oracle数据库操作基本语法Word下载.doc

修改日期输入格式

altersessionsetnls_date_format=‘yyyy-mm-dd’;

//临时生效,重启后不起错用

insertintostudentvalues(‘001’,’salina’,’女’,to_date(’01-5-05’,’yyyy-mm-dd’),10);

insertintostudentvalues(‘001’,’salina’,’女’,to_date(’01/5-05’,’yyyy/mm/dd’),10);

插入部分字段

insertintostudent(xh,xm,sex所要插入列的列名

)values(‘001’,’lison’,’女’所要插入列的内容

);

插入空值

insertintostudent(xh,xm,sex,birthday)values(‘021’,’BLYK’,’男’,null);

一条插入语句可以插入多行数据

insertintokkk(Myid,myname,mydept)selectempno,ename,deptnofromempwheredeptno=10;

查询空值/(非空)的数据

select*fromstudentwherebrithdayisnull(/notnull);

修改(更新)数据

SQL>updatestudentsetsal=sql/2(如果还有,则加“,”以此类推)

wheresex=’男’(如果是空的,则用“isnull”)

更改多项数据

updateempset(job,sal,comm)=(selectjob,sal,commfromempwhereename='

SMITH'

)whereename='

SCOTT'

;

删除数据

1.保存还原点

savepointaa保存点的名称

2.删除数据

【1】SQL>

deletefromstudent;

//删除表的数据

【2】SQL>

//删除表的结构和数据

【3】SQL>

deletefromstudentwherexh=’001’;

//删除一条记录

【4】SQL>

truncatetablestudent;

//删除表中的所有记录,表结构还在,不写日志,无法扎找回的记录,速度快

查看表结构

descstudent;

查询指定列

selectsex,xh,xmfromstudent;

如何取消重复

selectdistinctdeptno,job列名

fromstudent表名

打开显示操作时间的开关

settimingon;

为表格添加大的数据行(用于测试反应时间)

insertintousers(userid,username,userpss)select*fromusers;

统计表内有多少条记录

selectcount(*)fromusers;

屏蔽列内相同数据

selectdistinctdeptno,jobfromemp;

查询指定列的某个数据相关的数据

SQL>selectdeptno,job,salfromempwhereename=’smith’;

使用算数表达式

selectsal*12fromemp;

使用类的别名

selectename“姓名”,sal*12as“年收入”fromemp;

处理null(空)值

selectsal*13+nvl(comm,0)*13“年工资”,ename,commfromemp;

连接字符串(||)

SQL>selectename||‘isa’||jobfromemp;

Where子句的使用

【1】SQL>

selectename,salfromempwheresal>

3000;

//number的范围确定

【2】SQL>

selectename,hiredatefromempwherehiredate>

’1-1月-1982’;

//日期格式的范围确定

【3】SQL>

=2000andsal<

=2500;

//组合条件

Like操作符:

’%’、’_’

selectename,salfromempwhereenamelike‘S%’;

//第一个字符【名字第一个字符为S的员工的信息(工资)】

selectename,salfromempwhereenamelike‘__O%’;

//其它字符【名字第三个字符为O的员工的信息(工资)】

批量查询

select*fromempwherein(123,456,789);

//查询一个条件的多个情况的批量处理

查询某个数据行的某列为空的数据的相关数据

SQL>

select*fromempwheremgrisnull;

条件组合查询(与、或)

select*fromempwhere(sal>

500orjob=’MANAGER’)andenamelike‘J%’;

Orderby排序

select*fromemporderbysal(asc);

//从低到高[默认]

select*fromemporderbysaldesc;

//从高到低

select*fromemporderbydeptno(asc),saldesc;

//组合排序

【4】SQL>

selectename,sal*12“年薪”fromemporderby“年薪”(asc);

selectename,(sal+nvl(comm,0))*12as"

年薪"

fromemporderby"

资料分组(max、min、avg、sum、count)

selectmax(sal),min(sal)fromemp;

selectename,salfromempwheresal=(selectmax(sal)fromemp);

//子查询,组合查询

select*fromempwheresal>

(selectavg(sal)fromemp);

updateempsetsal=sal*1.1wheresal<

(selectavg(sal)fromemp)andhiredate<

'

1-1月-1982'

//将工资小于平均工资并且入职年限早于1982-1-1的人工资增加10%

Groupby和having子句

//groupby用于对查询出的数据进行分组统计

//having用于限制分组显示结果

selectavg(sal),max(sal),deptnofromempgroupbydeptno;

//显示每个部门的平均工资和最低工资

selectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)>

2000;

2000orderbyavg(sal);

多表查询

笛卡尔集:

规定多表查询的条件是至少不能少于:

表的个数-1

selecta1.ename,a1.sal,a2.dnamefromempa1,depta2用于区别多个表中的列名

wherea1.deptno=a2.deptno多表查询中多表的关联符

selecta1.dname,a2.ename,a2.salfromdepta1,empa2wherea1.deptno=a2.deptnoanda1.deptno=10;

//显示部门编号为10的部门名、员工名和工资

selecta1.ename,a1.sal,a2.gradefromempa1,salgradea2wherea1.salbetween某个条件

a2.losalanda2.hisal;

selecta1.ename,a1.sal,a2.dnamefromempa1,depta2wherea1.deptno=a2.deptnoorderbya1.deptno;

//多表排序

selectworker.ename,boss.enamefromempworker,empbosswhereworker.mgr=boss.empno;

// 自连接(多表查询的特殊情况)

selectworker.ename,boss.enamefromempworker,empbosswhereworker.mgr=boss.empnoandworker.ename='

FORD'

子查询

select*fromempwheredeptno=(selectdeptnofromempwhereename='

selectdistinct过滤关键词

jobfromempwheredeptno=10;

select*fromempwherejobin(selectdistinctjobfromempwheredeptno=10);

//如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号。

selectename,sal,deptnofromempwheresal>

all(selectsalfromempwheredeptno=30);

//如何查询工资比部门30的所有员工的工资高的员工的姓名、工资和部门号

(selectmax(sal)fromempwheredeptno=30);

select*fromempwhere(deptno,job)=(selectdeptno,jobfromempwhereename='

内嵌视图

//当在from子句中使用子查询的时候,必须给子查询指定别名

selecta2.ename,a2.sal,a2.deptno,a1.mysalfromempa2,(selectdeptno,avg(sal)(as)mysalfromempgroupbydeptno)a1wherea2.deptno=a1.deptnoanda2.sal>

a1.mysal;

分页

SQL >selecta1.*,rownumrnfrom(select*fromemp)a1;

//orcle为表分配的行号

select*from(selecta1.*,rownumrnfrom(select*fromemp)a1whererownum<

=10)wherern>

=6;

//查询内容的变化

1.所有的改动(指定查询列)只需更改最里面的子查询

2.(排序)只需更改最里面的子查询

子查询(用查询结果创建新表)

createtablemytable(id,name,sal,job,deptno)asselectempno,ename,sal,job,deptnofromemp;

合并查询

union(求并集),unionall,intersect(取交集),minus(差集)

selectename,sal,jobfromempwheresal>

2500;

selectename,sal,jobfromempwherejob='

MANAGER'

2500unionselectename,sal,jobfromempwherejob='

//union(求并集)

Java连接数据库

事务

commit;

//事务 (第一次创建,第二次提交)当退出数据库时,系统自动提交事务

savepointa1;

//创建保存点 (保存点的个数没有限制)

rollbacktoaa;

//使用保存点回滚到aa

rollback;

//回滚到事务创建开始

只读事务

settransactionreadonly

Java中的事务

Ct.setAutoCommit(false);

//设置事务自动提交为否

Cmit();

//提交事务

字符函数

lower(char)将字符串转换为小写的格式

upper(char)将字符串装换为大写的格式

length(char)返回字符串的长度

substr(char,m,n)取字符串的子串

selectlower(ename)fromemp;

selectenamefromempwherelength(ename)=5;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2