
工具:sqlserver2008R2 SQL Server Managerment Studio
步骤:
1、首先将要导入的csv文件,另存为excel文件,即文件后缀名为xlsx或xls。
2、打开SQL Server Managerment Studio后,在左侧的树中依次找到要导入的数据库,如数据库-系统数据库-master,然后右键点击“master”,选择任务-导入数据。
3、然后d出SQL Server导入和导出向导,直接点下一步。
4、然后数据源选择:Microsoft Excel,选择好文件路径及文件版本;首行包含列名称可根据实际需要选择是否勾选,然后点击下一步。
5、选择好验证身份的方式及目标数据库,然后点击下一步。
6、选择复制一个或多个表或视图的数据,下一步。
7、选择好“源”后,点击编辑映射。
8、这里可以编辑列名称及列类型等内容。确认无误后,点击确定返回上一级。
9、直接点下一步。
10、勾选立即运行,点击下一步。
11、直接点“完成”。
12、如果顺利完成,将显示成功。
13、其中dbo'11$'就是新导入的表。
14、查询数据可看到正确导入。
参考代码为Visual Studio 2005下C#语言编写,使用的是OLEDB引擎,具体如下:
aspx 页面代码:
<fieldset>
<legend>CSV文件</legend>
<asp:TextBox ID="ImportCSV_tb" runat="server" Text="testAssetcsv"></asp:TextBox>
<br />
<asp:FileUpload ID="ImportCSVTest_fu" runat="server" />
<br />
<asp:Button ID="csvTest_btn" runat="server" Text="Import" CssClass="ButtonStyle" OnClick="csvTest_btn_Click" />
</fieldset>
<asp:Label ID="info_lb" runat="server" Text=""></asp:Label>
<asp:GridView ID="GridView1" runat="server" Visible="False" Width="100%">
</asp:GridView>
aspxcs文件代码:
protected void csvTest_btn_Click(object sender, EventArgs e)
{
thisGridView1Visible = false;
if (thisImportCSVTest_fuFileName == "" || thisImportCSV_tbTextTrim() == "")
{
thisinfo_lbText = "Select the file, and enter the correct name of the file";
return;
}
string strFullFileName = SystemDateTimeNowToString("yyyyMMdd_HHmmss_") + thisImportCSV_tbTextTrim();//保存的文件名
string strpath = ServerMapPath(@"TempFiles\");//详细文件路径
try
{
string sql = "select from " + strFullFileName;//查询语句
DataTable dt = new DataTable();
string mystring = @"Provider=MicrosoftJetOLEDB40;" + "Data Source=" + strpath + ";" + @"Extended Properties=""text;HDR=Yes;FMT=Delimited""";
OleDbConnection cnnxls = new OleDbConnection(mystring);
try
{
ImportCSVTest_fuPostedFileSaveAs(strpath + strFullFileName);//保存到服务器文件夹
cnnxlsOpen();//打开数据库连接
OleDbDataAdapter myda = new OleDbDataAdapter(sql, cnnxls);
mydaFill(dt);
cnnxlsClose();
SystemIOFileDelete(strpath);//删除上传的文件
}
catch (Exception ex)
{
thisinfo_lbText = exToString();//输出错误提示
}
finally
{
cnnxlsClose();
}
thisGridView1DataSource = dt;
thisGridView1DataBind();
thisGridView1Visible = true;
}
catch (Exception ex)
{
thisinfo_lbText += exToString();
}
}
1将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:\datatxt”这个位置里。
2根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/datatxt' into table exceltomysql fields terminated by '\t';
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“\”!
进行导入 *** 作手动进行Excel数据和MySql数据转换!
数据太大,用数据库客户端软件直接导入非常卡,还是直接执行SQL吧。
1、指定文件路径。
2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。
3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。
Sql代码
复制代码 代码如下:
load data infile 'D:\\top-1mcsv'
into table `site`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
顺带也备份个导出吧。
Sql代码
复制代码 代码如下:
select from `site`
into outfile 'D:\\top-1mcsv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
1、首先打开sqlserver选择一个数据库,右击选择任务,点击导入数据打开导入导出向导:
2、进入向导,下一步来到数据源的选择界面:
3、接着点击数据源下拉框,选择平面文件源:
4、在d出的窗口中,选择csv文件,筛选一下数据,点击下一步:
5、随后一路下一步,一直到出现完成按钮就说明导入成功了:
以上就是关于能不能利用bulk insert指令将csv大文件导入sql数据库时直接生成新表,而不用提前新建全部的内容,包括:能不能利用bulk insert指令将csv大文件导入sql数据库时直接生成新表,而不用提前新建、ASP如何实现CSV文件导入数据库、如何做初始批量导入CSV / MySQL数据到neo4j数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)