C语言连接MySQL数据库测试指南

c 连接mysql数据库测试代码

时间:2025-07-08 00:05


C语言连接MySQL数据库测试代码详解 在当今信息化高速发展的时代,数据库作为数据存储和管理的核心组件,其重要性不言而喻

    MySQL作为开源的关系型数据库管理系统(RDBMS),凭借其高性能、稳定性和广泛的社区支持,成为了众多开发者的首选

    在实际开发中,我们经常需要从C语言程序中访问MySQL数据库,以执行数据查询、插入、更新等操作

    本文将详细介绍如何使用C语言连接MySQL数据库,并提供一段完整的测试代码,帮助读者快速上手

     一、准备工作 在动手编写代码之前,确保你的开发环境已经安装并配置好了以下组件: 1.MySQL数据库服务器:可以从MySQL官方网站下载安装包,根据操作系统类型选择相应的版本进行安装

    安装完成后,启动MySQL服务

     2.MySQL Connector/C:这是MySQL官方提供的C语言API库,用于在C程序中与MySQL数据库进行通信

    可以从MySQL官方网站下载MySQL Connector/C开发包,并配置到你的C编译器环境中

     3.C编译器:如GCC或Clang,用于编译C语言源代码

     二、环境配置 1.安装MySQL服务器: - 下载MySQL安装包,按照提示完成安装

     - 启动MySQL服务,通常可以通过服务管理器(Windows)或使用命令行(Linux/macOS)启动

     2.配置MySQL Connector/C: - 解压下载的开发包,找到包含头文件(如`mysql.h`)和库文件(如`libmysqlclient.so`或`libmysqlclient.a`)的目录

     - 在编译C程序时,需要指定这些头文件和库文件的路径

    对于GCC,可以通过`-I`和`-L`选项来实现

     3.创建测试数据库和表: - 登录MySQL命令行客户端,创建一个测试数据库和一个简单的表

    例如: sql CREATE DATABASE testdb; USE testdb; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT ); 三、编写测试代码 下面是一段完整的C语言代码,用于连接MySQL数据库,执行简单的查询操作,并输出结果

     c include include include // 数据库连接参数 define SERVER localhost define USER root define PASSWORD yourpassword // 请替换为你的MySQL密码 define DATABASE testdb int main(){ MYSQLconn; MYSQL_RESres; MYSQL_ROW row; // 初始化MySQL连接句柄 conn = mysql_init(NULL); if(conn == NULL){ fprintf(stderr, mysql_init() failedn); exit(EXIT_FAILURE); } // 连接到MySQL服务器 if(mysql_real_connect(conn, SERVER, USER, PASSWORD, DATABASE, 0, NULL, 0) == NULL){ fprintf(stderr, mysql_real_connect() failedn); mysql_close(conn); exit(EXIT_FAILURE); } // 执行SQL查询 if(mysql_query(conn, SELECTFROM users)) { fprintf(stderr, SELECT - from users failed. Error: %sn, mysql_error(conn)); mysql_close(conn); exit(EXIT_FAILURE); } // 获取查询结果 res = mysql_store_result(conn); if(res == NULL){ fprintf(stderr, mysql_store_result() failed. Error: %sn, mysql_error(conn)); mysql_close(conn); exit(EXIT_FAILURE); } // 输出查询结果 int num_fields = mysql_num_fields(res); printf(Number of fields: %dn, num_fields); while((row = mysql_fetch_row(res))){ for(int i = 0; i < num_fields; i++){ printf(%s , row【i】 ? row【i】 : NULL); } printf(n); } // 释放查询结果 mysql_free_result(res); // 关闭MySQL连接 mysql_close(conn); exit(EXIT_SUCCESS); } 四、编译与运行 1.编译代码: - 使用GCC编译上述代码,假设文件名为`test_mysql.c`,并且MySQL Connector/C库文件位于`/usr/local/mysql/lib`,头文件位于`/usr/local/mysql/include`,则编译命令如下: bash gcc -o test_mysql test_mysql.c -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient 2.运行程序: - 执行编译生成的可执行文件: bash ./test_mysql 如果一切正常,程序将连接到MySQL数据库,执行`SELECT - FROM users`查询,并输出查询结果

    如果数据库中有数据,