MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),常常被用來存儲(chǔ)大量的數(shù)據(jù),特別是Web應(yīng)用程序中的數(shù)據(jù)。在C語言中,我們可以通過編寫代碼來操作MySQL數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)庫的讀寫操作。
//導(dǎo)入mysql的頭文件 #include <mysql.h> //數(shù)據(jù)庫連接信息 const char* host = "localhost"; const char* user = "root"; const char* password = "123456"; const char* database = "test"; //連接數(shù)據(jù)庫函數(shù) void connect_mysql() { //初始化mysql對(duì)象 MYSQL mysql; mysql_init(&mysql); //連接mysql數(shù)據(jù)庫 if (!mysql_real_connect(&mysql, host, user, password, database, 0, NULL, 0)) { printf("連接到mysql失敗:%s\n", mysql_error(&mysql)); return; } //操作數(shù)據(jù)庫的代碼 //斷開與mysql的連接 mysql_close(&mysql); }
以上代碼實(shí)現(xiàn)了連接到MySQL數(shù)據(jù)庫的函數(shù),并進(jìn)行了簡(jiǎn)單的錯(cuò)誤處理。接下來,我們可以編寫實(shí)際的數(shù)據(jù)庫操作代碼。
//查詢數(shù)據(jù)庫示例 void query_mysql() { MYSQL mysql; mysql_init(&mysql); if (!mysql_real_connect(&mysql, host, user, password, database, 0, NULL, 0)) { printf("連接到mysql失敗:%s\n", mysql_error(&mysql)); return; } const char* query = "SELECT * FROM user"; if (mysql_real_query(&mysql, query, strlen(query))) { printf("查詢失敗:%s\n", mysql_error(&mysql)); return; } MYSQL_RES* result = mysql_store_result(&mysql); if (result == NULL) { printf("查詢結(jié)果為空"); return; } int num_fields = mysql_num_fields(result); MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { for (int i = 0; i< num_fields; i++) { printf("%s ", row[i]); } printf("\n"); } mysql_free_result(result); mysql_close(&mysql); }
以上代碼實(shí)現(xiàn)了查詢MySQL數(shù)據(jù)庫中的user表,將查詢結(jié)果輸出到控制臺(tái)。可以根據(jù)實(shí)際需求,修改查詢語句、字段名等信息。
除了查詢,MySQL的數(shù)據(jù)庫操作還包括插入、更新、刪除等操作。我們可以根據(jù)具體需求編寫相應(yīng)的代碼,實(shí)現(xiàn)操作MySQL數(shù)據(jù)庫。