MySQL与Oracle的语法区别详细对比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL与Oracle的语法区别详细对比相关的知识,希望对你有一定的参考价值。

参考技术A Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了

Oracle和mysql的一些简单命令对比
1) SQL>
select to_char(sysdate,'yyyy-mm-dd') from dual;
  SQL> select
to_char(sysdate,'hh24-mi-ss') from dual;
  mysql> select
date_format(now(),'%Y-%m-%d');
  mysql> select
time_format(now(),'%H-%i-%S');
  日期函数
  增加一个月:
  SQL> select
to_char(add_months(to_date ('20000101','yyyymmdd'),1),'yyyy-mm-dd') from dual;

  结果:2000-02-01
  SQL> select
to_char(add_months(to_date('20000101','yyyymmdd'),5),'yyyy-mm-dd') from dual;

  结果:2000-06-01
  mysql> select date_add('2000-01-01',interval 1
month);
  结果:2000-02-01
  mysql> select
date_add('2000-01-01',interval 5 month);
  结果:2000-06-01
  截取字符串:

  SQL> select substr('abcdefg',1,5) from dual;
  SQL> select
substrb('abcdefg',1,5) from dual;
  结果:abcdemysql> select
substring('abcdefg',2,3);
  结果:bcd
  mysql> select
mid('abcdefg',2,3);
  结果:bcd
  mysql> select substring('abcdefg',2);

  结果:bcdefg
  mysql> select substring('abcdefg' from 2);

  结果:bcdefg
2) 在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名
3)
连接字符串在Oracle中用|| ,SqlServer中用+,MySQL中用concat('a','b','c')

4)

在SqlServer中的写法:

复制代码
代码如下:

declare @id varchar(50);
set
@id='4028e4962c3df257012c3df3b4850001';
select * from sims_sample_detect
where ID= @id;

在MySQL中的写法:

复制代码
代码如下:

set @a = 189;
select * from bc_article
where id = @a //不用declare

在Orcale中的写法:

5)MySQL存储过程:

复制代码
代码如下:

DELIMITER $$
DROP PROCEDURE IF EXISTS
`SIMS`.`transaction_delSampleInfo`$$
CREATE DEFINER=`root`@`%` PROCEDURE
`transaction_delSampleInfo`(in sampleInfoId varchar(50))
BEGIN
start
transaction;
update sims_sample_info set del='1' where ID = sampleInfoId;

update sims_sample_detect set del='1' where SAMPLE_ID_PARENT = sampleInfoId;

update sims_sample_detect_info set del='1' where DETECT_ID in(
select ID
from sims_sample_detect where SAMPLE_ID_PARENT = sampleInfoId
);
commit;

END$$
DELIMITER ;

变量名不能跟列名相同,否则效果为1=1,且MySQL不区分大小写。本回答被提问者和网友采纳
参考技术B 这个只有你在用的时候好好体会了

mongodb与mysql区别(超详细)

参考技术A MySQL是关系型数据库。

优势:

在不同的引擎上有不同 的存储方式。

查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

开源数据库的份额在不断增加,mysql的份额页在持续增长。

缺点:

在海量数据处理的时候效率会显著变慢。

Mongodb是非关系型数据库(nosql ),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。

存储方式:虚拟内存+持久化。

查询语句:是独特的Mongodb的查询方式。

适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

优点:

快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。高扩展性,存储的数据格式是json格式!

缺点:

不支持事务,而且开发文档不是很完全,完善。

Mysql和Mongodb主要应用场景

1.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) (2)从datamodels设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。 (3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。

2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。 考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。 亦或是仅作日志收集分析。

---------------------

原文:https://blog.csdn.net/Gjc_csdn/article/details/80419997

以上是关于MySQL与Oracle的语法区别详细对比的主要内容,如果未能解决你的问题,请参考以下文章

MySQL与Oracle的语法区别详细对比

Oracle与Mysql 的区别(对比学习)

mongodb与mysql区别(超详细)

mysql和db2有啥区别

oracle ,mysql 和sqlserver 的主要区别都有哪些?详细的。

mysql 与oracle中的存储过程及函数有啥区别,尽可能详细哦