在使用C語言實現與MySQL數據庫的交互之前,需要安裝MySQL的C語言開發庫,即MySQL Connector/C。
首先,需要在程序中包含mysql.h頭文件,以便使用MySQL函數和類型。
#include <mysql.h>
然后,需要創建一個MYSQL結構體,作為數據庫連接的句柄。
MYSQL *conn; conn = mysql_init(NULL);
接下來,需要使用mysql_real_connect()函數連接數據庫,該函數的參數分別為MYSQL結構體、主機地址、用戶名、密碼、數據庫名和端口號。如果連接成功,則該函數返回MYSQL結構體。
const char *host = "localhost"; const char *user = "root"; const char *password = "password"; const char *db = "database_name"; unsigned int port = 3306; conn = mysql_real_connect(conn, host, user, password, db, port, NULL, 0);
一旦建立了連接,可以執行MySQL查詢。使用mysql_query()函數發送查詢,并使用mysql_store_result()函數檢索結果。
const char *query = "SELECT * FROM table_name"; mysql_query(conn, query); MYSQL_RES *result = mysql_store_result(conn);
對于增刪查改操作,使用的查詢語句略有不同。以下是示例代碼:
//插入數據 const char *insert_query = "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')"; mysql_query(conn, insert_query); //刪除數據 const char *delete_query = "DELETE FROM table_name WHERE column1 = 'value1'"; mysql_query(conn, delete_query); //查詢數據 const char *select_query = "SELECT * FROM table_name"; mysql_query(conn, select_query); result = mysql_store_result(conn); while ((row = mysql_fetch_row(result))) { printf("column1: %s, column2: %s", row[0], row[1]); } //更新數據 const char *update_query = "UPDATE table_name SET column1 = 'new_value1' WHERE column2 = 'value2'"; mysql_query(conn, update_query);
最后,完成所有操作后,需要關閉連接,使用mysql_close()函數。
mysql_close(conn);
以上就是使用C語言連接MySQL實現增刪查改的基本操作。