C語言是一門非常強大的編程語言,在很多領域都有著廣泛應用。而MySQL數據庫也是一款非常著名的關系型數據庫,它支持多種操作系統,擁有強大的擴展性和安全性。如果想要在C語言中與MySQL數據庫進行交互,我們需要使用MySQL的C API庫。
#include#include int main() { MYSQL *mysql; MYSQL_RES *result; MYSQL_ROW row; mysql = mysql_init(NULL); mysql_real_connect( mysql, "localhost", // MySQL服務器的主機名 "root", // 登錄用戶名 "password", // 登錄密碼 "database", // 數據庫名 0, // 端口號,默認為0 NULL, // Unix套接字文件路徑,默認為NULL CLIENT_FOUND_ROWS); // 連接選項 mysql_query(mysql, "SELECT * FROM table"); result = mysql_store_result(mysql); while ((row = mysql_fetch_row(result))) { printf("%d\n", atoi(row[0])); } mysql_free_result(result); mysql_close(mysql); return 0; }
上述代碼展示了如何使用MySQL的C API庫連接本地MySQL服務器,并從表格table中查詢數據并打印出來。具體來說,我們需要進行以下幾個步驟:
1. 引入MySQL頭文件,同時也需要在鏈接時指定MySQL庫。
#include$ gcc -o test test.c $(mysql_config --cflags --libs)
2. 創建MYSQL結構體指針,并使用mysql_init()函數初始化。
MYSQL *mysql; mysql = mysql_init(NULL);
3. 使用mysql_real_connect()函數連接MySQL服務器,并指定登錄用戶名、密碼、數據庫名等選項。
mysql_real_connect( mysql, "localhost", "root", "password", "database", 0, NULL, CLIENT_FOUND_ROWS);
4. 使用mysql_query()函數執行SQL語句,并使用mysql_store_result()函數將結果集存儲在MYSQL_RES結構體變量中。
mysql_query(mysql, "SELECT * FROM table"); result = mysql_store_result(mysql);
5. 使用mysql_fetch_row()函數逐行獲取結果集,并使用其中的數據。
while ((row = mysql_fetch_row(result))) { printf("%d\n", atoi(row[0])); }
6. 最后使用mysql_free_result()和mysql_close()函數釋放資源和斷開連接。
mysql_free_result(result); mysql_close(mysql);
以上就是使用C語言與MySQL數據庫進行交互的基本方法了。如果你想更深入地了解MySQL的C API庫,可以閱讀MySQL官方文檔。