分页方式不同,oracle使用rownum,mysql使用limit

使用hibernate的QBC不用修改,但hql和sql都应该用统一方法修改

mysql子查询必须带别名

select * from (select * from city where city_id = 1) t  别名(此处是t)必须加

存在差异的函数

a)日期转字符串

Oracle写法:

select to_char(created_time,'YYYY-MM-DD HH24:MI:SS') from city where rownum <2;

Mysql写法:

select date_format(created_time,'%Y-%m-%d %T') from city limit 1;

b)字符串转日期

Oracle写法:

select to_date('2008-08-08 08:08:08','YYYY-MM-DD HH24:MI:SS') from dual;

Mysql写法:

SELECT STR_TO_DATE('2008-08-08 08:08:08','%Y-%m-%d %T');

c)Oracle中decode函数

这个函数在Mysql中也有,不过功能完全不同,建议改成case语句形式

Oracle中:

select country_code,decode(country_code,'PRC','中国','USA','美国','其他') as country_name from city;

等价的case语句形式:

select country_code,(case country_code when 'PRC' then '中国' when 'USA' then '美国' else '其他' end) country_name from city;

而且第二个语句是标准Sql语法,Mysql和Oracle中都可以运行

d)字符串截断函数

Oracle中是substr,Mysql支持substr/substring两种写法,使用方法也相同

Mysql中”delete”后面必须带”from”关键字

避免使用子查询,Mysql中子查询效率较低,建议改成join方式

Mysql中没有序列,主键需要更改为自增长

Mysql对存储过程支持很差,不要在Mysql中使用存储过程

Where子句里不要在字段上使用函数,Mysql没有函数索引

a)如果使用了lower或upper函数,如果没有大小写敏感的需求,建议将Mysql的数据库字符集改为大小写不敏感,之后移除lower和upper函数

b)如果使用了日期转换函数进行比较,可以将转换函数右移到常量上

Mysql中没有位图索引

c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改相关推荐

  1. ubuntu mysql 更新_数据库应用(三): Ubuntu 下 MySQL添加、更新与删除数据

    添加.更新与删除数据 1.添加数据 命令格式: INSERT|replace INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--), (值1,值2,--); 需要注意:使用in ...

  2. c语言 mysql触发器_数据库触发器 @符号

    8. 函数 内置函数 聚合函数 对一组值进行运算,但返回一个汇总值. AVG 返回组中各值的平均值. 其中忽略 Null 值. CHECKSUM_AGG 返回组中各值的校验和. 将忽略 Null 值. ...

  3. oracle临时表经常被锁_数据库学习——Oracle 数据库了解与使用

    一. 数据库相关概念 1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新.删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度.与 ...

  4. wamp mysql 导出_怎么备份我在WAMPServer2 MySQL数据库?

    进入MySQL目录下的bin文件夹 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 C:\Program Files\MySQL\MySQL Server 5.5\bin&g ...

  5. oracle repeatable read,Oracle和Mysql中的数据库事务有关问题:Mysql Read-Repeatable有有关问题...

    Oracle和Mysql中的数据库事务问题:Mysql Read-Repeatable有问题 今天不知不觉想到数据库的乐观锁和悲观锁,遂想写个程序测测,却发现了另一个问题,Mysql InnoDB的R ...

  6. xshell安装mysql步骤_数据库Mysql与禅道安装

    一.Linux上搭建禅道 Mysql 是关系型数据库管理系统 1.下载安装包:将安装包直接解压到/opt目录下,不要 解压到别的目录在拷贝到/opt/,因为这样会导致文件的所有者和读写权限改变 2.解 ...

  7. centos6.5 MySQL 服务器_启用CentOS6.5 64位安装时自带的MySQL数据库服务器

    本人在虚拟机上又安装了一台linux机器,作为MySQL数据库服务器用,在安装时选择了系统自带的MySQL服务器端,以下是启用步骤. 首先开启mysqld服务 #service mysqld star ...

  8. oracle mysql 透明网关_如何在Oracle中建立透明网关

    展开全部 当在Oracle 环境下通过透明网关建立一个对SQL Server 的连接时,要用到如下的语句,Create database link test connect to user ident ...

  9. oracle 表字段顺序_如何更改Oracle数据库表中字段顺序

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

最新文章

  1. iOS pod init 报错
  2. Java NIO框架Netty教程(一) – Hello Netty
  3. 如何Exchange移动数据库文件(一)
  4. 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
  5. Windows下如何生成数字证书
  6. PostgreSql之在group by查询下拼接列字符串
  7. Codeforces Round #352 (Div. 1) B. Robin Hood
  8. 支付宝手机网站H5支付
  9. Dbviusalizer报错Java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Compar
  10. 国产化性能最高的服务器,盘点服务器国产化呼声背后的优秀厂商
  11. 【工作记录】SpringMVC下js提交大数据量到controller失败解决
  12. windows系统下,如何将dmg文件转化为cdr文件
  13. 第六节 电子学习 二极管档测量法 细讲
  14. Linux-CentOS 安装配置ExifTool
  15. 图灵奖得主Bengio:深度学习不会被取代,我想让AI会推理、计划和想象
  16. [macOS]_[Shell]_[获取App的签名证书有效期]
  17. Advancedinstaller安装包自定义操作打开文件
  18. 鲁迅关于改变的名人名言
  19. 《写给大家看的设计书》粗读整理
  20. 如何开发一个药房药店小程序?药店小程序需要什么资质?

热门文章

  1. 唏嘘!2019榜单出炉:铁打的Python连续3年第一,它居然跌出前十?
  2. Cloud一分钟 | 谷歌退出美国防部云计算竞标;网络黑灰产业已近千亿,个人信息泄露是源头...
  3. mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)
  4. linux服务器查看mysql服务名称_Linux服务器查看MySQL信息
  5. 述职答辩提问环节一般可以问些什么_论文答辩一般会问什么问题?需要注意什么事项?...
  6. 企业实战_20_MyCat使用HAPpoxy对Mycat负载均衡
  7. 【亲测有效】Centos安装完成docker后启动docker报错docker: unrecognized service的两种解决方案
  8. HTML a链接下载文件之图片,文件,乱码等问题
  9. VBA各种查询方法介绍和应用举例
  10. gitee提交代码_git 版本控制,github和gitee