在使用C語言操作MySQL數據庫時,經常會遇到需要查詢數據表行數的需求。下面介紹一種使用C語言操作MySQL數據庫計算數據表行數的方法。
MYSQL_RES *result; MYSQL_ROW row; MYSQL_FIELD *field; MYSQL mysql; int numRows = 0; mysql_init(&mysql); mysql_real_connect(&mysql, "localhost", "root", "password", "database", 0, NULL, 0); char query[200]; sprintf(query, "SELECT COUNT(*) FROM table_name;"); mysql_query(&mysql, query); result = mysql_store_result(&mysql); if(result != NULL) { while((row = mysql_fetch_row(result))) { numRows = atoi(row[0]); } mysql_free_result(result); } mysql_close(&mysql);
以上代碼通過SELECT COUNT(*)語句查詢數據表的總行數,計算后輸出結果。其中mysql_init()函數用于初始化MySQL結構體,mysql_real_connect()函數用于連接MySQL服務器并打開指定數據庫,sprintf()函數用于組合SQL語句,mysql_query()函數用于執行SQL語句,mysql_store_result()函數用于將結果集保存在MYSQL_RES結構體中,mysql_fetch_row()函數用于獲取結果集中的一行數據,mysql_free_result()函數用于釋放結果集中的內存,mysql_close()函數用于關閉MySQL連接。
需要注意的是,上述代碼中的localhost、root、password、database和table_name分別代表MySQL服務器地址、MySQL用戶名、MySQL密碼、數據庫名和數據表名,需要根據實際情況進行修改。