MySQL在C语言中添加数据的简易实现

要在C语言中使用MySQL数据库,首先需要安装MySQL C API库,以下是在C语言中添加数据的简易实现步骤:

1、安装MySQL C API库

在Linux系统中,可以使用以下命令安装MySQL C API库:

sudo aptget install libmysqlclientdev

在Windows系统中,可以从MySQL官网下载并安装MySQL Connector/C。

2、包含头文件

在C语言源文件中,包含以下头文件:

#include 
#include 
#include 

3、初始化MySQL连接

使用mysql_init()函数初始化MySQL连接,需要提供一个指向MYSQL结构的指针,以及一个指向错误信息的指针。

MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "your_password"; // 替换为你的MySQL密码
char *database = "test"; // 替换为你要使用的数据库名
int port = 3306; // MySQL服务器端口,默认为3306
if (mysql_init(&conn) != NULL) {
    fprintf(stderr, "%s
", mysql_error(conn));
    exit(EXIT_FAILURE);
}

4、连接到MySQL服务器

使用mysql_real_connect()函数连接到MySQL服务器,需要提供服务器地址、用户名、密码、数据库名和端口号。

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、执行SQL语句

使用mysql_query()函数执行SQL语句,要向名为students的表中插入一条数据,可以执行以下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、处理查询结果(可选)

如果执行的是查询语句,可以使用mysql_store_result()mysql_fetch_row()函数处理查询结果,要获取刚刚插入的数据,可以执行以下操作:

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); // 存储查询结果到res变量中
row = mysql_fetch_row(res); // 获取查询结果的第一行数据到row变量中,返回NULL表示已经到达结果集末尾
while (row != NULL) { // 遍历查询结果集,打印每一行数据的名称和年龄字段值
    printf("Name: %s, Age: %s
", row[0], row[1]);
    row = mysql_fetch_row(res); // 获取下一行数据,直到到达结果集末尾(NULL)为止
}

7、关闭MySQL连接和释放资源

使用mysql_close()函数关闭MySQL连接,并释放相关资源,不要忘记释放MYSQL结构体。

if (mysql_close(conn) != NULL) {
    fprintf(stderr, "%s
", mysql_error(conn));
    exit(EXIT_FAILURE);
}
free(conn); // 释放MYSQL结构体内存空间(可选)

当前文章:MySQL在C语言中添加数据的简易实现
文章来源:http://www.shufengxianlan.com/qtweb/news0/432950.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联