oracle向mysql移植
有一些没有使用数据库中间件的软件可能会碰到在不同的应用场景需要用不同的数据库,这样可能就需要将数据库代码做移植,我这里整理了一些从oracle到mysql的移植过程中的注意事项:
1。sequence生成
可以用类似的东西来做,如下:
create table myseq ( seq varchar(8));
insert into myseq values('0');
update myseq set seq = last_insert_id(seq+1);
select last_insert_id();
这东西完全跟oracle的sequence一致。即使在update之后,select之前有其它session也update了,本session得到的,仍然是自己update的那一个值。
2。sysdate转为sysdate()
3.substr装换,基本不需要转换
4。nvl转换为ifnull
5。数字转换为字符串的to_char函数不用,直接用即可,不用函数转换
6。日期格式的to_char转换为date_format
oracle: to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
mysql: select date_format(now(),'%Y-%m-%d %H-%i-%S')
7.to_date()装换,删除转换,mysql支持自动转换
8。decode()转换,
case when flag=0 then '成功' else '失败' end
9。rownum转换,分页转换
querySql = "select * from ( select rownum rnm, a.* from ( " + strQuery
// + ") a where rownum <= " + getPageEndRow()
//+ ") where rnm > " + getPageStartRow();
转换为:
querySql = "select * from ( select 1 rnm, page_a.* from ( " + strQuery
+ ") page_a LIMIT " + getPageStartRow() + "," + getPageSize() + " ) select_page";
10。from子查询转换,为子查询定义别名
select count(*) from (
select a.login_no,a.LOGIN_NAME,a.EXPIRE_TIME,b.orgname,a.CONTRACT_PHONE,a.info_flag,a.login_level,a.group_id from DLOGINMSG a left outer join dchngroupinfo b on a.group_id=b.orgno where 1=1 and a.login_no like '%test%'
) subselect
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步 ......
导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP ROWS=N //不保存数据;
导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP //保存数据;
导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP full=y //全部导出;
导入 imp user/password@odbc file=c:\***.dmp full=y ignore=y;
Oracle数据导入导出imp/exp就相 ......
原文:http://www.blogjava.net/Unmi/archive/2009/01/05/249956.html
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中
2. 建立数据库间的 dblink,然后用 create table B as select * from A ......
MySql数据库导出csv文件命令:
mysql> select first_name,last_name,email from account into outfile 'e:\\output1.csv' fields terminated by ','optionally enclosed by ''lines terminated by '\n';
csv文件效果:
sunny
Grigoryan
lovechoosesun@gmail.com
Jon
Siegal
sun@riliantech.net
Joe
S ......