在 C 開發中,有時需要與數據庫進行交互。MySQL 是一個流行的關系型數據庫管理系統,我們可以使用 C 語言編寫程序來連接并操作 MySQL 數據庫。
首先我們需要下載 MySQL 的 C 語言連接 API 庫,它提供了訪問 MySQL 數據庫的函數。常用的有以下幾個:
MYSQL *mysql_init(MYSQL *mysql) int mysql_real_connect(MYSQL *mysql,const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag) unsigned int mysql_errno(MYSQL *mysql) const char *mysql_error(MYSQL *mysql) int mysql_query(MYSQL *mysql,const char *stmt_str) MYSQL_RES *mysql_store_result(MYSQL *mysql) MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) unsigned long *mysql_fetch_lengths(MYSQL_RES *result) void mysql_free_result(MYSQL_RES *result) void mysql_close(MYSQL *mysql)
接下來,我們需要進行連接,并進行查詢操作。連接成功后,對數據庫進行查詢時,可以使用 mysql_query() 函數。如下所示:
MYSQL mysql; mysql_init(&mysql); mysql_real_connect(&mysql, "localhost", "root", "password", "database", 3306, NULL, 0); mysql_query(&mysql, "SELECT * FROM table"); MYSQL_RES *result = mysql_store_result(&mysql); int field_num = mysql_num_fields(result); MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { for (int i = 0; i< field_num; ++i) { printf("%s\t", row[i]); } printf("\n"); } mysql_free_result(result); mysql_close(&mysql);
以上代碼連接到名為 "database" 的數據庫,查詢了名為 "table" 的數據表,并逐行輸出其所有字段。在程序結束時,需要釋放查詢結果,并關閉連接。
總而言之,在 C 語言開發中,通過 MySQL API 能夠方便地與 MySQL 數據庫進行交互,實現存儲、讀取和更新等操作。