1)  数据类型差异

Oracle

MySQL

注释

单独创建序列来实现

自动增长的数据类型

varchar2

varchar

number

tinyint,smallint,mediumint,int,bigint

float,double

clob

text,mediumtext,longtext

date

datetime

enum

raw

binary(n),varbinary(n)

bit(n)

blob

blob,mediumblob,longblob

2)  内建函数差异

Oracle

MySQL

注释

length

char_length

substr

substring

nvl

ifnull

decode

case

to_char

date_format,time_format

to_date

str_to_date

trunc

cast

to_number

cast

date+/-n

date_add

date1-date2

datediff

3)  SQL语句差异

操作

Oracle

MySQL

创表指定表空间

create table…tablespace x

没有表空间,使用默认存储引擎

CTAS建表

create table…as select…不能新增字段和改变字段属性

create table t1(a int,b int) as select a,b,a,b from t2可以选择新的字段和字段属性

表结构复制

create table t1 as select * from t2 where 1=0,只复制字段定义,不包括约束

create table t1 like t2,复制包括约束

全局分区索引

create index…global partition by

重命名列

alter table t1 rename c1 to c2

alter table t1 change c1 c2

修改列类型

alter table t1 modify c1 integer

alter table t1 change c1 c1 int

修改列缺省值

alter table t1 modify c1 default 0

alter table t1 change c1 c1 int default 0

修改列非空

alter table t1 modify c1 not null

alter table t1 change c1 c1 int not null

重命名表

rename t1 to t2

alter table t1 rename t2

rename table t1 to t2

删除索引

drop index idx1

alter table t1 drop index idx1

drop index idx1 on t1

重命名索引

alter index idx1 rename to idx2

删除重建

重建索引

alter index idx1 rebuild

禁用索引

alter index idx1 unusable

删除表

drop table t1,如果表不存在报错

drop table if exists t1,判断表是否存在,存在删除,不存在不报错

重命名视图

rename v1 to v2

rename view v1 to v2

左右连接

select * from t1,t2

where t1.c1=t2.c2(+);

select * from t1,t2

where t1.c1(+)=t2.c2;

select * from t1 left join t2

on t1.c1=t2.c2;

select * from t1 right join t2

on t1.c1=t2.c2;

交集

select intersect select

select inner join select;使用inner join代替

差集

Select minus select

select left join where,使用left join where代替

获取固定值

select 1 from dual

select 1

字段连接

select c1||c2 from t1

select concant(c1,c2) from t1

结果子查询

select * from (select * from t)

select * from (select * from t) t1 结果集需要有别名

Merge

merge into

replace into

行号

rownum

无,需要使用用户变量来实现

分析函数

max() over()

min() over()

……

无,需要自行实现

位图索引

create bitmap index

Top查询

select * from (select rownum from t1 order by c1)

where rownum>=1 and

rownum<=5

select * from t1 order by c1 limit 5

语句内部临时表

with as

创建存储过程/

create or replace procedure

create procecure

创建函数

create or replace function

create function

创建视图

create or replace view

create view

创建触发器

create or replace trigger

create trigger

创建包

create or replace package

创建用户

create user u1 identified by p1 default tablespace x temporary tablespace y

create user u1 identified by p1

修改密码

alter user u1 identified by p2

mysqladmin -u u1 -p p1 password p2

大小写

不区分

缺省数据库、表名区分大小写,列名不区分;

可以设置lower_case_table_names=1都不分区

3) 子程序差异

Oracle中创建的匿名PL/SQL块、PL/SQL函数和存储过程,MySQL需要全部重新实现

MySQL和Oracle开发差异的更多相关文章

  1. mybatis中mysql和oracle的差异

    1.applicationContext.xml中的配置差异: 在applicationContext.xml的数据源dataSource的配置中,mysql数据库需要心跳包的配置,而oracle中不 ...

  2. SQLServer、MySQL、Oracle语法差异小集锦

    一.差异集锦 在建表的时候,只有自增的语法不同. 下面给出3种数据库通用的建表与初始化测试语句: CREATE TABLE Country( Id int PRIMARY KEY, Name ) ); ...

  3. MySQL,Oracle,PostgreSQL通过web方式管理维护, 提高开发及运维效率

    在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...

  4. 开发中mysql和oracle的区别

    首先就不描述mysql与oracle在整个数据库系统上的区别了,仅从程序员开发的角度来说: 1.主键: mysql一般会用到一个自增的属性,例如设置一个id字段,类型设置为auto increment ...

  5. MySQL,Oracle,PostgreSQL,mongoDB 通过web方式管理维护, 提高开发及运维效率

    在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...

  6. 谈谈 mysql和oracle的使用感受 -- 差异

    之前一直使用mysql作为存储数据库,虽然中间偶尔使用sqlite作为本地数据库存储,但没有感觉多少差别. 后来遇上了oracle,且以其作为主要存储,这下就不得不好好了解其东西了.oracle作为商 ...

  7. MySQL与Oracle 差异比较之四条件循环语句

    循环语句 编号 类别 ORACLE MYSQL 注释 1 IF语句使用不同 IF iv_weekly_day = 'MON' THEN       ii_weekly_day := 'MON';ELS ...

  8. 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...

  9. qlserver、Mysql、Oracle三种数据库的优缺点总结

    这篇文章主要介绍了sqlserver.Mysql.Oracle三种数据库的优缺点总结,需要的朋友可以参考下   一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能 ...

随机推荐

  1. EditTex属性

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tool ...

  2. jsonp和事件发布监听

    模拟jsonp var id = 0; function JSONP(url,param,cb){ var callbackName = "json_" + id++; var a ...

  3. [计算机基础]HTTP协议学习笔记

    HTTP:Hypertext transfer protocol超文本传输协议是一种详细规定了浏览器和Internet之间互相通信的规则 HTTP允许传输任意类型的数据对象,由Content-Type ...

  4. linux 查看某进程或程序的网卡流量(转)

    一.nethogs介绍 分享一个linux 下检测系统进程占用带宽情况的检查.来自github上的开源工具. 它不依赖内核中的模块.当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个 ...

  5. OpenCV HaarTraining代码解析(二)cvCreateMTStumpClassifier(建立决策树)

    HaarTraining关键的部分是建立基分类器classifier,OpenCV中所採用的是CART(决策树的一种):通过调用cvCreateMTStumpClassifier来完毕. 这里我讨论利 ...

  6. Cordova/Phonegap 升级至 2.8.1

    相关链接 Apache Cordova 项目首页: http://cordova.apache.org/ Apache Cordova 历史版本列表: http://archive.apache.or ...

  7. 佳文分享:CAP定理

    1976年6月4号,周5,在远离音乐会大厅的一个楼上的房间内,在位于Manchester的Lesser Free Trade Hall ,Sex Pistols 乐队(注:Sex Pistols的经理 ...

  8. VSTO之旅系列(五):创建Outlook解决方案

    原文:VSTO之旅系列(五):创建Outlook解决方案 本专题概要 引言 Outlook对象模型 自定义Outlook窗体 小结 一.引言 在上一个专题中,为大家简单介绍了下如何创建Word解决方案 ...

  9. ipv6加英文的中括号访问

    加英文的中括号就可以,如[2001:4998:c:e33::1004],我发现这是yahoo首页.但并不是所有IPv6网站都可以通过IPv6地址访问,跟IPv4一样,网站服务器端可以只绑定域名,不接受 ...

  10. 《算法导论》 — Chapter 7 高速排序

    序 高速排序(QuickSort)也是一种排序算法,对包括n个数组的输入数组.最坏情况执行时间为O(n^2). 尽管这个最坏情况执行时间比較差.可是高速排序一般是用于排序的最佳有用选择.这是由于其平均 ...