在C語言中,連接MySQL數(shù)據(jù)庫進行數(shù)據(jù)操作是十分常見的操作。這里我們介紹一種基本的方法。
#include <mysql.h> #include <stdio.h> int main() { MYSQL *conn = mysql_init(NULL); MYSQL_RES *res; MYSQL_ROW row; const char *server = "localhost"; const char *user = "root"; const char *password = "password"; /* 設(shè)置你的MySQL密碼 */ const char *database = "test"; /* 設(shè)置你的數(shù)據(jù)庫名 */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } if (mysql_query(conn, "SELECT * FROM students")) { fprintf(stderr, "%s\n", mysql_error(conn)); return 1; } res = mysql_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]); } mysql_free_result(res); mysql_close(conn); return 0; }
本代碼演示了一個基本的連接MySQL并進行數(shù)據(jù)查詢輸出的例子。首先使用mysql_init()初始化MySQL連接,然后設(shè)置連接信息:服務器地址、用戶名、密碼以及要連接的數(shù)據(jù)庫。如果連接成功,則使用mysql_query()函數(shù)執(zhí)行SELECT語句查詢數(shù)據(jù)庫數(shù)據(jù);否則輸出錯誤信息,并終止程序運行。接著使用mysql_use_result()函數(shù)獲取查詢結(jié)果集。最后使用mysql_fetch_row()函數(shù)一個一個獲取結(jié)果集的行數(shù)據(jù),并輸出。
需要注意的是,在使用完畢后,需要釋放結(jié)果集以及關(guān)閉連接,以防內(nèi)存泄漏。