C# 执行Mysql数据库脚本 创建数据库和表

开发过程中可能需要将数据库导入到生产库中,我们可以通过MySQL workbench将数据库导出成sql文件,然后在C#代码中直接执行sql脚本,创建相应的数据库和表。

项目中需要添加引用mysql.Data.dll

CS文件中需要应用using MySql.Data.MySqlClient;

[csharp] view plain copy

  1. private void button_connTest_Click(object sender, RoutedEventArgs e)
  2. {
  3.     string connStr = “server=192.168.3.21;user=root;database=;port=3306;password=root;”;
  4.     MySqlConnection conn = new MySqlConnection(connStr);
  5.     try
  6.     {
  7.         textbox_log.Text += “Connecting to MySQL…\r\n”;
  8.         conn.Open();
  9.         FileInfo file = new FileInfo(“D:/endb.sql”);  //filename是sql脚本文件路径。
  10.         string sql = file.OpenText().ReadToEnd();
  11.         MySqlScript script = new MySqlScript(conn);
  12.         script.Query = sql;
  13.         int count = script.Execute();
  14.         textbox_log.Text += “Executed “ + count + ” statement(s)\r\n”;
  15.         textbox_log.Text += “Delimiter: “ + script.Delimiter+“\r\n”;
  16.         //textbox_log.Text += “Query: ” + script.Query + “\r\n”;
  17.     }
  18.     catch (Exception ex)
  19.     {
  20.         textbox_log.Text += ex.ToString();
  21.     }
  22.     conn.Close();
  23.     textbox_log.Text += “Execute Successfully.”;
  24. }


执行完成后,就可以看到新的数据库自动创建成功了。

如果只是简单的执行建表或者其他语句,那么数据库连接字符串将要写对应的数据库名,如:

[csharp] view plain copy

  1. string connStr = “server=192.168.3.21;user=root;database=MyDB;port=3306;password=root;”;
  2. MySqlConnection conn = new MySqlConnection(connStr);

相关知识:通过Mysql WorkBench将数据库导出成sql脚本,选择菜单–>Server–>Data Export

2

发表评论