在Linux C開發(fā)中,我們常常需要與數(shù)據(jù)庫進行交互,唯有對數(shù)據(jù)庫的操作才能實現(xiàn)對數(shù)據(jù)的增刪改查等操作。而在Linux C中,我們可以使用MySQL數(shù)據(jù)庫,下面我們就來看一下如何查詢MySQL數(shù)據(jù)庫中的數(shù)據(jù)。
#include#include int main() { MYSQL mysql; MYSQL_RES *mysql_res; MYSQL_ROW row; int rows, fields; mysql_init(&mysql); if (!mysql_real_connect(&mysql, "host", "username", "password", "database", 0, NULL, 0)) printf("Connection Failed: %s", mysql_error(&mysql)); if (mysql_query(&mysql, "select * from table")) printf("Query Error: %s", mysql_error(&mysql)); mysql_res = mysql_store_result(&mysql); rows = mysql_num_rows(mysql_res); fields = mysql_num_fields(mysql_res); while ((row = mysql_fetch_row(mysql_res))) { for (int i = 0; i< fields; i++) printf("%s ", row[i]); printf("\n"); } mysql_free_result(mysql_res); mysql_close(&mysql); return 0; }
以上就是一個簡單的MySQL查詢程序,其中:
- 第5行,定義MYSQL實例
- 第6~10行,定義MYSQL_RES、MYSQL_ROW、rows和fields變量,用于保存執(zhí)行查詢后的結(jié)果
- 第12行,初始化連接
- 第13~14行,判斷連接是否成功
- 第16~17行,執(zhí)行SQL語句
- 第19~21行,獲取查詢結(jié)果集
- 第23~30行,在結(jié)果集中循環(huán)查找并打印結(jié)果
- 第32~34行,釋放結(jié)果集、關(guān)閉連接、退出程序
通過以上程序的學(xué)習(xí),我們可以看出,Linux C操作MySQL數(shù)據(jù)庫并不復(fù)雜,只要掌握了基礎(chǔ)的MySQL API函數(shù),就可以輕輕松松地進行增刪改查等操作了。