在C語(yǔ)言中,我們可以使用MySQL Connector/C庫(kù)來(lái)連接MySQL數(shù)據(jù)庫(kù),操作數(shù)據(jù)庫(kù)表格。
首先,你需要安裝MySQL Connector/C庫(kù)。你可以在MySQL官網(wǎng)上下載和安裝它。
在你的C程序中,你需要包含MySQL Connector/C庫(kù)的頭文件。例如:
#include <mysql.h>
接下來(lái),你需要聲明一個(gè)MYSQL結(jié)構(gòu)體,它將用于連接MySQL服務(wù)器。
MYSQL *con = mysql_init(NULL);
在連接MySQL服務(wù)器之前,我們需要設(shè)置連接參數(shù),這些參數(shù)包括服務(wù)器地址、用戶名、密碼等。例如:
if (mysql_real_connect(con, "localhost", "root", "password", NULL, 0, NULL, 0) == NULL) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); }
上面的代碼嘗試連接本地MySQL服務(wù)器,使用root用戶和password密碼。如果連接失敗,程序?qū)⑤敵鲥e(cuò)誤信息并退出。
當(dāng)你成功連接到MySQL服務(wù)器后,你可以執(zhí)行SQL查詢并處理結(jié)果。例如:
if (mysql_query(con, "SELECT * FROM table1")) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } MYSQL_RES *result = mysql_store_result(con); if (result == NULL) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } int num_fields = mysql_num_fields(result); MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { for (int i = 0; i< num_fields; i++) { printf("%s ", row[i] ? row[i] : "NULL"); } printf("\n"); } mysql_free_result(result);
上面的代碼查詢名為table1的表格,將結(jié)果存儲(chǔ)為MYSQL_RES結(jié)構(gòu)體,然后依次讀取每行的數(shù)據(jù)并打印出來(lái)。
最后,你需要在程序結(jié)束時(shí)關(guān)閉連接。
mysql_close(con);
以上就是使用C語(yǔ)言連接MySQL數(shù)據(jù)庫(kù)的基本方法,你可以自己實(shí)踐一下,掌握其操作方法。