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. Hide C# winform App Window When Started by Task Scheduler

    To make a Scheduled Task run in the background, change the User running the task to "SYSTEM&quo ...

  2. MongoDB -- 更新

    $pull: db.collection.update( <query>, { $pull: { <arrayField>: <query2> } } ) $pul ...

  3. Mysql ODBC 5.1 Driver免安装脚本

    在使用Mysql 的时候,需要使用ODBC数据源的方式来连接mysql,所以常常需要用到免安装的驱动,自己参考官网的脚本, 修改了一个实用点的脚本,放出来大家一起分享: 安装mysql odbc 5. ...

  4. Mysql自增主键ID重新排序方法详解

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2 ...

  5. linux-sfdisk 使用方法

    功能说明:硬盘分区工具程序. 语 法:sfdisk [-?Tvx][-d <硬盘>][-g <硬盘>][-l <硬盘>][-s <分区>][-V < ...

  6. Java排序算法(四):Shell排序

    [基本的想法] 将原本有大量记录数的记录进行分组.切割成若干个子序列,此时每一个子序列待排序的记录个数就比較少了,然后在这些子序列内分别进行直接插入排序,当整个序列都基本有序时.再对全体记录进行一次直 ...

  7. maven使用.02.一些概念

    在上一篇POST中,简要的介绍了一下maven的特点,优势,安装.并建立了一个简单地Hello world工程.这一篇POST中,将主要会介绍一下Maven的一些约定. pom.xml文件 Maven ...

  8. 14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置

    14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置 locking read, 一个UPDATE,或 ...

  9. EA强大功能之代码凝视

    前面讲了EA怎样方便我们生成代码,这次讲一下,怎样生成具体的凝视. 1.文件表头凝视 (1)点击工具----选项 在常规项里改动作者: 在代码project中改动代码project的默认语言. (2) ...

  10. Python处理海量手机号码

    Python处理海量手机号码 一.任务描述 上周,老板给我一个小任务:批量生成手机号码并去重.给了我一个Excel表,里面是中国移动各个地区的可用手机号码前7位(如下图),里面有十三张表,每个表里的电 ...