C# 有没有一种方法可以在MYSQL中创建数据库而不使用C中的SMO#

C# 有没有一种方法可以在MYSQL中创建数据库而不使用C中的SMO#,c#,mysql,smo,C#,Mysql,Smo,我正在尝试通过C#创建一个数据库,而不使用SMO,这可能吗?!我现在知道了,但我99%认为这是错的 connectionString2 = "SERVER=" + server + ";" + "DATABASE=master;" + "UID=" + uid + ";" + "PASSWORD=" + password + ";" this.OpenConnection(); //Which opens the above conne

我正在尝试通过C#创建一个数据库,而不使用SMO,这可能吗?!我现在知道了,但我99%认为这是错的

connectionString2 = "SERVER=" + server + ";" + "DATABASE=master;" 
                            + "UID=" + uid + ";" + "PASSWORD=" + password + ";"

this.OpenConnection(); //Which opens the above connection

// The Lines array has stored the sql statements to create the databse 
// and tables for that database 
foreach (string line in lines)
{
    create_database += line;
}
MySqlCommand cmd = new MySqlCommand(create_database, connection2);
cmd.ExecuteNonQuery();

在不使用SMO的情况下,真的有可能做到这一点吗

您可以使用以下内容:

var connection = new MySqlConnection("Data Source=server;UserId=root;PWD=pass;");
var command = new MySqlCommand("CREATE DATABASE FancyDatabase;", connection);
connection.Open();
command.ExecuteNonQuery();
connection.Close();

注意:没有默认数据库,您需要拥有这些权限。并且:这是未经测试的代码,使用标准的sql功能。

您可以使用类似以下内容:

var connection = new MySqlConnection("Data Source=server;UserId=root;PWD=pass;");
var command = new MySqlCommand("CREATE DATABASE FancyDatabase;", connection);
connection.Open();
command.ExecuteNonQuery();
connection.Close();

注意:没有默认数据库,您需要拥有这些权限。而且:这是未经测试的代码,使用标准sql功能。

您必须像在示例中一样使用MySqlCommand

MySqlCommand cmd = new MySqlCommand("CREATE DATABASE YAYNEWDATABASE;", connection2);
connection2.Open();
cmd.ExecuteNonQuery();
connection2.Close();
或者,如果您要进行大量修改,我建议您尝试一种工具,例如将数据库创建/迁移作为构建脚本的一部分来处理。这是对你正在做的事情做很多假设,但是意识到这一点并没有坏处

这将添加类似于rails到.net的迁移

{
    up: "CREATE TABLE Orders (ID {pk}, OrderNumber {string} NOT NULL, SubTotal {money})",
    down: "DROP TABLE Orders"
}

您必须像在示例中一样使用MySqlCommand

MySqlCommand cmd = new MySqlCommand("CREATE DATABASE YAYNEWDATABASE;", connection2);
connection2.Open();
cmd.ExecuteNonQuery();
connection2.Close();
或者,如果您要进行大量修改,我建议您尝试一种工具,例如将数据库创建/迁移作为构建脚本的一部分来处理。这是对你正在做的事情做很多假设,但是意识到这一点并没有坏处

这将添加类似于rails到.net的迁移

{
    up: "CREATE TABLE Orders (ID {pk}, OrderNumber {string} NOT NULL, SubTotal {money})",
    down: "DROP TABLE Orders"
}

不确定你说的是哪种dataabse服务器。SMO是MSSQL,但MySQL命令是MySQL…抱歉,Sascha,标题写错了!不确定你说的是哪种dataabse服务器。SMO是MSSQL,但MySQL命令是MySQL…抱歉,Sascha,标题写错了!谢谢火花!我已经在一个sql文件中创建并导出了数据库,是否还要将其导入到某个字符串变量中以创建一个长sql查询?!默认情况下不是这样,但是使用一些mysql命令应该不会那么难。在show tables descripe table中或多或少地运行一个foreach字符串,并在适当的地方用{string}和{pk}等数据类型替换它们。谢谢!我已经在一个sql文件中创建并导出了数据库,是否还要将其导入到某个字符串变量中以创建一个长sql查询?!默认情况下不是这样,但是使用一些mysql命令应该不会那么难。您应该或多或少地在showtables descripe表中运行一个foreach字符串,并在适当的地方用{string}和{pk}等数据类型替换一些数据类型。