MySQL是一個管理關系型數據庫的開源軟件,它具有高性能、穩定性和可靠性的特點。MySQL中使用C語言編寫的代碼能夠實現直接訪問MySQL數據庫的功能,這在開發中經常用到。
#include <mysql/mysql.h> #include <string.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char* server = "localhost"; char* user = "root"; char* password = "password"; char* database = "database"; char* query = "SELECT * FROM table"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, query)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_store_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]); } mysql_free_result(res); mysql_close(conn); return 0; }
上述代碼是一個簡單的MySQL C語言程序。在程序的開頭,我們包含了MySQL的頭文件,并聲明了幾個指針變量,用于連接MySQL數據庫和存儲結果。
接下來我們定義了一些常量,分別用于連接MySQL數據庫和查詢數據。在連接MySQL數據庫時,我們使用mysql_init函數初始化一個連接句柄,并使用mysql_real_connect函數連接MySQL數據庫。如果連接失敗,程序將輸出錯誤信息并退出。
在連接成功后,我們使用mysql_query函數執行一條查詢。如果查詢失敗,同樣會輸出錯誤信息并退出。如果查詢成功,我們使用mysql_store_result函數將查詢結果存儲在指向MYSQL_RES結構的指針變量res中。
在查詢結果存儲完畢后,我們使用mysql_fetch_row函數依次取出查詢結果的每一行,并將行數據打印到控制臺上。最后,我們使用mysql_free_result函數釋放查詢結果,并使用mysql_close函數關閉數據庫連接。
總的來說,MySQL C程序的編寫過程比較簡單,只需要使用MySQL提供的API函數即可。值得一提的是,MySQL C程序運行時需要鏈接MySQL的動態庫文件,具體的鏈接方法可以查閱相關文檔。