使用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语句、事务、错误处理等。

相关推荐
方圆工作室8 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
sycmancia11 小时前
C语言学习03——数据类型
c语言
黎雁·泠崖14 小时前
整数的N进制字符串表示【递归+循环双版满分实现】
c语言·开发语言
小美单片机14 小时前
Proteus 报错 Unable to open HEX file ‘..\1、程序\jio\jtd.hex‘. [U1]
c语言·单片机·嵌入式硬件·51单片机·proteus
济61715 小时前
c语言基础(1)--数据类型说明
c语言·开发语言
qeen8716 小时前
【数据结构】顺序表的详细解析及其简单通讯录实现
c语言·数据结构·学习
2401_8582861118 小时前
从Redis 8.4.0源码看快速排序(1) 宏函数min和swapcode
c语言·数据库·redis·缓存·快速排序·宏函数
l1t18 小时前
利用豆包辅助编写数独隐式唯一数填充c程序
c语言·开发语言·人工智能·算法·豆包·deepseek
松涛和鸣19 小时前
55、ARM与IMX6ULL入门
c语言·arm开发·数据库·单片机·sqlite·html