我给你一些数据库常用的导入导出命令吧:\x0d\x0a该命令在“开始菜单运行CMD”中执行\x0d\x0a一、数据导出(exp.exe)\x0d\x0a1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、将数据库orcl中scott用户的对象导出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、将数据库orcl中的scott用户的表emp、dept导出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、将数据库orcl中的表空间testSpace导出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、数据导入(imp.exe)\x0d\x0a1、将d:\daochu.dmp 中的数据导入 orcl数据库中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、将d:\daochu.dmp中的表emp导入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)
成都创新互联公司是一家集网站建设,高邑企业网站建设,高邑品牌网站建设,网站定制,高邑网站建设报价,网络营销,网络优化,高邑网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
批量插入数据脚本
1、第一种批量插入数据脚本,可以基本满足要求。理解上较为简单,所以这个最常用。
NEXTVAL和CURRVAL的区别:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值,不管在语句中sequence.CURRVAL 和 sequence.NEXTVAL 的顺序。
执行脚本结果如下:
3、两个表,同时批量插入数据的脚本
3、
4、 涉及子表时,批量插入数据脚本,
5、 批量修改数据 :
时间取数方式:
一、SYSTIMESTAMP(取当前系统值)
二、SYSDATE(取当前系统值,但只精确到时,分和秒都为0)
三、固定值为:TO_TIMESTAMP ('2019-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')
把固定的字段改为变量:
方式一:’||i||’ 例:’{“no”:“111’||i||’”}’(此方式)
方式二:concat 例:concat(concat(’{“blNo”:111"’,i),’"}’)
start/@ D:\脚本文件
执行脚本文件
edit D:\ 脚本
编辑脚本文件
spool D:\脚本
建立脚本文件 执行SQL语句 spool off 截取SQL查询结果
将数据库的SQL脚本文件导入到oracle中
#1. 首先以管理员的身份登录到oracle系统中
cmd;
sqlplus sys/sys as sysdba;
#2.创建用户test,密码为test
create user test identified by test;
#3.创建表空间,在D盘下建立50m的表空间data_dbfcreate tablespace ts_tablespace datefile 'D:\data_dbf' size 50m;#4.为用户分配表空间
alter user test default tablespace ts_tablespace to test;#5.给用户授权
grant create session, create table, create view, unlimited tablespace to test;#6.以test/test登录
conn test/test;
#7.导入SQL语句,导入创建好的表
@D:\test.sql
#8.查询表结构
在命令行模式下,用 如下格式的命令就可以实现脚本的导入执行:
sqlplus [username]/[password]@[instancename] @[scriptfilename]
中括号内的内容用实际名字代替。
spool /home/oracle/XXX.sql 后面是你要的导出路径和导出文件名,最好是 txt 结尾的,不是的话等导完需要改名。
之后是 select 语句,字段和表名根据实际更改,日期要用 to_char 进行转换。
/data01/zhu/XXX.txt 是你 oracle 导出文件的位置,只支持 txt文件 , fields terminated by ',' 意思是你字段间的分隔符。一般没有中文用 character set utf8 ,有中文用 character set gb2312 ,不然可能会报错。
PS:180万条数据导进去的时间大概是2分钟。但是700万数据目前超过四小时还没导完,建议分割来提高效率。