C語(yǔ)言是一種非常強(qiáng)大的編程語(yǔ)言,可以與數(shù)據(jù)庫(kù)進(jìn)行互動(dòng)。在這里,我們將學(xué)習(xí)如何使用C語(yǔ)言來(lái)讀取MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
首先,我們需要為該項(xiàng)目包含libmysqlclient庫(kù)頭文件,并在代碼中指定連接信息:
#include<mysql.h> #include<stdlib.h> #include<stdio.h> #include<string.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; // 這里需要替換為您的數(shù)據(jù)庫(kù)密碼 char *database = "test"; 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 userinfo")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); printf("Data:\n"); while ((row = mysql_fetch_row(res)) != NULL) printf("%s %s\n", row[0], row[1]); mysql_free_result(res); mysql_close(conn); return 0; }
在這個(gè)示例中,我們使用了mysql_init()初始化數(shù)據(jù)庫(kù)連接,并使用mysql_real_connect()連接到指定數(shù)據(jù)庫(kù)。如果連接失敗,我們使用mysql_error()輸出了連接錯(cuò)誤。接著,我們使用mysql_query()在userinfo表中執(zhí)行了一條簡(jiǎn)單的查詢。
最后,我們使用mysql_fetch_row()循環(huán)遍歷查詢結(jié)果并打印每一行數(shù)據(jù)。最后使用mysql_free_result()釋放查詢結(jié)果,使用mysql_close()關(guān)閉連接并釋放資源。