网站首页 > 技术文章 正文
概述
有朋友问了Oracle跟mysql的一些区别的地方,所以这里做个简单总结,大的架构就不讲了,这里主要从主键、索引、分页、组函数和单引号来说明下。
1、主键
Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。
oracle一般是新建序列,SEQ_USER_Id.nextval来实现。
2、索引
1)mysql索引从0开始,Oracle从1开始。
2)MySQL在建立表的外键的时候有一个要求:建立外键的列必须有索引;但是Oracle不需要建立index,直接可以建立索引,不会报错。
3、分页
MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用ROWNUM<100, 不能用ROWNUM>80。下面写一下大致用法。
mysql: select * from user order by desc limit n ,m.
表示,从第n条数据开始查找,一共查找m条数据。
Oracle:select * from user select rownum a * from ((select * from user)a) select * from (select rownum a.* from (select * from user) a ) where r between n , m .
表示,n表示从第n条数据查询,查找到m条数据。
4、组函数用法规则
mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错
例如select name,count(money) from user;这个放在mysql中没有问题在oracle中就有问题了。
而select name,count(money) from user group by name或者select max(name),count(money) from user;
在oracle就不会报错,同样这两种情况在mysql也不会报错
5、单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
关于Oracle跟mysql的区别还有哪些呢?大家可以在下发留言一起探讨下哦。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
猜你喜欢
- 2024-10-20 1 小时 SQL 极速入门(三)——分析函数
- 2024-10-20 oracle中常用的一些函数,巧用函数,减少代码量
- 2024-10-20 Oracle常用系统函数-日期和时间类函数
- 2024-10-20 oracle 函数decode用法 oracle的decode方法
- 2024-10-20 数据库笔试面试5——在Oracle中,函数的描述正确的是
- 2024-10-20 ORACLE 取两张表差值函数 minus oracle查询两个表中相同数据
- 2024-10-20 Oracle行转列、列转行函数 oracle12c行转列函数
- 2024-10-20 用ORACLE分析函数decode实现行列转换
- 2024-10-20 2周零基础搞定SQL——窗口函数 sql 窗口函数执行顺序
- 2024-10-20 Oracle数据库中几种非常有用的函数(with……as等)
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)