C語言中的MySQL API是一個功能強大的庫,它提供了一種在C程序中與MySQL數據庫交互的方式。
#include <mysql.h> #include <stdio.h> int main() { MYSQL *con = mysql_init(NULL); if (con == NULL) { printf("MySQL initialization failed!\n"); return 1; } con = mysql_real_connect(con, "localhost", "username", "password", "database", 0, NULL, 0); if (con == NULL) { printf("Unable to connect to MySQL database!\n"); return 1; } printf("Connected to MySQL server!\n"); mysql_close(con); return 0; }
在上面的代碼中,首先我們使用mysql_init()函數來初始化一個MySQL連接句柄con,然后使用mysql_real_connect()函數來連接到MySQL數據庫。在此函數調用返回后,我們確定已連接到數據庫,并可以開始執行查詢等操作。最后,我們使用mysql_close()函數關閉連接。
在與MySQL數據庫交互時,我們需要使用MySQL查詢語言(SQL)來進行大多數操作,例如創建表格、添加數據、查找數據等。
int main() { MYSQL *con = mysql_init(NULL); if (con == NULL) { printf("MySQL initialization failed!\n"); return 1; } con = mysql_real_connect(con, "localhost", "username", "password", "database", 0, NULL, 0); if (con == NULL) { printf("Unable to connect to MySQL database!\n"); return 1; } mysql_query(con, "CREATE TABLE Employees (\ ID INT PRIMARY KEY NOT NULL,\ Name VARCHAR(45) NOT NULL,\ Age INT,\ Address VARCHAR(255),\ Salary FLOAT);"); if (!mysql_query(con, "INSERT INTO Employees VALUES(1, 'John', 35, 'New York', 24000.00)")) { printf("Data inserted successfully!\n"); } mysql_query(con, "SELECT * FROM Employees"); MYSQL_RES *result = mysql_store_result(con); if (result == NULL) { printf("Unable to retrieve result\n"); return 1; } printf("%s\t%s\t%s\t\t%s\t\t%s\n", "ID", "Name", "Age", "Address", "Salary"); MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { printf("%s\t%s\t\t%s\t\t%s\t\t%s\n", row[0], row[1], row[2], row[3], row[4]); } mysql_free_result(result); mysql_close(con); return 0; }
在上面的代碼中,我們首先創建了一個名為Employees的表格,并插入了一條記錄。然后我們使用mysql_query()函數執行SELECT語句并將結果存儲在MYSQL_RES結構體中。最后,我們使用mysql_fetch_row()函數逐行檢索結果,并將結果打印在屏幕上。此外,我們還使用mysql_free_result()函數釋放結果集。
在C語言中,與MySQL數據庫交互的可能性是無限的,并且應用程序可以使用許多其他MySQL函數以及SQL查詢來執行各種任務。