当前位置:首页 > 云计算 > 正文内容

mysql与oracle语法区别有哪些?

2022-05-04 03:28:22云计算3

mysql与oracle语法区别:

1、在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名

2、连接字符串在Oracle中用|| ,MySQL中用concat('a','b','c')

3、mysql没有像orcale的动态游标,只有显示游标

DELIMITER$$

DROPPROCEDUREIFEXISTS`test`.`liyukun`$$

CREATEDEFINER=`ids`@`localhost`PROCEDURE`liyukun`(outzint)



BEGIN

declarecount1int;
DECLAREdoneINTDEFAULT0;

declarev_haomavarchar(50);
declarev_yingyetingvarchar(100);


DECLAREcur1CURSORFORselecthaoma,yingyetingfromeryuewhereid<2;
DECLARECONTINUEHANDLERFORNOTFOUNDSETdone=1;
//这里和oracle有区别,Oracle的PL/SQL的指针有个隐性变
量%notfound,Mysql是通过一个Errorhandler的声明来进行判断的


OPENcur1;
cur1:LOOP
FETCHcur1INTOv_haoma,v_yingyeting;
IFdone=1THEN//如果没有数据了,则离开
LEAVEcur1;
ELSE

selectcount(*)intocount1fromyear2012wherehaoma=v_haoma;
if(count1=0)then

insertintoyear2012(haoma,yingyeting)
values(v_haoma,v_yingyeting);

else
setz=z+1;
updateyear2012seteryue=‘100’wherehaoma=v_haoma;

endif;


ENDIF;
ENDLOOPcur1;
CLOSEcur1;



END$$

DELIMITER;

4、orcale用decode()来转换数据,mysql用case when:

SELECT
sql中casewhenTitle,
sql中casewhen'PriceRange'=
sql中casewhenCASE
sql中casewhenWHENpriceISNULLTHEN'Unpriced'
sql中casewhenWHENprice<10THEN'Bargain'
sql中casewhenWHENpriceBETWEEN10and20THEN'Average'
sql中casewhenELSE'Gifttoimpressrelatives'
sql中casewhenEND(必须有end)

5、Orcale中没有TOP,是通过

select*from(select*fromAorderbyiddesc)whererownum=1

注:不能直接写 select * from A where rownum=1 order by id desc 因为语句执行的顺序是先where再order by ,如果这样写就无法按id的排序来取第一个了。

不能写rownum=2或rownum>1这样,因为Orcale 默认必须包含第一条。

如果非要取第二条的话,可以写成:

select*from(selectid,rownumasrow_numfromlws_q_bl_resultrwherer.sample_id='B10226072')whererow_num=2

mysql:

limit是mysql的语法

select*fromtablelimitm,n

其中m是指记录开始的index,从0开始,表示第一条记录

n是指从第m+1条开始,取n条。

select*fromtablenamelimit2,4

即取出第3条至第6条,4条记录

6、Orcale,MySql while循环比较

Orcale:

whilenum<10
loop
str:=to_char(num);
num:=num+1;
endloop;

mysql:

whilenum<10
do
str:=to_char(num);
num:=num+1;
endwhile;

7、orcale 生成唯一序列是 select sys.guid() from dual ,mysql是 select uuid() from dual

推荐:MySQL教程

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/17420.html

标签: Python