mysql数据库的SQL语句和oracle的有什么区别?详细点

如题所述

首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;
另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date('要转的字符串','格式') -- select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual,而mysql是str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09//都是针对字符串转日期来的。
还有一点,我们常常希望主键可以自动增长,避免我们插入数据时的重复问题,但是oracle不能设置列自动增长,而mysql是可以的,oracle可以用序列加触发器来解决自动增长问题达到与mysql一样的效果。

总体来说百分之九十的sql语句是没区别的。总体来说oracle的格式严格点,对有些字符型的还必须加单引号才能插入,mysql要求就没这么多了。还有当向数据库插入一个日期时,mysql可以直接插入成功,但是oracle需要先转化为sql里面的日期类型才行;oracle较mysql而言更安全,但是收费的,一般大公司用的多。oracle还有存储过程和函数,触发器这些这是mysql没有的。大体就是这样吧。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-21
区别如下:
1.
Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。
2.
Oracle支持大并发,大访问量,是OLTP最好的工具。
3.
安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。
4.Oracle也Mysql操作上的一些区别
①主键
Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto
increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。
②单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
③翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT
开始位置,
记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,
并且只能用ROWNUM<100,
不能用ROWNUM>80

长字符串的处理
长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节,
如果要插入更长的字符串,
请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
⑤空字符的处理
MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT
NULL来定义ORACLE表结构,
导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
⑥字符串的模糊比较
MYSQL里用
字段名
like
'%字符串%',ORACLE里也可以用
字段名
like
'%字符串%'
但这种方法不能使用索引,
速度不快。
第2个回答  2013-04-09
首先,这三个数据库是不是同一个公司的产品;
二,使用其对应的对象是不一样的,oracle的主流大型数据库,大多数电信项目用于Oracle和sqlserver mysql数据库中使用的个人和小公司的,但对sqlserver费,mysql的没有;

三,功能,Oracle最强大的Oracle支持递归查询,他们不支持两个

,三个数据库,只有SQL Server中有一个完整的图形用户接口,Oracle和MySQL必须通过其他第三方数据库的图形用户界面,如Oracle与大多都PLSQL;
5个纯手工望采纳!
第3个回答  2015-12-14
7) mysql的group by 语句可以select 没有被分组的字段,如
select id,name,age from A group by age 这样
但是在orcale和sqlserver中是会报错的。这个取出的id,name所在的行是每个分组中的第一行数据。
8)orcale用decode()来转换数据,mysql,sqlserver用case when:
case t.DETECT_RESULT when '2402' then t.SAMPLEID end (必须有end)
9)mysql: 两个select 出的数据相减:
(COUNT(distinct(t.SAMPLEID))-
CONVERT((COUNT(distinct(case t.DETECT_RESULT when '2402' then t.SAMPLEID end))), SIGNED)) AS NEGATIVE
FROM `view_sims_for_report` t
10)convert,cast用法
mysql将varchar转为int
convert(字段名, SIGNED)
字符集转换 : CONVERT(xxx USING gb2312)
类型转换和SQL Server一样,就是类型参数有点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)
可用的类型 
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

参考资料:http://www.jb51.net/article/34414.htm
第4个回答  2013-03-21
有区别 你自己去百度吧,你这样问没有什么效果的。本回答被提问者采纳

mysql数据库的SQL语句和oracle的有什么区别?详细点
1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。2. Oracle支持大并发,大访问量,是OLTP最好的工具。3. 安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和...

mysql数据库的SQL语句和oracle的有什么区别?详细点
首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)...

orical和sql的区别有哪些?
1、在Oracle中用 select*from all_users 显示所有的用户,而在MYSQL中显示所有数据库的命令是 showdatabases 对 于我的理解,Oracle项目来说一个项目就应该有一个用户和其对应的表空间,而MYSQL项目中也应该有个用户和一个库。在ORACLE(db2也一 样)中表空间是文件系统中的物理容器的逻辑表示,视图、...

Oracle和MySQL在SQL语句方面的区别
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date('要转的字符串','格式') -- select...

mysql和oracle之间有什么区别
MySQL与Oracle在数据库领域存在着显著的差异,这些差异主要体现在并发性、一致性、事务支持、数据持久性、提交方式、备份策略以及SQL语句的扩展性上:首先,就并发性而言,MySQL主要采用表级锁,可能导致较长的锁定时间,影响其他会话的更新操作。而Oracle采用行级锁,提供了更好的并发性支持,尤其是在高并发...

mysql建表语句是怎样的?与Oracle有何不同?
都是一样的。SQL语言是相通的。mysql的建表语言和oracle是一样的。但是oracle有自己独有的一套sql语言,叫做PLsql。create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \\'默认值\\' null , [字段2] ntext null , [字段3] datetime, [...

mysql和oracle的区别有什么
1、本质的区别,oracle数据库是一个对象关系数据库管理系统(ORDBMS)。其通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。mysql是一个开源的关系数据库管理系统(RDBMS)。其是世界上使用最多的RDBMS,作为服务器运行,提供对多个数据库的多用户访问。是一个开源、免费的数据库。2、数据库...

mysql和oracle的区别
mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。oracle在这方面感觉更加稳重传统一些。九、复制 oracle:既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,主库出现问题是,可以自动切换备库到主库,但配置管理较复杂...

Oracle 与 Sybase 的sql 差异有哪些
1.简单地讲,MySQL与Microsoft SQL Server2000\/2005,Oracle等等,一样是一个数据库系统,专门用来创建管理数据库。而MySQL是一种免费的数据库系统(当然限于一定版本)。2.而SQL是一种结构化查询语言,基本上你列出的数据库系统都能用这个语言进行查询,更新等操作(因为它已经形成了一个标准),只是...

请问下mysql和oracle的区别
请问下mysql和oracle的区别:1、价格 价格是两个数据库之间最显着的差异。Oracle有一个名为Oracle Express Edition的东西,这个版本完全免费。不幸的是,该版本对这些功能有太多限制。如果你继续购买全功能标准版或企业版,它将花费你数万美元。另一方面,MySQL是一个开源数据库,完全免费。最着名的Face...

相似回答