在C語言中,如果需要連接MySQL數據庫,我們需要用到MySQL C API。在使用API之前,需要先引入MySQL頭文件及庫文件:
#include <mysql.h> // 引入庫文件,可以在編譯時加上-lmysqlclient參數 // 或者在Windows下添加libmysql.lib至附加依賴項
接下來需要設置數據庫的相關信息,比如host、user、password、database等:
MYSQL mysql; mysql_init(&mysql); const char* host = "localhost"; const char* user = "root"; const char* password = "password"; const char* database = "test"; int port = 3306; mysql_real_connect(&mysql, host, user, password, database, port, NULL, 0);
以上代碼中,mysql_init()用來初始化mysql句柄,mysql_real_connect()用來建立與數據庫的連接,其中參數依次為host、user、password、database、port、unix_socket、client_flag。
建立連接后,我們可以使用MYSQL_RES結構體來儲存查詢結果:
MYSQL_RES* result; MYSQL_ROW row; mysql_query(&mysql, "SELECT * FROM test_table"); result = mysql_store_result(&mysql); while((row = mysql_fetch_row(result)) != NULL) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_free_result(result);
以上代碼中,mysql_query()用來執行MySQL語句,mysql_store_result()用來儲存查詢結果,mysql_fetch_row()用來逐行獲取數據。需要注意的是,在使用完結果集后,需要使用mysql_free_result()釋放內存。
最后,我們需要關閉與數據庫的連接:
mysql_close(&mysql);
以上就是使用C語言鏈接MySQL數據庫的基本方法。