近幾年,MySQL 數(shù)據(jù)庫逐漸成為了廣大程序員所鐘愛的關(guān)系型數(shù)據(jù)庫之一。在 C 語言中,操作 MySQL 數(shù)據(jù)庫也變得越來越常見。下面,我們來討論一下 C 語言如何操作 MySQL 數(shù)據(jù)庫。
首先,我們需要下載并安裝 MySQL Connector/C,這是 MySQL 官方提供的 C 語言 API。安裝完成后,我們需要在代碼中包含相關(guān)頭文件:
#include
接下來,我們需要初始化 MySQL API:
MYSQL* conn_ptr; conn_ptr = mysql_init(NULL); if (!conn_ptr) { fprintf(stderr, "mysql_init failed\n"); return EXIT_FAILURE; }
在初始化完成后,我們需要連接到 MySQL 數(shù)據(jù)庫中:
const char* host_name = "localhost"; const char* user_name = "root"; const char* password = "your_password"; const char* db_name = "your_database_name"; int port_num = 3306; if (!mysql_real_connect(conn_ptr, host_name, user_name, password, db_name, port_num, NULL, 0)) { fprintf(stderr, "mysql_real_connect failed\n"); mysql_close(conn_ptr); return EXIT_FAILURE; }
連接成功后,我們可以執(zhí)行 SQL 語句,例如查詢:
if (mysql_query(conn_ptr, "SELECT * FROM your_table_name")) { fprintf(stderr, "mysql_query failed\n"); mysql_close(conn_ptr); return EXIT_FAILURE; } MYSQL_RES* result_ptr; result_ptr = mysql_use_result(conn_ptr); if (result_ptr) { MYSQL_ROW row; while ((row = mysql_fetch_row(result_ptr))) { printf("%s\n", row[0]); } mysql_free_result(result_ptr); } mysql_close(conn_ptr); return EXIT_SUCCESS;
以上代碼演示了如何在 C 語言中連接 MySQL 數(shù)據(jù)庫,并執(zhí)行 SELECT 查詢語句。我們也可以通過 API 執(zhí)行 INSERT、UPDATE、DELETE 等操作。
值得注意的是,MySQL Connector/C API 在操作數(shù)據(jù)庫時(shí),會(huì)自動(dòng)進(jìn)行 SQL 注入防護(hù),避免了 SQL 注入攻擊的危害。
總的來說,使用 MySQL Connector/C,我們可以輕松地在 C 語言中操作 MySQL 數(shù)據(jù)庫,讓數(shù)據(jù)庫成為我們構(gòu)建高效程序的得力工具。