要在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 <stdio.h> #include <stdlib.h> #include <mysql/mysql.h>
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结构体内存空间(可选)
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。