sql读取csv
① 如何用sql语句导出csv文件
1.导出本地数据库数据到本地文件
MySQL
-A
service_db
-h
your_host
-utest
-ptest
mysql>
select
*
from
t_apps
where
created>'2012-07-02
00:00:00'
into
outfile
/tmp/apps.csv
2.导出远程数据库数据到本地文件
mysql
-A
service_db
-h
your_host
-utest
-ptest
-ss
-e
"SELECT
*
from
t_apps
limit
300;"
|
sed
's/\t/","/g;s/^/"/;s/$/"/;s/\n//g'
>
apps.csv
(sed部分可略,尤其是处理包含汉字的数据时.
如果内容包含中文,可在select语句前加入set
names
utf8;)
3.使用mysqlmp导出远程或本地数据到本地文件
mysqlmp
-h
your_host
-utest
-ptest
-w
"id<300"
service_db
t_apps
>
tt.sql
如果只导数据加上
-t
or
--no-create-
info
;
如果只导结构加上
-d
or
--no-data;
4.
mysqlmp不能指定导出的列,变通方法如下:
mysql
-u
USERNAME
--password=PASSWORD
--database=DATABASE
--execute='SELECT
`FIELD`,
`FIELD`
FROM
`TABLE`
LIMIT
0,
10000
'
-X
>
file.csv
② 如何用sql语句导出csv文件
1.导出本地数据库数据到本地文件
MySQL -A service_db -h your_host -utest -ptest
mysql> select * from t_apps where created>'2012-07-02 00:00:00' into outfile /tmp/apps.csv
2.导出远程数据库数据到本地文件
mysql -A service_db -h your_host -utest -ptest -ss -e "SELECT * from t_apps limit 300;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > apps.csv
(sed部分可略,尤其是处理包含汉字的数据时. 如果内容包含中文,可在select语句前加入set names utf8;)
3.使用mysqlmp导出远程或本地数据到本地文件
mysqlmp -h your_host -utest -ptest -w "id<300" service_db t_apps > tt.sql
如果只导数据加上 -t or --no-create- info ;
如果只导结构加上 -d or --no-data;
4. mysqlmp不能指定导出的列,变通方法如下:
mysql -u USERNAME --password=PASSWORD --database=DATABASE --execute='SELECT `FIELD`, `FIELD` FROM `TABLE` LIMIT 0, 10000 ' -X > file.csv
③ 怎样用sql plus 导入csv文件
当我们收到一个csv文件,需要将里面的数据导到Oracle数据库的时候,我们要先确保我们在Oracle数据库中的表已经建好了,最好是先向“战友们”询问是否有表结构的SQL语句。如果没有,则需要根据csv文件里面的列进行估计。
选择菜单栏中的“工具”,单击“文本导入器”
点击打开文件的按钮,如图
在弹出的打开对话框中选择我们需要导入的csv文件
在“到Oracle的数据”选项卡中,选择好“所有者”和“表”并确定下面的字段对应的数据结构。然后点击导入,开始导入,如果报错,对应修改表中的字段类型或者询问大神解决方案。
④ 如何把csv文件导入到sql数据库
1、首先打开sqlserver选择一个数据库,右击选择任务,点击导入数据打开导入导出向导:
2、进入向导,下一步来到数据源的选择界面:
3、接着点击数据源下拉框,选择平面文件源:
4、在弹出的窗口中,选择csv文件,筛选一下数据,点击下一步:
5、随后一路下一步,一直到出现完成按钮就说明导入成功了:
⑤ SQL脚本批量导入CSV文件
1、不用直接执行,先用程序生成脚本。
然后运行这些脚本。
先尝试第一个文件,解决错误后,再大批量运行。
2、从报错信息看,是数据问题,而非你脚本问题。
⑥ SQL语句OpenRowset读取CSV中0001的问题
SELECT right(replace(SPACE(4),'','0')+Convert(varchar(50),[AAAAAAA]),4)
FROM OpenRowset('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\测试;Extensions=CSV;',
'SELECT * FROM [File.csv]')
如果你要的数字固定式4位的话可以参考以上方法
---------------------------------------------
可能是在读取的时候被截断了
那你转换varchar的时候固定下长度试试比如长度到100
SELECT Convert(varchar(100),[AAAAAAA])
FROM OpenRowset('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\测试;Extensions=CSV;',
'SELECT * FROM [File.csv]')
⑦ orcale 中 怎样用pl/sql读取一个csv文件,写入另一个csv文件
比方您的文件名是:sample.csv
读取就是get
sample.csv;
写入就是ed
sample.csv;
大概是这样.呵呵..
⑧ 如何读取csv文件的内容
第一种方式: 先入库后使用 我们假设现在有有一个CSV文件Contacts.CSV 文件的内容是联系人信息。首先我们需要在数据库中建一个对应的表TC_Contacts,然后利用下面的SQL代码将CSV文件导入到这个表里面: INSERT INTO TC_Contacts23 SELECT * FROM 4 OPENROWSET('MSDASQL', 5 'Driver={Microsoft Text Driver (*.txt; *.csv)}; 6 DEFAULTDIR=D:\Data;Extensions=CSV;', 7 'SELECT * FROM "Contacts.CSV"') 其中:1.TC_Contacts为目标表的名字。 对于目标表,要求对应的字段能够接收CSV文件中对象列的数据,这里特别需要注意的是字符串的长度,日期时间格式和整数浮点数的处理;由于CSV文件中实际上都是字符串,那么在导入的过程中就有可能出现不能转换的情况。例如:日期格式不符合数据库的要求,或者字符串不能转化为整数或者浮点数等。 对于目标表,字段数目和顺序可以和CSV文件中的不一样。其实在整个的SQL语句中只有OPENROWSET是用来处理CSV文件的。其它部分都是普通的T-SQL,在T-SQL中能做的事情在这里都可以做。例如:如果你的TC_Contacts比CSV多一个字段gid uniqueidentifier ,那么就可以把SQL语句修改为: 1 INSERT INTO TC_Contacts 2 SELECT newid(),* FROM 3 OPENROWSET('MSDASQL', 4 'Driver={Microsoft Text Driver (*.txt; *.csv)}; 5 DEFAULTDIR=D:\Data;Extensions=CSV;', 6 'SELECT * FROM "Contacts.CSV"') 这样就可以给每条记录增加一个id了。 2.SQL代码中的DefaultDir 也就是D:\Data 是指存在于SQL Server服务器上的位置,而不是在提交该代码的客户机上。这一点对于初次接触的人来说很关键。SQL Server如果在服务器上找不到文件会报告错误。但是这个错误的消息不是那么直接了当。 3.有的CSV文件中第一行不是列标题,而是和其它行一样是普通的数据行。这个时候就需要一个Schema.ini来定义CSV文件的格式。Schema.ini的格式我会专门写一篇来介绍一下。在Schema.ini文件中会指定CSV文件的一些特性,这样有助于Microsoft Text Driver来处理数据. 第二种:直接使用 通过OdbcConnection可以创建一个链接到csv文件的链接,链接字符串的格式是:"Driver={Microsoft Text Driver (*.txt;*.csv)};Dbq="+cvs文件的文件夹路径+" Extensions=asc,csv,tab,txt; Persist Security Info=False"; 创建连接之后就可以使用DataAdapter等存取csv文件了。 public DataSet getdatasetfromcsv(string filepath, string filename){string strconn = @"driver={microsoft text driver (*.txt; *.csv)};dbq="; strconn += filepath; //filepath, for example: c:\ strconn += ";extensions=asc,csv,tab,txt;" ; OdbcConnection objconn = new OdbcConnection(strconn); DataSet dscsv = new DataSet();try{string strsql = "select * from " + filename; //filename, for example: 1.csv OdbcDataAdapter odbccsvdataadapter = new OdbcDataAdapter(strsql,objconn);
⑨ plsql怎么导入csv数据
先在数据库中建一个空表,表结构同csv文件列数据。然后菜单,工具,文本导入,按这个指引打开对应的csv文件,对应导入的列名和格式,点导入就可以了。