Oracle编程学习笔记

Sql语句含义备注
DESC EMP;查询表结构EMP为表名
SELECT table_name FROM user_tables;查看当前用户下的所有表的名字
select*from emp;查询emp表中的所有记录
DELETE FROM 表名称 WHERE 列名称 = 值DELETE 语句用于删除表中的行。DELETE FROM Person WHERE LastName = 'Wilson' 
DELETE  FROM table_name where id=1删除id为1 的记录
DELETE  FROM table_name所有表记录删除
drop table subject;删除表subject
select Ename,job from emp;查询ename和job这两个字段的值(列)
SELECT DISTINCT 列名称 FROM 表名称去除查询出来的重复值DISTINCT只能在select后边,去重的时候,要在一整行记录都重复的情况下才会去重,否则打破数据对应关系
select id*2 as id2 from emp查询id*2的值显示为id2as也可以用空格代替,给表取别名的时候只能用空格

eg:--查询编号  姓名  年薪  月薪   日薪   
select EMPNO AS 编号, ENAME AS 姓名,SAL*12 AS 年薪,SAL as 月薪,SAL/30 AS 日薪 from EMP; 
||拼接字符串select '编号:'|| empno ||'姓名:'|| ename ||'月薪'||sal 描述
from emp ;
ORDER BY 用于对结果集进行排序。select  * from emp order by id  DESC   按照ID降序排序                       
  ASC是升序(默认)
DESC是降序
is noll、is not null判断null
=  null判断值是否为null
a>200 and     c  <300  或者 between 200 and 300范围查询【闭区间】
IN(10,20,30)取10,20或者30
NOT IN(10,20)不取10或20
like模糊查询% 
表示任意个任意字符
_  (下划线)表示一个任意字符
select * from emp where job like '%S%';      包含S的
select * from emp where job like '_S%';        第二个字符为S的
select * from emp where job like 'S%';       以S开头的
select * from emp where job like '%S';      以S结尾的
SELECT table_name FROM user_tables;查看当前用户下的所有表的名字
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值Update 语句用于修改表中的数据。update emp SET  sal=400 where empno=7369;
NVL(列,数值)
NVL(列,'文本')
如果这个之值为空,则替换为数值
如果这个之值为空,则替换为文本
select sal+nvl(comm,0) as 工资 from emp;
select distinct student.name,grade.score from subject,grade,student where grade.score=90 and STUDENT.id=1;
多表关联查询
单行函数
字符函数upper(str)把str变为大写
lower(str)把str变为小写
initcap(str)把str首字母变大写
replace(str,f,s)把f换为s
length(str)长度
substr(str,index1,index2)截取    左闭右开区间
substr(str,3)截取3到结尾
substr(str,-3)截取后三位
ASCII('a')获取字符ASCII码
CHAR(100)把ASCII码转化为字符
Ltrim(str)去除str左边空白
trim(str)去除str两边空白字符
Rtrim(str)去除str右边空白
LPAD填充       select LPAD('cc',10,'*')          用*代替cc左边不足10位的字符
RPAD填充       select RPAD('cc',10,'*')          用*代替cc右边边不足10位的字符
instr(‘hello’,‘ll’)返回ll在hello中的索引
concat    和    ||拼接
数值型函数round(1.234)四舍五入保留整数
round(1.234,2)四舍五入保留2位小数
trunc(1.23)直接舍弃小数
trunc(1.23,2)保留两位小数截取
MOD(10,3)10/3的余数(取模运算)
Ceil(45.67)向上取整
Floor(45.56)向下取整
日期函数systimestamp获取当前时间
add_months(sysdate,3)在sysdate日期之后3个月的日期
add_months(sysdate,-3)在sysdate日期之前3个月的日期
next_day(sysdate,'Sunday')下一个星期天的日期
last_day(sysdate)返回本月最后一天
Months_between(sysdate,hiredate)返回两个日期的月差
extract(year from sysdate)从sysdate中获取年份
extract(month from sysdate)从sysdate中获取月份
extract(day from sysdate)从sysdate中获取天
extract(hour from systimestamp)从sysdate中获取时
extract(minute from systimestamp)从sysdate中获取分
extract(second from systimestamp)从sysdate中获取秒
to_timestamp(‘2018-12-12 12:3:4’,‘yyyy-mm-dd  hh24:mi:ss’)格式化时间格式(字符串转日期)
转换函数to_char(sysdate,‘yyyy-mm-dd  hh24:mi:ss’)将日期格式转化为字符串
to_char(1234567,'999,999,999,999')将格式转化为货币格式,如果为9则不会补0,0则不会
to_number('8')将字符8转换为数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡定努

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值