oracle学习总结1

1:解锁用户
alter user 用户名 account unlock;

2:获取系统时间、随机数
select sysdate, sys_guid() from dual;

3:起别名,使可读性更强,如果想保留字段原来模样,可以
使用双引号括起来
select ename,salary*12 from emp;
select ename,salary*12 annuary_sal from emp;
select ename,salary*12 as annuary_sal from emp;
select ename,salary*12 "annuary sal" from emp;

4:空值
select ename,sal*12+comm from emp;如果算术表达式中有值为null,那么表达式的值就是null
select ename,sal*12+nvl(comm,0) from emp;nvl()函数,如果有值就计算值,为null则替换为0

5:连接符|| ,concat
select ename||sal from emp;
select concat(ename,sal) from emp;

6:数据内部存在单引号‘,使用两个单引号代替一个单引号
select ‘i‘‘m lilei!‘ from dual;

7:distinct去除数据中重复值
select distinct deptno from emp; --获取不重复的deptno的值
select distinct deptno,job from emp; --当distinct修饰两个及以上字段时,表示修饰字段组合不重复

8:条件查询where
select ename,sal from emp where sal>5000; --查询薪水大于5000的员工
select ename,sal from emp where sal<5000; --查询薪水小于5000的员工
select ename,sal from emp where sal<>5000; --查询薪水不等于5000的员工
select ename,sal from emp where sal>=2000 and sal<=7000; --查询薪水大于等于2000,并且小于等于7000的员工
select ename,sal from emp where sal between 2000 and 7000;--同上
select ename,sal from emp where comm is null;--查询奖金为null的员工
select ename,sal from emp where comm is not null;--查询奖金不为null的员工
注意:null在where后面作为条件时用is ,但是update后面修改值时用=

9:in 查询一个字段对应的多个值
select ename,deptno from emp where deptno in(10,20); --查询部门编号为10或者20的员工
select ename,deptno from emp where deptno not in(10,20); --查询部门编号不为10或者20的员工

10:and 同时,or 或者,not 取反
select ename ,deptno from emp where deptno=10 and sal>5000;--查询部门编号为10,同时薪水大于5000的员工
select ename ,deptno from emp where deptno=10 or sal>5000; --查询部门编号为10 或者薪水大于5000的员工

11:模糊查询like %匹配多个字符 _匹配一个字符
select ename from emp where ename like ‘%a%‘; --查询名字中包含a的员工
select ename from emp where ename like ‘_a&‘; --查询名字第二个字符为a的员工
select ename from emp where ename like ‘%\%%‘; --如果名字中包括%,那么就需要转义,默认是\,也可以指定,如下
select ename from emp where ename like ‘%$%%‘ escape ‘$‘ --指定$符号为转义字符

12:排序 order by asc desc
select * from dept order by deptno; --按照deptno排序,默认是升序(asc)
等效于 select * from dept order by deptno asc;

select * from dept where deptno=10 order by dname;--和where组合使用,先筛选出deptno为10的部门,在按照部门名称排序。

select * from dept where deptno=10 order by dname asc,loc desc;--先按照部门名称升序排序,如果部门名称中有相同的,在按照
地址降序排列。

13:常用的sql函数

select lower(ename) from emp; --lower():转换为小写

select upper(ename) from emp; --upper():转换为大写

select substr(ename,1,3) from emp;--从ename字段1开始,截取长度为3的子串 substr():获取子串

select chr(97) from dual; --chr():将数字转换为对应的字符

select ascii(‘a‘) from dual; --ascii():将字符转换为ascii码

select round(2.35,1) from dual;--精确到小数点后1位 pound():四舍五入
select round(2.35) from dual;--默认精确到整数

select to_char(sal,‘$999,999.9999‘) from emp; --将数字转换为字符串,以$符开头,999的格式,L代表本地化货币

select to_char(sysdate,‘yyyy-MM-dd HH:mm:ss‘) from dual; --将日期格式转换为字符串 12小时制
select to_char(sysdate,‘yyyy-MM-dd HH24:mm:ss‘) from dual; -- 24小时制

时间: 2024-08-24 06:45:58

oracle学习总结1的相关文章

oracle 学习

删除用户,创建用户命令 drop user goda cascade:删除用户及其下所有对象,包括表 CREATE USER qdcenter     IDENTIFIED BY qdcenter     DEFAULT TABLESPACE data1     TEMPORARY TABLESPACE temp1     QUOTA unlimited ON data1     QUOTA unlimited ON temp1     QUOTA unlimited ON idx1     Q

Oracle学习-Power Designer、visio 2003、Oracle sql developer、OEM、expdp

Oracle的体系太庞大了.对于刚開始学习的人来说,难免有些无从下手的感觉. 经过一学期的学习对Oracle学习有了一些深入的了解,由于之前学习过Oracle的一些主要的知识.所以学习起来上手比較快一点. 这次Oracle项目让我又一次对Oracle的基本知识进行了运用,而且对软件project也有了新的认识.从需求分析.概念结构设计.逻辑结构设计.物理结构设计.数据库的建立和測试.数据库执行和维护. 尽管说数据库设计的周期比較长将近用了三周左右,可是每一步做的还是非常认真的对待.我选择的是舰队

Oracle学习系列4

Oracle学习系列4 ************************************************************************************ 数据库更新操作: 分类: 查询操作:select 更新操作:insert ,update , delete 为了保存原始的emp表的信息,在进行增删改之前备份词表: create table emp_bak as select * from emp ; //将表emp结构和数据完整的复制出来 添加数据:

Oracle学习系列3

Oracle学习系列3 ************************************************************************************ 多表查询: 1,SQL1999语法对多表查询的支持 2,分组统计及统计函数的使用 3,子查询,并结合多表查询,分组统计做复杂查询 4,数据库的更新操作 5,事务处理和数据库死锁 ****************************************************************

oracle学习--循环语句

oracle学习--循环语句  loop循环: create or replace procedure pro_test_loop is i number; begin i:=0; loop i:=i+1; dbms_output.put_line(i); if i>5 then exit; end if; end loop; end pro_test_loop; while循环: create or replace procedure pro_test_while is i number; b

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

Oracle学习系列5

Oracle学习系列5 ************************************************************************************ 1,掌握表的建立与删除 了解Oracle中的主要数据类型 2,约束的分类和使用 3,表的关联:交,并,补 4,掌握ROWNUM伪列的作用 5,掌握序列的使用 6,掌握视图的作用 7,了解同义词,用户管理,权限分配与撤销,数据库的备份 ------------------------------------

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自

【Oracle学习笔记】

内容主要包含: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其他pl/sql操作 ---------------loop循环定义变量-------------------- declare cursor c1 is select * from emp;# rec emp%rowtype;# i numeber:=1; # v_count number;begin# select count(*) into v_count from

Oracle学习(八):处理数据

1.知识点:能够对比以下的录屏进行阅读 SQL> --SQL语句 SQL> --1. DML语句(Data Manipulation Language 数据操作语言): insert update delete select SQL> --2. DDL语句(Data Definition Language 数据定义语言): create/alter/drop/truncate table SQL> -- create/drop view,create/drop index(sequ