如何检查 mysql 表是否为空
本文关键字:是否 mysql 何检查 检查 | 更新日期: 2023-09-27 18:35:25
如何从 C# 检查我的表是否为空?
我有这样的东西:
public MySqlConnection con;
public MySqlCommand cmd;
con = new MySqlConnection(GetConnectionString());
con.Open();
cmd = new MySqlCommand("SELECT * FROM data;", con);
或者我不需要调用 SELECT 语句?
您可以使用
没有WHERE
关闭的COUNT(*)
,并查看结果是否存在确切的行数。
或者,您可以执行一个没有WHERE
子句的SELECT (id) FROM tablename
,如果没有返回任何行,则表为空。
我会给你一个C#的例子祝你好运
public bool checkEmptyTable(){
try
{
MySql.Data.MySqlClient.MySqlCommand com = new MySql.Data.MySqlClient.MySqlCommand();
conn = new MySql.Data.MySqlClient.MySqlConnection("YOUR CONNECTION");
com.Connection = conn;
com.CommandText = "SELECT COUNT(*) from data";
int result = int.Parse(com.ExecuteScalar().ToString());
return result == 0; // if result equals zero, then the table is empty
}
finally
{
conn.Close();
}
}
如果"data"可能是一个大表,你会更好地使用它(其中pkdata是你的主键字段)
SELECT COUNT(*) FROM data WHERE pkdata = (SELECT pkdata FROM data LIMIT 1);
无论您的"数据"中有 0 行还是数百万行,这都会运行得非常快。 使用没有 WHERE 的 SELECT 或 ORDER BY 意味着它只是拉动第一行可用,LIMIT 1 阻止它获得超过 1。如果你有一个程序在六个月前运行得非常快,但现在像狗一样运行,也许需要寻找一些东西!
SELECT COUNT(*)
FROM table
WHERE `col_name` IS NOT NULL