MySQL是一個流行的開源數(shù)據(jù)庫管理系統(tǒng),它被廣泛應(yīng)用于各種應(yīng)用程序和網(wǎng)站。在C++開發(fā)中,MySQL提供了C API,可以方便地進行數(shù)據(jù)庫操作。本文將介紹如何使用C API連接MySQL數(shù)據(jù)庫,執(zhí)行基本的數(shù)據(jù)庫操作。
首先,我們需要安裝MySQL C API。在Linux系統(tǒng)上,可以使用以下命令進行安裝:
sudo apt-get install libmysqlclient-dev
接下來,我們需要編寫一個包含MySQL C API頭文件的C++程序。以下示例程序連接到MySQL數(shù)據(jù)庫,并執(zhí)行一些基本的數(shù)據(jù)庫操作:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql/mysql.h> int main() { MYSQL *conn; conn = mysql_init(NULL); if (conn == NULL) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_real_connect(conn, "localhost", "user", "password", "testdb", 0, NULL, 0) == NULL) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_query(conn, "CREATE TABLE employees (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, age INT UNSIGNED)") != 0) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_query(conn, "INSERT INTO employees (name, age) VALUES ('John', 25)") != 0) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } if (mysql_query(conn, "SELECT * FROM employees") != 0) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } MYSQL_RES *result; MYSQL_ROW row; result = mysql_store_result(conn); if (result == NULL) { printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn)); exit(1); } while ((row = mysql_fetch_row(result))) { printf("%s %s\n", row[0], row[1]); } mysql_free_result(result); mysql_close(conn); return 0; }
以上程序連接到本地MySQL數(shù)據(jù)庫,創(chuàng)建名為“employees”的表格。然后,添加一條名為“John”,年齡為25的記錄,并從表格中檢索和打印所有數(shù)據(jù)。
在運行程序之前,需要確保MySQL服務(wù)器正在運行,并且用戶和密碼正確。如果一切正常,將打印出類似以下的輸出:
1 John 25
以上代碼演示了如何使用MySQL C API連接到數(shù)據(jù)庫,執(zhí)行基本的數(shù)據(jù)庫操作。實際應(yīng)用中,我們可以使用更復(fù)雜的查詢和更新語句,以滿足各種需求。