Oracle

  • oracle数据库类型:
    第一:字符型:
    varchar2(n):变长字符串,n代表允许的最大字节长度,最大4000字节
    char(n):同上,定义字符串,最大2000字节,长度不够会填充半角空格,查询效率高用于(手机号、身份证号等确定长度的)
    clob:大字符数据,最大4G,默认数据在4000字节内,存储在表段空间中,超过4000字节会用LOB段存储,查询效率低
    第二:数字类型:
    number:存储整型或浮点型,最大38位精度
    number(n):仅存整数,n代表最大位数,number(4)取值范围:-9999~9999
    number(p,s):存浮点类型,p代表最大精度(小数位精度和整数精度),s代表小数位
    第三:日期
    date:存储年月日时分秒,精确到秒
    timestamp(n) :时间戳,精确到纳秒
    第四:blob:大二进制数据,最大4G 可以存图片、视频、音乐等等
  • SQL
    DQL:数据库查询语言,select
    DML:数据库操作语言,insert,update,delete
    DDL:数据库定义语言,create table/index/view,alert,drop
    DCL:数据库控制语言, commit,rollback,savepoint
  • 查询
    第一:在给列起别名的时候要用双引号、双引号在特定的情况下不能省略【例如中间有空格或者其他特殊字符的】

在这里插入图片描述
第二:oracle用字符串查询时,我们使用单引号,不要使用双引号。
在这里插入图片描述
在这里插入图片描述
第三:oracle中的连接符:||
在这里插入图i 片描述
第四:oracle中查询时间类型
在这里插入图片描述
在这里插入图片描述
第五:对于null值,必须使用is null或者is not null来判断,不能使用关系运算符
第六:模糊查询like
通配符:"_":表示匹配任意的一位字符
“%”:表示匹配任意多个字符,可能是0位,1位,多位

//查询第二个字母为下划线的信息
select * from emp where ename like '_@_%' escape '@';
  • 单行函数:进去一个值,出来一个值
    有字符串类型的,数值类型的,时间类型的,转换函数,通用函数
    第一:字符串类型的
    字符串转大写:字符串 UPPER(列 | 字符串);
    字符串转小写:字符串 LOWER(列 | 字符串)。
    首字母大写:字符串 INITCAP(列 | 字符串);
    计算字符串长度:数字 LENGTH(列 | 字符串)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    第二:数值类型
    floor():求不大于一个给定数值的最大整数
    ceil():求不小于一个给定数值的最小整数
    abs():求绝对值
    power(n,m):求n的m次幂
    在这里插入图片描述
    第三:add_months(sysdate,-4):从现在往前推4个月
    在这里插入图片描述
    last_day():求最后一天

在这里插入图片描述
在这里插入图片描述
第四:转换函数
to_char(),to_date(),to_number()
第五:通用函数
nvl():相当于java中的if语句

1.处理NULL数据
语法:数字 NVL(列,默认值);
SELECT empno,ename,job,sal,comm,(sal+NVL(comm,0))*12 income FROM emp ;

nvl2():相当与java中的if-else语句

nvl(E1,E2,E3):如果E1不为null,就使用E2的值参与运算,如果E1为null,就使用E3的值参与运算

在这里插入图片描述
decode():相当于java中的switch…case语句

多数值判断函数:
 语法:数据 DECODE(| 数据,比较数据1,显示数据1,比较数据2,显示数据2 ,. [,默认返回]);
SELECT 
	DECODE(9, 0 , '内容为0' , 1 ,'内容为1' , '都不满足条件')  FROM dual ;
DECODE()只能够针对于数据判断,不能够针对于逻辑条件判断。

在这里插入图片描述
第五:count(*)和count(数字)有什么区别?没区别,都是计算总记录数
count(列名):计算该列值不为null的总行数
count(distinct 列名):去除重复行,然后计算不为NUll的总行数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值