时间:2021-07-01 10:21:17 帮助过:3人阅读





1.基本的登录语句:
2.JDBC连接Oracle数据库的写法:
--登录Oraclesqlplus scott/tiger@192.168.56.101:1521/orcl--清屏host cls--当前用户show userUSER 为 "SCOTT"
jdbc:oracle:thin:@localhost:1521:orcljdbc:oracle:oci:@loaclhost:1521:orcl
第一种方式只需要一个jar包,第二种方式更复杂一些(功能更强大)。
4.设置行宽和列宽
--开始记录spool d:\1.txt--结束记录spool off
--当前用户下的表(oracle中必须要有from)select * from tab;--员工表的结构desc是describe的缩写desc emp--查询所有员工信息select * from emp;--显示设置行宽show linesize--结果linesize 80set linesize 120--设置列宽(col代表column,a表示字符类型,8表示长度为8,9表示以为数字,9999表示四个数字,for是format的缩写)col ename for a8col sal for 9999--/表示引用上面的sql语句/
--通过列名查询select empno,ename,job,mgr,hiredate,sal,comm,deptno form emp;--第 2 行出现错误: ORA-00923: 未找到要求的 FROM 关键字--c命令 change缩写--指定第二行2--结果:2* form emp--/form原错误值/from新值c /form/from--改正结果:2* from emp--/代表引用上面的sql语句/
将comm奖金中的null值变成0,从而不会出现总薪水的值为null
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;
--ed是edit的缩写ed--结果:已写入 file afiedt.buf--执行sql语句/
"别名"或者不加引号,区别:别名中有空格或者关键字必须加上双引号
| 12 | --别名的使用select empno as "员工号",ename "姓名",sal "月  薪",sal*12,comm,sal*12+nvl(comm,0) from emp | 
| 12345678910111213 | --distinct去掉重复记录select distinct deptno from emp; --字符串连接--distinct作用于后面所有的列select distinct deptno,job from emp; --连接符--concatselect concat('Hello','  World'); --dual: 伪表select 'hello'||'  world' 字符串 from dual; | 
![]()  | ![]()  | 
![]()  | ![]()  | 
![]()  | ![]()  | 
![]()  | ![]()  | 
![]()  | ![]()  | 
| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | --字符串大小写敏感--查询名叫KING的员工select * from emp where ename='KING'; --日期格式敏感--查询入职日期是17-11月-81的员工select * from emp where hiredate='17-11月-81';--默认格式:DD-MON-RR --查看日期格式select * from v$nls_parameters;--修改日期格式
 
 --修改成默认alter session set NLS_DATE_FORMAT='DD-MON-RR'; --between and--查询工资1000~2000之间的员工select * from emp where sal between 1000 and 2000; --between and: 1. 包含边界 2. 小值在前 大值在后--in 在集合中--查询10和20号部门的员工select * from emp where deptno in (10,20); --null值 3. 如果集合中含有null,不能使用not in;但可以使用in--错误查找语句select * from emp where deptno not in (10,20,null) --like 模糊查询-- %(任意位数字符)  _(一位字符)--查询名字以S打头的员工select * from emp where ename like 'S%'; --\转义符号,转义_这个特殊符号select * from emp where ename like '%\_%' escape '\' --回退已完成,oracle自动开启事务,所以可以直接回滚rollback; --排序--查询员工信息,按照月薪排序select * from emp order by sal; --order by 后面 + 列,表达式,别名,序号select empno,ename,sal,sal*12 from emp order by sal*12 desc; --多个列排序(先按照第一个排序,相同时按照第二个排序)select * from emp order by deptno,sal; --order by 作用于后面所有的列;desc只作用于离他最近的一列select * from emp order by deptno desc,sal desc --查询员工信息,按照奖金排序--null 值 4. null的排序,默认情况下null最大select * from emp order by comm; --oracle默认进行分页,可以设置每页记录数set pagesize 20 --a命令: append(在当前的sql语句的基础上添加desc)--a与后面的关键字之间要有两个空格(防止语句连到一起)a  desc select * from emp order by comm desc nulls last(将null放到最后,默认情况下null最大) | 
![]()  | ![]()  | 
![]()  | ![]()  | 
![]()  | ![]()  | 
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | --字符函数select lower('Hello WOrld') 转小写,upper('Hello WOrld') 转大写,initcap('hello world') 首字母大写 from dual; --substr(a,b) 从a中,第b位开始取select substr('Hello World',3) 子串 from dual; --substr(a,b,c) 从a中,第b位开始取,取c位select substr('Hello World',3,4) 子串 from dual; --length 字符数 lengthb 字节数(英文字符数和字节数相同,中文一个字符两个字节)select length('Hello World') 字符,lengthb('Hello World') 字节 from dual; --instr(a,b) 在a中,查找bselect instr('Hello World','ll') 位置 from dual; --lpad 左填充 rpad右填充-- abcd填充后共10位,左边右边分别填充特定符号select lpad('abcd',10,'*') 左,rpad('abcd',10,'*') 右 from dual; --trim 去掉前后指定的字符select trim('H' from 'Hello WorldH') from dual; --replaceselect replace('Hello World','l','*') from dual; --四舍五入select round(45.926,2) 一,round(45.926,1) 二,round(45.926,0) 三,round(45.926,-1) 四,round(45.926,-2) 五 from dual;--结果        一         二         三         四         五                         ---------- ---------- ---------- -                    
                  
	 	
                    
                    
                    
                    
                    
                
              
                    
                
                  
                     |