c从oracle到mysql移植_数据库从oracle移植到mysql时需要进行的修改
分页方式不同,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时需要进行的修改相关推荐
- ubuntu mysql 更新_数据库应用(三): Ubuntu 下 MySQL添加、更新与删除数据
添加.更新与删除数据 1.添加数据 命令格式: INSERT|replace INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--), (值1,值2,--); 需要注意:使用in ...
- c语言 mysql触发器_数据库触发器 @符号
8. 函数 内置函数 聚合函数 对一组值进行运算,但返回一个汇总值. AVG 返回组中各值的平均值. 其中忽略 Null 值. CHECKSUM_AGG 返回组中各值的校验和. 将忽略 Null 值. ...
- oracle临时表经常被锁_数据库学习——Oracle 数据库了解与使用
一. 数据库相关概念 1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新.删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度.与 ...
- wamp mysql 导出_怎么备份我在WAMPServer2 MySQL数据库?
进入MySQL目录下的bin文件夹 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 C:\Program Files\MySQL\MySQL Server 5.5\bin&g ...
- oracle repeatable read,Oracle和Mysql中的数据库事务有关问题:Mysql Read-Repeatable有有关问题...
Oracle和Mysql中的数据库事务问题:Mysql Read-Repeatable有问题 今天不知不觉想到数据库的乐观锁和悲观锁,遂想写个程序测测,却发现了另一个问题,Mysql InnoDB的R ...
- xshell安装mysql步骤_数据库Mysql与禅道安装
一.Linux上搭建禅道 Mysql 是关系型数据库管理系统 1.下载安装包:将安装包直接解压到/opt目录下,不要 解压到别的目录在拷贝到/opt/,因为这样会导致文件的所有者和读写权限改变 2.解 ...
- centos6.5 MySQL 服务器_启用CentOS6.5 64位安装时自带的MySQL数据库服务器
本人在虚拟机上又安装了一台linux机器,作为MySQL数据库服务器用,在安装时选择了系统自带的MySQL服务器端,以下是启用步骤. 首先开启mysqld服务 #service mysqld star ...
- oracle mysql 透明网关_如何在Oracle中建立透明网关
展开全部 当在Oracle 环境下通过透明网关建立一个对SQL Server 的连接时,要用到如下的语句,Create database link test connect to user ident ...
- oracle 表字段顺序_如何更改Oracle数据库表中字段顺序
软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...
最新文章
- iOS pod init 报错
- Java NIO框架Netty教程(一) – Hello Netty
- 如何Exchange移动数据库文件(一)
- 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
- Windows下如何生成数字证书
- PostgreSql之在group by查询下拼接列字符串
- Codeforces Round #352 (Div. 1) B. Robin Hood
- 支付宝手机网站H5支付
- Dbviusalizer报错Java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Compar
- 国产化性能最高的服务器,盘点服务器国产化呼声背后的优秀厂商
- 【工作记录】SpringMVC下js提交大数据量到controller失败解决
- windows系统下,如何将dmg文件转化为cdr文件
- 第六节 电子学习 二极管档测量法 细讲
- Linux-CentOS 安装配置ExifTool
- 图灵奖得主Bengio:深度学习不会被取代,我想让AI会推理、计划和想象
- [macOS]_[Shell]_[获取App的签名证书有效期]
- Advancedinstaller安装包自定义操作打开文件
- 鲁迅关于改变的名人名言
- 《写给大家看的设计书》粗读整理
- 如何开发一个药房药店小程序?药店小程序需要什么资质?
热门文章
- 唏嘘!2019榜单出炉:铁打的Python连续3年第一,它居然跌出前十?
- Cloud一分钟 | 谷歌退出美国防部云计算竞标;网络黑灰产业已近千亿,个人信息泄露是源头...
- mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)
- linux服务器查看mysql服务名称_Linux服务器查看MySQL信息
- 述职答辩提问环节一般可以问些什么_论文答辩一般会问什么问题?需要注意什么事项?...
- 企业实战_20_MyCat使用HAPpoxy对Mycat负载均衡
- 【亲测有效】Centos安装完成docker后启动docker报错docker: unrecognized service的两种解决方案
- HTML a链接下载文件之图片,文件,乱码等问题
- VBA各种查询方法介绍和应用举例
- gitee提交代码_git 版本控制,github和gitee