C語言是一種廣泛應用于系統開發的編程語言,而MySQL是一個流行的數據庫管理系統。在C語言中,可以使用MySQL C API來操作MySQL數據庫。
首先需要在C程序中包含“mysql.h”頭文件,然后使用“mysql_init()”函數創建MySQL連接對象。連接對象代表著一個連接,可以用來進行各種操作,如查詢、插入、刪除等。
#includeint main() { MYSQL* conn = mysql_init(NULL); if (conn == NULL) { // 處理連接對象創建失敗的情況 } // 連接到MySQL數據庫 if (mysql_real_connect(conn, "localhost", "root", "password", "testdb", 0, NULL, 0) == NULL) { // 處理連接失敗的情況 } // 在這里進行數據庫操作 // ... // 關閉連接 mysql_close(conn); return 0; }
一旦連接對象創建成功,就可以進行各種數據庫操作了。例如,可以使用“mysql_query()”函數執行SQL查詢語句:
// 查詢并輸出所有記錄 if (mysql_query(conn, "SELECT * FROM mytable")) { // 處理查詢失敗的情況 } MYSQL_RES* result = mysql_store_result(conn); if (result == NULL) { // 處理查詢結果為空的情況 } MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { // 處理每一行記錄 } mysql_free_result(result);
可以通過查詢結果的“MYSQL_ROW”類型指針來遍歷各行記錄。在這里,“mysql_store_result()”函數塊的作用是將所有的查詢結果存放在內存中,然后通過“mysql_fetch_row()”函數來逐行讀取。
除了查詢之外,還可以使用“mysql_real_query()”函數執行插入、更新、刪除等操作:
// 向表中插入一條記錄 char buf[128]; sprintf(buf, "INSERT INTO mytable(name, age) VALUES('%s', %d)", "John", 30); if (mysql_real_query(conn, buf, strlen(buf))) { // 處理插入失敗的情況 }
在這里,“sprintf()”函數用于字符串拼接,生成一條SQL語句。然后將該SQL語句作為參數傳遞給“mysql_real_query()”函數來執行插入操作。
總之,使用C語言的MySQL C API可以輕松地管理MySQL數據庫,執行各種數據庫操作。