C 語言是一種常用的編程語言,它可以用于與多種數據庫進行交互。其中, MySQL 是一款十分流行的關系型數據庫,且它提供了豐富的 API,使得我們可以使用 C 語言輕松地讀寫 MySQL 數據庫。
在進行 MySQL 編程時,我們需要使用 mysql.h 模塊提供的函數。在編寫代碼時,我們需要先將 mysql.h 頭文件包含進來。下面是一個簡單的 MySQL 數據庫連接示例:
#include <mysql.h> #include <stdio.h> int main() { MYSQL *conn = mysql_init(NULL); if (conn == NULL) { printf("初始化連接失敗!\n"); return -1; } if (mysql_real_connect(conn, "localhost", "root", "密碼", "數據庫名",0, NULL, 0) == NULL) { printf("連接數據庫失敗!\n"); mysql_close(conn); return -1; } printf("連接數據庫成功!\n"); mysql_close(conn); return 0; }
在該示例中,mysql_init() 函數用于初始化一個 MYSQL 結構體對象 conn。mysql_real_connect() 函數用于連接到一個 MySQL 數據庫。在該函數中,我們需要提供一些參數:主機名,用戶名,密碼,數據庫名稱,暫時為空,選項和標志等。
在成功連接到數據庫后,我們可以使用 mysql_query() 函數執行 SQL 命令。下面是一個示例:
MYSQL_RES *res; MYSQL_ROW row; int id; char name[32],gender[10],sql[128]; ... mysql_query(conn,"SELECT * FROM student"); res = mysql_store_result(conn); while(row = mysql_fetch_row(res)) { id = atoi(row[0]); strncpy(name,row[1],31); strncpy(gender,row[2],9); printf("%d %s %s\n",id,name,gender); } mysql_free_result(res);
在該示例中,我們首先定義了一些變量,包括 id、name、gender,以及 SQL 命令。然后,我們使用 mysql_query() 函數執行了一個 SELECT SQL 命令,它從 student 表中讀取了所有的數據,并將結果存儲到一個 MYSQL_RES 結構體對象 res 中。接著,我們使用 mysql_fetch_row() 函數從結果集中逐行讀取數據,并將其輸出到控制臺中。
總之,C 語言提供了豐富的 API 支持,我們可以使用 C 語言輕松地讀寫 MySQL 數據庫,并進行各種數據操作。