数据库日常基本经常使用的基本语法和函数

本文详细介绍了MySQL和Oracle中的SQL基础语法,包括orderby、groupby、having、limit、insert、delete、update等操作,以及substr、decode、replace和日期转换函数如to_char和to_date的用法。
摘要由CSDN通过智能技术生成

这些都是日常经常使用到的一些基本语法,有mysql和orcal,因为日常开发中经常用到这些基础知识。
–order by group by having limit用法:

–1,order by用法
select * from BASEINFO_PSN order by BASEINFO_PSN_ID desc ;
–ASC 是升序,Desc是降序,默认是升序

–2,group by用法
SELECT PSN_NAME ,COUNT(BASEINFO_PSN_ID)FROM BASEINFO_PSN GROUP BY PSN_NAME;

–3,having 用法,having一般跟group by一起使用,having后面的条件是合聚函数

–where是在group by之前,having 是group by分组之后,所以having可以跟聚合函数使用。

SELECT PSN_NAME ,COUNT(BASEINFO_PSN_ID)FROM BASEINFO_PSN GROUP BY PSN_NAME having COUNT(BASEINFO_PSN_ID)>0;

–4 limit用法,limit是表示从什么范围内的数据。(0,99)表示取前100条数据。rownum在orcal中使用类似limit

select * from BASEINFO_PSN where rownum < 101
;

–insert into 表名(列名1,列名2,…) values(值1,值2,…)
–insert into 表名 set 列名=值,列=值,…

–delete from 表名 where 列=值
–truncate table 表名 清空表数据

–update 表名 set 列=值,列=值,…where 更新条件

–select 列 from 表名 where 条件

—distinct去重
—like模糊查询 通配符 % ,_。
/*oracle 中的substr()函数详解

1.substr函数格式 (俗称:字符截取函数),有两种用法格式如下:
格式1: substr(string string, int a, int b);

格式2:substr(string string, int a) ;

解析:
格式1:
1、string 需要截取的字符串
2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
3、b 要截取的字符串的长度

格式2:
1、string 需要截取的字符串
2、a 可以理解为从第a个字符开始截取后面所有的字符串。

2.实例解析

格式1:
select substr(‘HelloWorld’,0,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr(‘HelloWorld’,1,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr(‘HelloWorld’,2,3) value from dual; //返回结果:ell,截取从“e”开始3个字符
select substr(‘HelloWorld’,0,100) value from dual; //返回结果:HelloWorld,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
select substr(‘HelloWorld’,5,3) value from dual; //返回结果:oWo
select substr(‘Hello World’,5,3) value from dual; //返回结果:o W (中间的空格也算一个字符串,结果是:o空格W)
select substr(‘HelloWorld’,-1,3) value from dual; //返回结果:d (从后面倒数第一位开始往后取1个字符,而不是3个。原因:下面红色 第三个注解)
select substr(‘HelloWorld’,-2,3) value from dual; //返回结果:ld (从后面倒数第二位开始往后取2个字符,而不是3个。原因:下面红色 第三个注解)
select substr(‘HelloWorld’,-3,3) value from dual; //返回结果:rld (从后面倒数第三位开始往后取3个字符)
select substr(‘HelloWorld’,-4,3) value from dual; //返回结果:orl (从后面倒数第四位开始往后取3个字符)

格式2:
select substr(‘HelloWorld’,0) value from dual; //返回结果:HelloWorld,截取所有字符
select substr(‘HelloWorld’,1) value from dual; //返回结果:HelloWorld,截取所有字符
select substr(‘HelloWorld’,2) value from dual; //返回结果:elloWorld,截取从“e”开始之后所有字符
select substr(‘HelloWorld’,3) value from dual; //返回结果:lloWorld,截取从“l”开始之后所有字符
select substr(‘HelloWorld’,-1) value from dual; //返回结果:d,从最后一个“d”开始 往回截取1个字符
select substr(‘HelloWorld’,-2) value from dual; //返回结果:ld,从最后一个“d”开始 往回截取2个字符
select substr(‘HelloWorld’,-3) value from dual; //返回结果:rld,从最后一个“d”开始 往回截取3个字符

*/

/*
decode函数用法

decode函数相当于if…else…,只不过语法很简洁

decode()函数用法:

decode(条件,值1,值2,值3……)
当decode条件,值1满足时,就输出值1,值2满足时,就输出值2,。。。。以此类推,

decode(字段值,值1,值2,值3……)
当字段值等于值1 ,则输出值2,否则输出值3

列子:
decode(CXBZ00, ‘Z’, ‘正常’, ‘+’, ‘冲销正账’, ‘-’, ‘冲销负账’) CXBZCN

如果CXBZ00的值是‘Z’,那么值就是‘正常’,如果CXBZ00的值是’+‘, 那么值就是‘冲销正账’,如果CXBZ00的值是’-‘, 那么值就是’冲销负账’
这个还是经常用到的。

*/

/*
replace函数

语法:replace(string,replaced_string,replace_string)
即replace(字符串,被替代字符,替代字符)

参数说明

string:目标字符串,需要进行调整操作的字符串。可为字段,表达式等。

replaced_string:被替代字符串,可为字符,比如“,”、“.”、“{”等。

replace_string:替代字符,为目标替代的字符,若不填字符表示删掉replaced_string。比如将“www.mysql.com”中的字符‘.’替代为“,”,即replace(“www.mysql.com”,‘.’,‘,’);若直接删掉‘my’则为replace(“www.mysql.com”,‘.’,‘’)

oracle REPLACE 函数是用另外一个值来替代串中的某个值。

例如,可以用一个匹配数字来替代字母的每一次出现。REPLACE 的格式如下所示:

REPLACE ( char, search_string [, replace_string]) 如果没有指定replace_string 变量的值,那么当发现search_string 变量的值时,就将其删除。输入可以为任何字符数据类型——CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB或NCLOB。
eg:
select replace(‘0123456789’,‘0’,‘a’) from dual;–a123456789

select replace(‘0123456789’,‘0’,‘’) from dual;–123456789

select replace(‘0123456789’,‘0’) from dual;–123456789
*/

–to_char与to_date的用法
–to_char
–to_char 语法 : to_char(日期 , ‘日期格式’)
–作用 : 将日期通过指定格式进行字符串转换 Date => String
–to_date
–to_date 语法 :to_date(字符串 , ‘日期格式’)
–作用 : 将字符串通过指定格式进行日期转换 String => Date

–to_char是将日期转成字符串,to_date()是将字符串转成日期。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值