MySQL 使用ExecuteNonQuery方法

MySQL 使用ExecuteNonQuery方法

在MySQL中,我们使用ExecuteNonQuery方法来执行一些不需要返回结果集的SQL语句,例如INSERT、UPDATE、DELETE等。但有时候我们需要知道这些操作执行后影响的行数,这时我们可以使用Get affected rows方法来获取。

阅读更多:MySQL 教程

Get affected rows方法

Get affected rows方法用于获取上一次ExecuteNonQuery方法的影响行数,代码示例:

using MySql.Data.MySqlClient;

MySqlConnection conn = new MySqlConnection("your connection string");
conn.Open();

MySqlCommand cmd = new MySqlCommand("your SQL statement", conn);
int affectedRows = cmd.ExecuteNonQuery();

Console.WriteLine($"The number of affected rows: {affectedRows}");

conn.Close();

上面的代码中,我们通过MySqlConnection创建一个MySQL连接,通过MySqlCommand执行一个SQL语句并返回受影响的行数,最后关闭连接。你也可以使用SqlParameter来指定参数,防止SQL注入攻击。

示例

下面是一个实际的例子:我们有一个表test,它包含两个字段:id和name。

id name
1 John
2 Mary
3 Tom

我们要执行一条删除操作,删除所有name为John的记录,并打印出受影响的行数。代码如下:

using MySql.Data.MySqlClient;

MySqlConnection conn = new MySqlConnection("your connection string");
conn.Open();

// 删除name为John的记录
MySqlCommand cmd = new MySqlCommand("DELETE FROM test WHERE name = 'John'", conn);
int affectedRows = cmd.ExecuteNonQuery();

Console.WriteLine($"The number of affected rows: {affectedRows}");

conn.Close();

运行结果为:

The number of affected rows: 1

我们可以看到,只有一条记录被删除了。如果我们把where条件改为name = ‘Smith’,运行结果为:

The number of affected rows: 0

因为没有记录被删除,受影响的行数为0。

总结

Get affected rows方法是MySQL中获取受影响行数的方法,适用于ExecuteNonQuery方法。通过实例代码我们也可以看到,在实际开发中,我们能够更清晰地知道我们写的SQL语句对数据库操作了多少行,进而判断我们的逻辑是否正确。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程