一、背景介绍
由于工作需要,实现了C#对mysql进行大批量记录进行插入,也包括单条插入。最先,在网上搜了很久,例子非常少。难道是mysql不够普及,还是mysql作为开源数据库不被大厂商采用,总之,搜来搜去就那几个例子;并且有的编译错误、有的语句不完整,没有一个可以拿来使用。后来,通过咨询同事、查阅资料、拼凑代码,最终执行成功。现在,把具体方法记录如下,以供后来者参考之。
二、控件安装说明
使用环境为VS2008。
mysql查询、建表工具为 navicat for mysql10.0.11。
安装MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe。
vs2008当中添加相应引用。
三、操作mysql数据库
mysql可以通过一条语句,执行批量操作。即把所要插入的所有记录都写入到一条语句当中,每个记录之间用逗号隔开,然后执行该语句即可。
程序文件添加引用 using MySQLDriverCS;
接下来,就可以来操作mysql数据库了,具体代码如下:
//该函数实现数据语句的执行操作
private void ExeMysql(string sql)
{
//连接参数
m_service = "127.0.0.1"; //服务器,本机
m_database = "test"; //数据库名称
m_user = "root"; //用户名,默认"root"
m_pws = ""; //密码,空值
//连接数据库
MySQLConnection mCon = new MySQLConnection(new MySQLConnectionString(m_service, m_dataBase, m_user, m_pws, 3306).AsString);
mCon.Open();
//执行sql语句
MySQLCommand mCmd = new MySQLCommand(sql, mCon);
mCmd.ExecuteNonQuery();
//关闭连接、释放资源
mCmd.Dispose();
mCon.Close();
mCon.Dispose();
}
//调用执行
private void button1_Click(object sender, EventArgs e){
//多条记录通过逗号分隔,最后一条后面不加。
string sql = insert into table (field1, field2, field3, fiedl3, fiedl4, field5) values (item1, item2, item3, item4, item5),
(item1, item2, item3, item4, item5),
......
(item1, item2, item3, item4, item5);
//一次插入记录的条数可自行控制,但是建议500条执行一次,否则,记录数过多,会影响效率
ExeMysql(sql);
}
附插入语句实际例子:
insert into T_CO_201506WattHourMeterInfo (F_MeasurementPoints,F_KeyName,F_Key,F_DataCollectionTime,F_DataInputTime) values ('1234','10119010',98.306,'2015-08-12 0:00:00','2015-08-12 0:00:00'),('1234','10119011',92.536,'2015-08-12 0:00:00','2015-08-12 0:00:00'),('1234','10119010',92.536,'2015-08-12
1:00:00','2015-08-12 1:00:00'),('1234','10119011',92.536,'2015-08-12 1:00:00','2015-08-12 1:00:00'),('1234','10119010',92.536,'2015-08-12 2:00:00','2015-08-12 2:00:00'),('1234','10119011',92.536,'2015-08-12 2:00:00','2015-08-12 2:00:00'),('1234','10119010',92.536,'2015-08-12
3:00:00','2015-08-12 3:00:00'),('1234','10119011',92.536,'2015-08-12 3:00:00','2015-08-12 3:00:00'),('2222','10119010',97.521,'2015-08-12 15:00:00','2015-08-12 15:00:00'),('2222','10119011',97.521,'2015-08-12 15:00:00','2015-08-12 15:00:00'),('2222','10119010',97.521,'2015-08-12
16:00:00','2015-08-12 16:00:00'),('2222','10119011',97.521,'2015-08-12 16:00:00','2015-08-12 16:00:00'),('2222','10119010',97.521,'2015-08-12 17:00:00','2015-08-12 17:00:00'),('2222','10119011',97.521,'2015-08-12 17:00:00','2015-08-12 17:00:00'),('2222','10119010',97.521,'2015-08-12
18:00:00','2015-08-12 18:00:00'),('2222','10119011',97.521,'2015-08-12 18:00:00','2015-08-12 18:00:00'),('2222','10119010',97.521,'2015-08-12 19:00:00','2015-08-12 19:00:00'),('2222','10119011',97.521,'2015-08-12 19:00:00','2015-08-12 19:00:00'),('2222','10119010',97.521,'2015-08-12
20:00:00','2015-08-12 20:00:00'),('2222','10119011',97.521,'2015-08-12 20:00:00','2015-08-12 20:00:00'),('2222','10119010',97.521,'2015-08-12 21:00:00','2015-08-12 21:00:00'),('2222','10119011',97.521,'2015-08-12 21:00:00','2015-08-12 21:00:00'),('2222','10119010',97.521,'2015-08-12
22:00:00','2015-08-12 22:00:00'),('2222','10119011',97.521,'2015-08-12 22:00:00','2015-08-12 22:00:00'),('2222','10119010',97.521,'2015-08-12 23:00:00','2015-08-12 23:00:00'),('2222','10119011',97.521,'2015-08-12 23:00:00','2015-08-12 23:00:00')
这篇博客介绍了如何在C#环境下,利用MySQLDriverCS库进行大批量记录的MySQL插入操作。博主分享了具体的代码实现,包括建立数据库连接、执行SQL语句以及注意事项,提供了一个批量插入的实例,建议每500条记录执行一次以提高效率。

850

被折叠的 条评论
为什么被折叠?



