准备工作:安装libmysqlclient-dev库
sudo apt-get install libmysqlclient-dev
编译
gcc -I/usr/include/mysql demo.c -L/usr/lib/mysql -lmysqlclient -o demo
#include "mysql.h"
#include <stdio.h>
int main() {
char *server = "192.168.1.19";
char *user = "root";
char *password = "a123456"; // 修改为你的MySQL密码
char *database = "xu_test"; // 修改为你要连接的数据库名
MYSQL *conn = mysql_init(NULL);
// 连接到MySQL数据库
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// 插入数据
if (mysql_query(conn, "INSERT INTO users (name, age) VALUES ('John', 25)")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// 插入数据
if (mysql_query(conn, "INSERT INTO users (name, age) VALUES ('xu', 28)")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// 插入数据
if (mysql_query(conn, "INSERT INTO users (name, age) VALUES ('liu', 18)")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// 查询数据
if (mysql_query(conn, "SELECT * FROM users")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
MYSQL_RES *res = mysql_use_result(conn);
MYSQL_ROW row;
// 输出查询结果
printf("ID\tName\tAge\n");
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s\t%s\t%s\n", row[0], row[1], row[2]);
}
// 更新数据
if (mysql_query(conn, "UPDATE users SET age = 30 WHERE name = 'John'")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
// 删除数据
if (mysql_query(conn, "DELETE FROM users WHERE name = 'John'")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}