在C語言中,為了讀取和操作MySQL數據庫中的數據,我們需要使用MySQL C API。MySQL C API提供了許多函數來處理各種數據類型,包括整數、浮點數、字符串和日期時間等。
#include <mysql.h> //包含MySQL C API頭文件 MYSQL mysql; //定義一個MySQL對象 mysql_init(&mysql); //初始化MySQL對象 mysql_real_connect(&mysql, "localhost", "root", "password", "database", 0, NULL, 0); //連接MySQL數據庫 MYSQL_RES *result; //定義MYSQL_RES類型指針,用于指向查詢結果 mysql_query(&mysql, "SELECT * FROM table"); //執行查詢語句 result = mysql_store_result(&mysql); //存儲查詢結果 MYSQL_ROW row; //定義MYSQL_ROW類型指針,用于遍歷查詢結果的行 while ((row = mysql_fetch_row(result))) { //循環遍歷查詢結果的行 int id = atoi(row[0]); //將字符串類型的id轉換為整數類型 double salary = atof(row[1]); //將字符串類型的salary轉換為浮點數類型 char *name = row[2]; //獲取字符串類型的name printf("%d %f %s\n", id, salary, name); //打印查詢結果 } mysql_free_result(result); //釋放查詢結果 mysql_close(&mysql); //關閉MySQL連接
在上面的代碼中,我們使用了atoi和atof函數將字符串類型的整數和浮點數轉換為對應的數據類型。同時,我們通過MYSQL_ROW類型的指針遍歷了查詢結果的行,并使用printf函數將結果打印出來。
除了整數和浮點數,MySQL C API還支持其他數據類型的處理,例如日期時間。我們可以使用下面的函數將MySQL的日期時間類型轉換為C語言中的time_t類型:
time_t timestamp = mysql_time_t(row[3]); //將MySQL的日期時間類型轉換為C語言中的time_t類型
有了MySQL C API的支持,我們可以方便地讀取和操作MySQL數據庫中的各種數據類型。