使用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 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
aduzhe9 小时前
int32 - int32MAX 出现异常
c语言·stm32
摘星编程12 小时前
Ascend C编程语言详解:打造高效AI算子的利器
c语言·开发语言·人工智能
自然常数e12 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio
一杯美式 no sugar12 小时前
数据结构——栈
c语言·数据结构·
CQ_YM14 小时前
Linux线程控制
linux·c语言·开发语言·线程
lingran__14 小时前
C语言字符函数和字符串函数详解
c语言·开发语言
white-persist15 小时前
【攻防世界】reverse | simple-check-100 详细题解 WP
c语言·开发语言·汇编·数据结构·c++·python·算法
☆cwlulu16 小时前
C/C++ 内存分配函数详解
c语言·c++
程芯带你刷C语言简单算法题18 小时前
Day30~实现strcmp、strncmp、strchr、strpbrk
c语言·学习·算法·c