使用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", row0, row1, row2);

}

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", row0, row1, row2);

}

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

相关推荐
左手の明天2 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
小灰灰搞电子4 小时前
C语言 <ctype.h> 头文件详解
c语言·ctype.h
阿钱真强道4 小时前
17 嵌入式操作系统 | uloop 事件循环:TCP 客户端
c语言·tcp/ip·tcp·事件循环·uloop
会员果汁6 小时前
函数调用和变长参数
c语言
白山编程大哥9 小时前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
无敌贵点大王10 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
phltxy10 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
上位机妹子11 小时前
C 语言 数组删除指定元素(快慢指针法)
c语言·数据结构·算法
心中有你021411 小时前
【路径规划】A*寻路算法最通俗易懂讲解(C语言完整实现+详细注释)
c语言·开发语言·算法
大圣编蚕11 小时前
C语言入门:基本语法汇总
c语言·开发语言