在進(jìn)行軟件開發(fā)過程中,數(shù)據(jù)庫是非常必要的一部分。而MySQL作為聞名全球的關(guān)系型數(shù)據(jù)庫,也是非常流行的一種選擇。而C語言作為一種非常老牌的編程語言,在開發(fā)時(shí)也需要和MySQL進(jìn)行連接,以便進(jìn)行數(shù)據(jù)的存儲(chǔ)和查詢操作。接下來,我們就來探討一下C語言如何連接MySQL。
#include#include #include //連接MySQL需要的頭文件 int main() { MYSQL mysql;//建立一個(gè) MySQL 實(shí)例 MYSQL_RES *res; MYSQL_ROW row;//定義查詢結(jié)果集 mysql_init(&mysql);//初始化 MySQL 實(shí)例 if (!mysql_real_connect(&mysql, "localhost", "root", "password", "testdb", 0, NULL, 0)) { printf("連接失敗!\n"); return 1; }//連接 MySQL 實(shí)例,testdb是要連接的數(shù)據(jù)庫名 if (mysql_query(&mysql, "SELECT * FROM users")) { printf("查詢失敗!\n"); return 1; }//查詢語句 res = mysql_use_result(&mysql);//執(zhí)行查詢語句,獲取查詢結(jié)果集 printf("查詢結(jié)果:\n"); while ((row = mysql_fetch_row(res)))//循環(huán)輸出查詢結(jié)果 { printf("%s\t%s\t%s\n",row[0],row[1],row[2]); } mysql_free_result(res);//釋放查詢結(jié)果集 mysql_close(&mysql);//關(guān)閉 MySQL 實(shí)例 return 0; }
上面代碼中,我們定義了MYSQL、MYSQL_RES、MYSQL_ROW三個(gè)結(jié)構(gòu)體,分別是MySQL實(shí)例、查詢結(jié)果集、查詢結(jié)果集中的一行數(shù)據(jù)。然后使用mysql_init()對(duì)MySQL實(shí)例進(jìn)行初始化,并使用mysql_real_connect()連接MySQL實(shí)例,這里的localhost為本地連接地址,root為MySQL用戶名,password為MySQL密碼,testdb為要連接的數(shù)據(jù)庫名。接著使用mysql_query()執(zhí)行查詢語句,獲取查詢結(jié)果集后循環(huán)輸出結(jié)果集,最后用mysql_close()關(guān)閉MySQL實(shí)例。
通過上面的代碼,我們可以看出,C語言連接MySQL的過程并不復(fù)雜。希望能對(duì)大家在軟件開發(fā)中使用MySQL提供一定的幫助。