MySQL是一種常見的數(shù)據(jù)庫系統(tǒng),被廣泛用于Web應(yīng)用程序和其他應(yīng)用程序中。在C語言中,可以使用一些開源庫來讀取MySQL數(shù)據(jù)庫。這些庫可以使C程序與MySQL服務(wù)器之間交互,從而實(shí)現(xiàn)讀取和寫入數(shù)據(jù)庫的功能。
為了使用MySQL庫,需要使用MySQL C API。在C中,可以使用頭文件#include
#include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "database_name"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, "select * from table_name")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_free_result(res); mysql_close(conn); return 0; }
在該示例程序中,首先需要創(chuàng)建MYSQL結(jié)構(gòu)體指針conn,并使用mysql_init函數(shù)來初始化它。然后,使用mysql_real_connect函數(shù)連接到MySQL服務(wù)器。在該函數(shù)中,需要傳遞服務(wù)器名稱、用戶名、密碼和數(shù)據(jù)庫名。如果連接成功,則返回一個MYSQL結(jié)構(gòu)體指針。如果連接失敗則終止程序執(zhí)行,并輸出連接錯誤信息。
連接成功后,使用mysql_query函數(shù)執(zhí)行SQL查詢語句。在上面的例子中,使用"select * from table_name"來查詢表格中的所有記錄。如果查詢失敗,將顯示錯誤消息并終止程序執(zhí)行。查詢成功后,使用mysql_use_result函數(shù)來獲取查詢結(jié)果集。使用mysql_fetch_row函數(shù)從結(jié)果集中獲取每一行記錄,并將其存儲在MYSQL_ROW類型中。在本例中,使用mysql_fetch_row函數(shù)輸出所有記錄的值。
最后使用mysql_free_result函數(shù)清除結(jié)果集,并使用mysql_close函數(shù)關(guān)閉MySQL服務(wù)器連接。在這個示例程序中,我們演示了如何使用C語言讀取MySQL數(shù)據(jù)庫。有關(guān)MySQL C API的更多信息,請參閱MySQL官方文檔。