在C語言開發中,遍歷一個MySQL數據庫表是一項非常常見的任務。使用MySQL的C API庫,我們可以輕松地在C語言中完成這項工作。
#include#include #include int main() { MYSQL *con = mysql_init(NULL); if (con == NULL) { fprintf(stderr, "mysql_init() failed\n"); return 1; } if (mysql_real_connect(con, "localhost", "user", "password", "database", 0, NULL, 0) == NULL) { fprintf(stderr, "mysql_real_connect() failed: %s\n", mysql_error(con)); mysql_close(con); return 1; } if (mysql_query(con, "SELECT * FROM table")) { fprintf(stderr, "mysql_query() failed: %s\n", mysql_error(con)); mysql_close(con); return 1; } MYSQL_RES *result = mysql_store_result(con); if (result == NULL) { fprintf(stderr, "mysql_store_result() failed: %s\n", mysql_error(con)); mysql_close(con); return 1; } MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { printf("%s\t%s\t%s\n", row[0], row[1], row[2]); } mysql_free_result(result); mysql_close(con); return 0; }
首先,我們需要在代碼中包含mysql.h頭文件并鏈接mysqlclient庫。
接下來,在代碼中初始化一個MySQL連接,并使用mysql_real_connect()函數連接到數據庫。請記住使用正確的主機、用戶名、密碼和數據庫名稱。如果連接失敗,我們將立即退出程序。
接下來,使用mysql_query()函數向數據庫發送SQL查詢。在這個例子中,我們查詢名為“table”的表的所有行。
使用mysql_store_result()函數存儲查詢結果。我們可以使用mysql_num_rows()函數來獲取結果中的行數,但在這個簡單的例子中,我們只是在while循環中使用mysql_fetch_row()函數逐行輸出結果。
最后,我們使用mysql_free_result()釋放結果集,并使用mysql_close()關閉MySQL連接。
這是一個簡單的例子,但它可以輕松地擴展以包括過濾、排序和其他查詢語句。使用這些簡單的步驟,你可以在C語言開發中輕松遍歷MySQL數據庫表。