Oracle与Mysql有什么区别

Oracle与MySQL有什么区别,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

刚察网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

Oracle与Mysql的区别:

Oracle:客户端与命令窗口都是由用户决定的;是大型数据库,市场占有率达40%;价格非常高,占据特别大的内存空间和其他机器性能,安装完后又3G左右;

Mysql:客户端与命令窗口都是由数据库决定的;是中小型数据库,市场占有率是20%,开源且免费的,安装完后152M。

操作上的区别:

1、组函数用法规则:

MySQL中组函数在select语句中可以随意使用,但在Oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错。

2、自动增长的数据类型处理:

MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。

3、单引号的处理:

mySql用双引号包起字符串,Oracle里用单引号包起字符串,在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。

4、翻页的SQL语句的处理:

语句一:

SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;

语句二:

SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (SELECT [FIELD_NAME,...] FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;

5、长字符串的处理:

插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告。

6、主键:

MySQL一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,MySQL将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。

7、字符串的模糊比较:

mySql里字段名like%'字符串'%,用字符串比较函数instr(字段名,'字符串')>0会得到更精确的查找结果。

8、空字符的处理:

MySQL的非空字段也有空的内容,Oracle里定义了非空字段就不容许有空的内容。按MySQL的NOT NULL来定义Oracle表结构,导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章名称:Oracle与Mysql有什么区别
网站URL:http://azwzsj.com/article/ppgego.html