当前位置: 首页 > article >正文

使用C语言连接MySQL

在C语言中连接MySQL数据库,通常需要使用MySQL提供的C API。以下是使用C语言连接MySQL数据库的基本步骤和示例代码:
步骤 1: 安装MySQL C API
首先,确保你的系统上安装了MySQL数据库,并且安装了MySQL C API库。在大多数Linux发行版中,你可以通过包管理器安装libmysqlclient-dev或mysql-devel包。
步骤 2: 包含头文件
在你的C程序中包含MySQL C API的头文件。
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

步骤 3: 初始化MySQL连接
使用mysql_init函数初始化一个MySQL连接对象。
MYSQL *conn = mysql_init(NULL);
if (conn == NULL) {
    fprintf(stderr, "MySQL initialization failed\n");
    exit(1);
}

步骤 4: 连接到MySQL服务器
使用mysql_real_connect函数连接到MySQL服务器。
if (mysql_real_connect(conn, "hostname", "username", "password", "database_name", 0, NULL, 0) == NULL) {
    fprintf(stderr, "MySQL connection error: %s\n", mysql_error(conn));
    mysql_close(conn);
    exit(1);
}

步骤 5: 执行SQL查询
使用mysql_query函数执行SQL查询。
if (mysql_query(conn, "SELECT * FROM table_name")) {
    fprintf(stderr, "MySQL query error: %s\n", mysql_error(conn));
    mysql_close(conn);
    exit(1);
}

步骤 6: 处理查询结果
使用mysql_store_result和mysql_fetch_row函数处理查询结果。
MYSQL_RES *result = mysql_store_result(conn);
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
    printf("%s \t %s \t %s\n", row[0], row[1], row[2]);
}
mysql_free_result(result);

步骤 7: 关闭连接
完成操作后,关闭MySQL连接。
mysql_close(conn);

完整示例代码
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    MYSQL *conn;
    MYSQL_RES *result;
    MYSQL_ROW row;

    conn = mysql_init(NULL);
    if (conn == NULL) {
        fprintf(stderr, "MySQL initialization failed\n");
        exit(1);
    }

    if (mysql_real_connect(conn, "hostname", "username", "password", "database_name", 0, NULL, 0) == NULL) {
        fprintf(stderr, "MySQL connection error: %s\n", mysql_error(conn));
        mysql_close(conn);
        exit(1);
    }

    if (mysql_query(conn, "SELECT * FROM table_name")) {
        fprintf(stderr, "MySQL query error: %s\n", mysql_error(conn));
        mysql_close(conn);
        exit(1);
    }

    result = mysql_store_result(conn);
    while ((row = mysql_fetch_row(result))) {
        printf("%s \t %s \t %s\n", row[0], row[1], row[2]);
    }
    mysql_free_result(result);

    mysql_close(conn);

    return 0;
}

编译和链接
编译时,需要链接MySQL C API库:
gcc -o mysql_example mysql_example.c $(mysql_config --cflags --libs)

请确保将mysql_example.c替换为你的源文件名,并且mysql_config命令能够正确执行(这取决于你的MySQL安装和配置)。
以上是一个基本的C语言连接MySQL的示例。在实际应用中,你可能需要处理更复杂的SQL语句、事务、错误处理等。


http://www.kler.cn/a/443766.html

相关文章:

  • 江苏计算机专转本 技能Mysql知识点总结(二)
  • 电脑使用CDR时弹出错误“计算机丢失mfc140u.dll”是什么原因?“计算机丢失mfc140u.dll”要怎么解决?
  • 前端脚手架技术精讲 (1)
  • 基于DockerCompose搭建Redis主从哨兵模式
  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • Java模拟Mqtt客户端连接Mqtt Broker
  • 7. 检查是否存在满足条件的数字组合
  • jmeter中的prev对象
  • [机器学习]XGBoost(4)——系统设计(含代码实战)
  • 如何远程登录路由器
  • Nautilus源码编译傻瓜式教程二
  • 《类和对象:基础原理全解析(上篇)》
  • finereport新的数据工厂插件
  • Spring 启动流程!!!
  • 分布式光伏电站气象站
  • 每天40分玩转Django:Django缓存视图
  • 98. 验证二叉搜索树(java)
  • Android app反编译 攻与防
  • 在Windows Server路由和远程访问服务中启用L2TP/IPsec VPN
  • 实现路由懒加载的方式有哪些?
  • git配置以及替换gerrit默认commit-msg hook~转
  • armsom产品Debian系统开发
  • 打造基于 SSM 和 Vue 的卓越电脑测评系统:挖掘电脑潜力
  • 【网络安全】【Kali Linux】简单ICMP主机探测
  • lightRAG 论文阅读笔记
  • TA-Lib金融技术分析库文件