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

相关推荐
Bluetooth73017 分钟前
c语言一维数组
c语言
QiLinkOS1 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
一抹晴空3 小时前
Keil MDK AC6 compiler编译报错,与AC5区别
c语言·arm开发·单片机
czhaii5 小时前
单片机伺服电机加减速控制子程序
c语言·单片机
qq_333120975 小时前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
luj_17686 小时前
残熵算法的稳健防灾逻辑
c语言·开发语言·c++·经验分享·算法
QiLinkOS6 小时前
从技术到资产的跃迁:企业专利布局的深层逻辑
c语言·数据结构·c++·单片机·嵌入式硬件·算法·开源
山上三树7 小时前
C/C++ 高频报错速查表(开发通用版)
c语言·开发语言·c++
神仙别闹8 小时前
基于C语言 实现 Windows PE 文件解析
c语言·windows·microsoft
LDR0068 小时前
LDR6020:多 Type‑C 端口角色管理与外设上电顺序的智慧核心
c语言·开发语言·云计算