MySQL是一種廣泛用于存儲(chǔ)、管理數(shù)據(jù)的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。與C語(yǔ)言結(jié)合使用可以實(shí)現(xiàn)方便地訪問(wèn)和操作MySQL數(shù)據(jù)庫(kù)。下面介紹如何在C語(yǔ)言中使用MySQL API來(lái)顯示MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
#include <mysql.h> #include <stdio.h> #include <stdlib.h> void display_results(MYSQL *mysql, MYSQL_RES *res) { unsigned int num_fields; MYSQL_ROW row; MYSQL_FIELD *fields; num_fields = mysql_num_fields(res); fields = mysql_fetch_fields(res); while ((row = mysql_fetch_row(res))) { for (unsigned int i = 0; i< num_fields; i++) { printf("%s: %s\n", fields[i].name, row[i] ? row[i] : "NULL"); } printf("\n"); } } int main() { MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "testdb"; mysql_init(&mysql); mysql_real_connect(&mysql, server, user, password, database, 0, NULL, 0); mysql_query(&mysql, "SELECT * FROM users"); res = mysql_store_result(&mysql); display_results(&mysql, res); mysql_free_result(res); mysql_close(&mysql); return 0; }
以上代碼通過(guò)MySQL API連接到本地的testdb數(shù)據(jù)庫(kù),執(zhí)行了一條簡(jiǎn)單的SELECT查詢,并將結(jié)果輸出到控制臺(tái)上。在display_results函數(shù)中,使用mysql_fetch_fields函數(shù)來(lái)獲取查詢結(jié)果的列信息,使用mysql_fetch_row函數(shù)獲取每行數(shù)據(jù)并輸出。
以上是使用C語(yǔ)言顯示MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單方法,開(kāi)發(fā)者們可以通過(guò)MySQL API實(shí)現(xiàn)更加復(fù)雜、多樣化的操作,實(shí)現(xiàn)更加出色的功能。