新聞中心
要在C語言中使用MySQL數(shù)據(jù)庫,首先需要安裝MySQL C API庫,以下是在C語言中添加數(shù)據(jù)的簡易實現(xiàn)步驟:

1、安裝MySQL C API庫
在Linux系統(tǒng)中,可以使用以下命令安裝MySQL C API庫:
sudo aptget install libmysqlclientdev
在Windows系統(tǒng)中,可以從MySQL官網(wǎng)下載并安裝MySQL Connector/C。
2、包含頭文件
在C語言源文件中,包含以下頭文件:
#include#include #include
3、初始化MySQL連接
使用mysql_init()函數(shù)初始化MySQL連接,需要提供一個指向MYSQL結(jié)構(gòu)的指針,以及一個指向錯誤信息的指針。
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "your_password"; // 替換為你的MySQL密碼
char *database = "test"; // 替換為你要使用的數(shù)據(jù)庫名
int port = 3306; // MySQL服務(wù)器端口,默認(rèn)為3306
if (mysql_init(&conn) != NULL) {
fprintf(stderr, "%s
", mysql_error(conn));
exit(EXIT_FAILURE);
}
4、連接到MySQL服務(wù)器
使用mysql_real_connect()函數(shù)連接到MySQL服務(wù)器,需要提供服務(wù)器地址、用戶名、密碼、數(shù)據(jù)庫名和端口號。
if (mysql_real_connect(conn, server, user, password, database, port, NULL, 0) == NULL) {
fprintf(stderr, "%s
", mysql_error(conn));
mysql_close(conn);
exit(EXIT_FAILURE);
}
5、執(zhí)行SQL語句
使用mysql_query()函數(shù)執(zhí)行SQL語句,要向名為students的表中插入一條數(shù)據(jù),可以執(zhí)行以下SQL語句:
INSERT INTO students (name, age) VALUES ('張三', 20);
if (mysql_query(conn, "INSERT INTO students (name, age) VALUES ('張三', 20);") != NULL) {
fprintf(stderr, "%s
", mysql_error(conn));
mysql_close(conn);
exit(EXIT_FAILURE);
}
6、處理查詢結(jié)果(可選)
如果執(zhí)行的是查詢語句,可以使用mysql_store_result()和mysql_fetch_row()函數(shù)處理查詢結(jié)果,要獲取剛剛插入的數(shù)據(jù),可以執(zhí)行以下操作:
if (mysql_query(conn, "SELECT * FROM students;") != NULL) {
fprintf(stderr, "%s
", mysql_error(conn));
mysql_close(conn);
exit(EXIT_FAILURE);
}
res = mysql_store_result(conn); // 存儲查詢結(jié)果到res變量中
row = mysql_fetch_row(res); // 獲取查詢結(jié)果的第一行數(shù)據(jù)到row變量中,返回NULL表示已經(jīng)到達(dá)結(jié)果集末尾
while (row != NULL) { // 遍歷查詢結(jié)果集,打印每一行數(shù)據(jù)的名稱和年齡字段值
printf("Name: %s, Age: %s
", row[0], row[1]);
row = mysql_fetch_row(res); // 獲取下一行數(shù)據(jù),直到到達(dá)結(jié)果集末尾(NULL)為止
}
7、關(guān)閉MySQL連接和釋放資源
使用mysql_close()函數(shù)關(guān)閉MySQL連接,并釋放相關(guān)資源,不要忘記釋放MYSQL結(jié)構(gòu)體。
if (mysql_close(conn) != NULL) {
fprintf(stderr, "%s
", mysql_error(conn));
exit(EXIT_FAILURE);
}
free(conn); // 釋放MYSQL結(jié)構(gòu)體內(nèi)存空間(可選)
網(wǎng)站名稱:MySQL在C語言中添加數(shù)據(jù)的簡易實現(xiàn)
本文鏈接:http://www.dlmjj.cn/article/dpgdodg.html


咨詢
建站咨詢
