用C#把mySQL数据插入msSQL数据库

用C#把mySQL数据插入msSQL数据库,第1张

这样吧你那程序我也打不开,写段代码来解释这个过程,用ADO简单讲解一下:

using SystemDataSqlClient;

void charu(string zhi1;int zhi2)              //插入你的数据
{
  SqlConnection cnn=new SqlConnection();
  cnnConnectionString="Server=SQL地址服务器1;uid=;pwd=;DataBase=数据库1";
  cnnOpen();
  DataSet ds=new DataSet();
  SqlDataAdapter sda=new SqlDataAdapter("Insert Into 要插入的表(字段1,字段2)values('"+zhi1+"','"+zhi2+"')",cnn);
  sdaFill(ds);
}
void genxincaozuo(string tiaojian)    //检索你要插入的数据一条一条插入
{
  SqlConnection cnn=new SqlConnection();
  cnnConnectionString="Server=SQL地址服务器2;uid=;pwd=;DataBase=数据库2";
  try{
    cnnOpen();
    DataSet ds=new DataSet();
    SqlDataAdapter sda=new SqlDataAdapter("Select  from 准备插入的表 where 条件字段='"+tiaojian+"'",cnn);
    sdaFill(ds);
    for(int i=0;i<dsTables[0]RowsCount;i++)   //把要插入的数据遍历
    {
       string str1=dsTables[0]Rows[i]["字段名1"]ToString();
       int Z1=ConvertToInt32(dsTables[0]Rows[i]["字段名2"]ToString());
       charu(str1,Z1);              //在这里嵌套插入函数
    }
    catch(SQL Exception e)
    {
      MessageBoxShow(eToString());  
    }
    finnaly
    {
      cnnClose();
    }
  }
}

这个办法是堆栈办法,ADO最简单的方法,也相对比较快一点,用Session就是表对表插入,比这个更浪费时间,

1、数据库中创建课程信息表 tb_courses,包含课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 语句和执行结果如下所示。

2、查看表里的数据还是空的。

3、在 tb_courses 表中插入一条新记录,course_id 值为 1,course_name 值为“Network”,course_grade 值为 3,info 值为“Computer Network”。

4、可以看到插入记录成功。在插入数据时,指定了 tb_courses 表的所有字段,因此将为每一个字段插入新的值。

5、在 tb_courses 表中插入一条新记录,course_id 值为 2,course_name 值为“Database”,course_grade 值为 3,info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。

6、最后查看表数据,就完成了。

sql
写法
:
insert
into
table
values
($values),($values)($values);
使用以上(每次insert,插入10
values)将10w个int
values插入到test表中所需的耗时,耗时53秒
real
0m53871s
user
0m19455s
sys
0m6285s
这是整整近33倍的时间提升。这部分性能提升的原因在于以下几点:
1、每次和mysql
server建立连接都需要经过各种初始化、权限认证,语法解析等等多个步骤,需要消耗一定的资源。
2、更新一个values和更新n个values耗时基本一致。(下面对比一下insert
单values核insert
10
values的profile耗时)

SELECT INTO 语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

SQL SELECT INTO 语法

您可以把所有的列插入新表:

SELECT
INTO new_table_name [IN externaldatabase]
FROM old_tablename

或者只把希望的列插入新表:

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename

所以应该这么写

SELECT b列1,b列2
INTO a
FROM b
WHERE id=1

---注:b表中插入a表中的列不能有a不包含的列,也就是说上面语句的b列1,b列2这些中不能有a中不包含的列

先打开cmd再进入mysql的bin目录:
cd
D:\soft\wamp\bin\mysql\mysql5051b\bin
回车
mysql
-u
用户名
-p
密码
回车
source
d:\abcsql
(指向你自己的目录)回车
ok!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13380062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存