1. linuxoraclesql结果导入csv
Oracle数据库导入csv文件,
当csv文件较小时,
可以使用数据库管理工具,
比如DBevaer导入到数据库,
当csv文件很大时,
可以使用Oracle提供的sqlldr命令行工具腔春,
能够快速导入大量数据。
在数据库之间进行数据迁移时,
特别是不同类型的数据库,
使用csv文件团圆州是一种很好的选择。
2.sqlldr用法
下面介绍sqlldr用法,
有一个USER_INFO.csv文件,
需要导入到数据库中USER_INFO表,
而且有1.5亿条数据,
要求导入耗时尽量小。
这里先介绍基本的导入方式,
然后介绍direct导入方式,
最后介绍parallel导入方式。
3.获取csv文件
USER_INFO.csv文件内容如下,
这里仅选取了三条测试数据:
MSISDN,PROVINCE_CODE,CREATE_TIME
8617512570551,30,2019-10-31 17:16:09
8613063310680,33,2019-10-31 17:16:12
8613295281345,80,2019-10-31 17:16:14
4.创建USER_INFO表
CREATE TABLE "USER_INFO" (
"MSISDN" VARCHAR2(16),
"PROVINCE_CODE" VARCHAR2(4),
"CREATE_TIME" DATE,
CONSTRAINT "PK_USER_INFO_MSISDN" PRIMARY KEY ("MSISDN")
) TABLESPACE "USERS";
COMMENT ON COLUMN "USER_INFO"."MSISDN" IS '用户手机号';
COMMENT ON COLUMN "USER_INFO"."PROVINCE_CODE" IS '省份编码';
COMMENT ON COLUMN "USER_INFO"."CREATE_TIME" IS '用户创建时间';
注意表中字段要和csv文件对应。
5.创塌蔽建ctl文件
创建名为loaddata_USER_INFO.ctl的控制文件:
options(skip=1,BINDSIZE=20971520, ROWS=10000, READSIZE=20971520, ERRORS=999999999)
load data
in
2. linux 下如何使用shell 把处理好的csv文件导入到数据库下
php可以读这个csv的文件,用php做个cli程序将这个导入数据库比较简单。
然后做个定时任务,每天定时运行
就行了
3. 有谁知道为什么mysql导入csv文件总是不成功吗
使用mysqlworkbench 数旅旁据库右键table data import wizard 列名耐敬英文,utf-8编码(可使用notepad++转拆亩橡换)
4. mysql怎么导出表结构及数据到csv文件
mysql导出数据库到csv文件的方法:
1、通过客户端shell连接到服务器,选择使用的数据库,输入sql代码:
select * from test_info
into outfile '/tmp/test.csv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
里面最关键的部分就是格式参数
这个参数是根据RFC4180文档设置的,该文档全称Common Format and MIME Type for Comma-Separated Values (CSV) Files,其中详细描述了CSV格式,其要点包括:
(1)字段之间以逗号分隔,数据行之间以\r\n分隔;
(2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。
通过执行上述代码,便可以将需要的数据以csv格式导出到执行的文件中。
2、另外,MySQL中导入CSV格式数据的sql代码如下:
load data infile '/tmp/test.csv'
into table test_info
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
5. linux 下如何使用shell 把处理好的csv文件导入到数据库下
linux 下,可以使用cli程序把csv文件导入到数据库。具体代码如下:
$ORACLE_HOME/bin/sqlplus-Susername/password@instanceName>/dev/null2>&1<<!!
#对sqlplus作一些设置,使之只输出我们需要的文本
setechooff
setpagesize0
setverifyoff
setfeedbackoff
settermoutoff
setlinesize3000
settrimspoolon
#查询输出到临时文件
spool/tmp/some_tmp.csv
#select语句
selectcolumn1||','||column2||','||column3....
fromsome_tablewherecondition
spooloff
#这里可以添加多个查询,且每个查询可输出到不同的文件,如下面注释
#spool/tmp/some_tmp.csv
#selectcolumn1||','||column2||','||column3....
#fromsome_tablewherecondition
#spooloff
setmarkupHTMLoff
quit
!!
#计算记录总行数,如果是0则不发邮件
NUM=`cat/tmp/some_tmp.csv|wc-l`
if[$NUM-gt0]
then
#先写excel的每列的title
echo'Title_Of_Column1,Title_Of_Column2,....Title_Of_ColumnN'>/tmp/attachement.csv
#数据正文
cat/tmp/some_tmp.csv>>/tmp/attachement.csv
#发邮件
(
echo"From:[email protected]"
echo"To:[email protected]"
echo"MIME-Version:1.0"
echo"Content-Type:multipart/mixed;"
echo'boundary="A_Boundary_Name_You_Can_Change_It"'
echo"Subject:Subject"
echo""
echo""
#附件分隔符,上面的boundary前面加--
echo"--A_Boundary_Name_You_Can_Change_It"
echo'Content-Transfer-Encoding:x-uuencode'
echo'Content-Type:text/csv;'
echo'name="attachement.csv"'
echo'Content-Disposition:attachment;'
echo'filename="attachement.csv"'
echo""
uuencode/tmp/attachement.csvattachement.csv
echo"--A_Boundary_Name_You_Can_Change_It"
#附件结束
)|mailx-t
fi
#删除临时文件
rm-f/tmp/*.csv
exit0
6. 如何把csv文件批量导入到mysql数据库
下载一个editplus或者notepad++ 用这种文本编辑器打开你的csv文件,添加上你要添加的记录,然后存储为utf8 的,然后再导入
7. 请教:mysql导出csv文件时,null会自动变为\N,怎样将\N变为空
mysql有三种导出方式,两种导出是null会变为\N,一种是null变为“NULL”字符串
方法一:SELECT...INTO OUTFILE
select * from mytbl into outfile '/tmp/mytbl2.txt' fields terminated by ',' enclosed by '"' lines terminated by '\r\n';
导出的文件一定不能已经存在。(这有效的防止了mysql可能覆盖重要文件。)
导出时登录的mysql账号需要有FILE权限
null值被处理成\N
缺点亮槐纯:不能生成包含列标签的输出
方法二:重定向mysql程序的输出
导出成csv格式
[root@localhost ~]# mysql -uroot -p -e "select * from mytbl" --skip-column-names test|sed -e "s/[\t]/,/" -e "s/$/\r/">/tmp/mytbl4.txt
null值被处理成字符串"NULL"
方法三:使用mysqlmp来导出
导出成csv格式
[root@localhost ~]# mysqlmp -uroot -p --no-create-info --tab=/tmp --fields-enclosed-by="\"" --fields-terminated by="," --lines-terminated-by="\r\n" test mytbl tbl
null值被处理成\N
对null的处理需求不同,可以选择不同的导出方式。方法三导出的文件名明缓是固定的,对于文件名有特殊要求的情况,不适宜敬咐使用,方法三也只能导出整张表。
方法二可以和linux命令结合使用,灵活性比较大。
8. linux 怎么查看 csv文件内容
vi就可以看
9. linux可以保存csv文件吗
是不可以保存的,linux是可以不保存csv文件的。
10. 如何向mysql中导入csv文件
由于工作需要,经常需要将mysql数据库中拿局乱的数据导出到excel表格,或者需要将excel表格数据导入到mysql数据库,我的方法是先将它们都转换成一种中间数据格式csv(execl数据可以直接导出为csv格式,csv格式也可以直接用excel打开)。下面介绍一下操作步腊纳骤:
csv导入mysql
load data infile 'C:\\Users\消档\UserName\\Desktop\\test.csv'
into table `table`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';