oracle 和 mysql 和区别
1、mysql 有枚举类型,oracle 没有; mysql不支持number、varchar2类型,报错。
2、oracle 支持全外连接,mysql 不支持
select e.ename, e.sal, d.dname from emp e full join dept d on e.deptno=d.deptno;
3、mysql 不支持交集和差集用法
select * from emp where sal>2500 intersect select * from emp where job='MANAGER';
select * from emp where job='MANAGER' minus select * from emp where sal>2500;
4、oracle 两个日期可以直接相减,结果为相差的天数;mysql 也可以相减,但结果无意义。
select now()-'2018-7-1'; // 20180714011927
select sysdate-to_date('2018-7-1', 'yyyy-mm-dd') from dual; // 13.0697453703704
mysql 要使用datediff()函数,oracle 没有这个函数
select datediff(now(), '2018-7-1'); // 13
5、oracle 的 nvl 函数对应mysql 是ifnull 函数;oracle 可以使用中文别名排序,mysql必须是英文别名才可以排序
select ename, (nvl(sal, 0)+ nvl(comm, 0))*12 "年薪" from emp order by "年薪" desc;
select ename, (ifnull(sal, 0)+ ifnull(comm, 0))*12 as yearly_salary from emp order by yearly_salary desc;
6、oracle 连接字段使用 ||, mysql 使用函数 concat()。
select concat(ename,',', empno) from emp; -- oracle 也有这个函数,但只能传两个参数
7、插入查询删除时日期时间格式不同
oracle:
insert into emp(empno,hiredate) values(11, to_date('1997-7-1', 'yyyy-mm-dd'));
select * from emp where hiredate = to_date('1997-7-1', 'yyyy-mm-dd');
delete from emp where hiredate = to_date('1997-7-1', 'yyyy-mm-dd');
mysql:
insert into emp(empno,hiredate) values(11, '1997-7-1'); -- 插入日期时间方式不同
select * from emp where hiredate = '1997-7-1'; -- 查询日期时间方式不同
delete from emp where hiredate = '1997-7-1';
8、oracle 插入多行的语法:
create table test (name VARCHAR2(10));
insert all
into test values('天')
into test values('道')
into test values('酬')
into test values('勤')
select * from dual;
或者
insert into test
select '孟' from dual
union
select '子' from dual;
mysql 插入多行的语法:
create table test (name VARCHAR(10));
INSERT into test VALUES('天'),('道'),('酬'),('勤');
9、mysql 不支持从回收站删除表
drop table test;
create table test(id varchar(10));
drop table test purge;
10、修改表名语法不同
oracle:
rename emp to emp1;
rename emp1 to emp;
mysql:
alter table student rename stu;
alter table stu rename student;
11、mysql
修改字段类型语法:alter table student modify column name varchar(10) null default '小明' commt '姓名' after id;
或者:alter table student modify name varchar(10);
oracle
修改字段类型语法:alter table student modify(name varchar2(10)); -- mysql不能加括号
12、mysql 可以省略 from dual ,oracle 不可以省略。
13、oracle 支持 delete tablename,mysql 必须写delete from tablename。
14、select e.ename, e.sal, d.dname from emp e join dept d; // oracle语法错误,没有笛卡尔积;mysql可以执行,有笛卡尔积
15、mysql 不支持
update emp set (job, sal, comm) = (select job, sal, comm from emp where ename='SCOTT') where ename='SMITH';
oracle 和 mysql 和区别的更多相关文章
- 关系和非关系型数据库区别(以及oracle和mysql的区别)
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...
- 关系型数据库和非关系型数据库区别、oracle与mysql的区别
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...
- Oracle与MySQL的区别
1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大访 ...
- Oracle与MySQL的区别对比
本文对数据库Oracle与MySQL进行了区别对比,其中从并发性.一致性.事务.数据持久性等十三方面进行了对比. 本文摘自 51cto 一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源 ...
- Oracle,sqlserver,mySQl的区别和联系:
1.日期处理方式 2.对保留字和关键字的处理方式: Oracle,sqlserver,mySQl的保留字不可以用作列字段,关键字可以,但他们对关键字的处理方式又不同: Oracle:关键字作为列时:用 ...
- Oracle与MySQL使用区别
与MySQL通过创建不同的数据库来存储表 Oracle提出表空间(tablespace)的概念作为逻辑上的存储区域来存储表, 而不同的表空间由不同的用户来管理 用户可以授予权限或角色 举例: 使用PL ...
- Oracle和Mysql的区别 转载
一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与锁定. mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他se ...
- 3.oracle与mysql的区别
1.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的 ...
- Oracle 和 MySQL的区别(不完整)
1. Oracle对单双引号要求的很死,一般不准用双引号,不然会报错.MySQL 单双引号都可以. 2. 事务提交方式:Oracle 默认手动提交,MySQL 默认自动提交. 3. 分页:MySQL有 ...
随机推荐
- 第一遍练习:手抄一份 CRUD 并上传截图
- Python基础8:列表推导式(list)字典推导式(dict) 集合推导式(set)
推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...
- Cygwin安装配置
1.下载安装Cygwin 我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/ 或者直接使用下载连接来下载安装程序,下载连接是: ht ...
- 过虑器应用之1-设置request编码
一:设置Post编码 post请求接收中文,需要在Servlet里写上 request.setCharacterEncoding("UTF-8"); 否则默认以iso-8859-1 ...
- Okhttp3上传多张图片同时传递参数
之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. ...
- Spring Boot 的彩色日志
springboot的彩色日志灰常漂亮, 看起来也很舒服. 但是自定义的日志就是一纯白色的, 丑到不行. 所以就copy他的彩色日志来养眼: <!-- 彩色日志 --> <!-- 彩 ...
- Go 协程编程感悟
0.GPM模型 1.默认地, Go所有的goroutines只能在一个线程里跑 ,除非告诉Go我们允许同时最多使用多个核,或者主动让出CPU时间,使goroutine可以抢占式的执行 2.如果当前go ...
- springboot-16-springboot中引入xml文件
参考原文: http://412887952-qq-com.iteye.com/blog/2293846 使用的是在spring中注入一个bean的方式来测试是否成功, 感觉略不实用, 只碰到过一次d ...
- 7-nginx-keepalived配置主从双击热备
nginx的高可用解决方案 keepalive 是 VRRP 协议的完美实现, 通过vip(虚拟ip)来实现主从双击热备, 自动切换的高可用方案, nginx的主从是通过keepalived实现的 通 ...
- Hadoop提交作业流程
一 .需要知道的内容 1.ResourceManager ------>yarn的老大 2.NodeManager ------>yarn的小弟 3.ResourceMana ...