在嵌入式系统、高性能服务器或需要直接操作数据库的底层应用中,使用C语言连接MySQL是一种常见且高效的方式。本教程将手把手教你如何使用C语言连接MySQL,即使你是编程小白也能轻松上手。
要使用C语言操作MySQL,你需要安装以下两个关键组件:
在Ubuntu/Debian系统中,你可以通过以下命令安装:
sudo apt updatesudo apt install mysql-server libmysqlclient-dev 在CentOS/RHEL系统中:
sudo yum install mysql-server mysql-devel 下面是一个完整的示例程序,展示如何连接MySQL、执行查询并关闭连接。这个例子体现了典型的MySQL C API使用流程。
#include <stdio.h>#include <stdlib.h>#include <mysql/mysql.h>int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; // 初始化MySQL连接句柄 conn = mysql_init(NULL); if (conn == NULL) { fprintf(stderr, "mysql_init() failed\n"); exit(1); } // 连接数据库 if (mysql_real_connect(conn, "localhost", "your_username", "your_password", "your_database", 0, NULL, 0) == NULL) { fprintf(stderr, "Connection failed: %s\n", mysql_error(conn)); mysql_close(conn); exit(1); } printf("成功连接到MySQL数据库!\n"); // 执行SQL查询 if (mysql_query(conn, "SELECT VERSION()")) { fprintf(stderr, "Query failed: %s\n", mysql_error(conn)); mysql_close(conn); exit(1); } // 获取结果集 res = mysql_store_result(conn); if (res == NULL) { fprintf(stderr, "Store result failed: %s\n", mysql_error(conn)); mysql_close(conn); exit(1); } // 遍历结果 while ((row = mysql_fetch_row(res)) != NULL) { printf("MySQL版本: %s\n", row[0]); } // 释放结果集并关闭连接 mysql_free_result(res); mysql_close(conn); return 0;} 保存上述代码为 connect_mysql.c,然后使用以下命令编译:
gcc -o connect_mysql connect_mysql.c `mysql_config --cflags --libs` 注意:反引号中的 mysql_config --cflags --libs 会自动包含头文件路径和链接库,这是使用C语言数据库编程的标准做法。
运行程序:
./connect_mysql 如果看到输出“成功连接到MySQL数据库!”以及MySQL版本号,恭喜你,已经成功完成了第一次MySQL客户端开发!
systemctl status mysql 检查mysql_free_result() 防止内存泄漏通过本教程,你已经掌握了使用C语言连接MySQL的基本方法。无论是进行C语言连接MySQL的项目开发,还是深入学习MySQL C API,这都是坚实的第一步。后续你可以尝试插入数据、事务处理、预处理语句等高级功能,进一步提升你的C语言数据库编程能力。
坚持练习,你很快就能成为熟练的MySQL客户端开发工程师!
本文由主机测评网于2025-12-08发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025124537.html