自己总结的oracle和mysql区别

Mysql和oracle区别:
mysql的tee可以记录操作过程和结果,oracle也可以用spool记录,但要spool off提交后才有在txt文档中记录内容。
Mysql有5大子句,oracle只有4大子句少了limit
Mysql和oracle都是数字加null为null,mysql用ifnull(a,b)函数解决,oracle用nvl(a,b)解决
Oracle别名可以不加引号,如果别名中含空格必须加双引号,mysql别名单引双引都可以
Mysql中可以直接select 1查询,但oracle中要from哑表dual
Oracle:默认日期格式(日/月/年)
Mysql中拼接字符串可以用concat,oracle除了用concat还可以用“||”
Mysql中and可以用”&&”,在oracle中不能,只能写and
Mysql中用case when,oracle中还可以用decode代替
Oracle的having不支持别名
Mysql用inner join表示交集,left join表示差集,oracle还可以用intersect表示交集,minus表示差集
Mysql分页用limit,oracle没有limit但可以用rownum通过union或者子查询达到limit效果
Mysql的int类型,oracle用number代替
Oracle如果drop了表,可以通过select * from recyclebin中查看,并通过flashback table 表名 to before drop回复回收站中的表;如果用drop table 表名 purge将彻底删除表,purge recyclebin将清空回收站
创建外键时用on delete cascade在删除主表数据时自动删除关联数据,on delete null 将不会触发删除其他表数据。Mysql中只能创建触发器
mysql中delete * from 表名,oracle中delete from表名
Mysql从begin开始事务,oracle从第一个DML语句就开始事务了
Mysql中有自动增长机制,但oracle中只能通过序列的nextval达到自动增长,自动增长是每个表独立的,但序列是多表共享的,可以节省空间资源,可设置步长
Oracle添加了plsql(plsql=sql+oracle自己的扩展),是在sql的基础上加上了过程化(定义,判断,循环,游标,异常或例外处理),plsql用:=赋值变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值