欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 〔 MySQL 〕 C接口使用

〔 MySQL 〕 C接口使用

2024/12/22 0:14:40 来源:https://blog.csdn.net/weixin_72040293/article/details/144515505  浏览:    关键词:〔 MySQL 〕 C接口使用

一、准备工作

  1. 确保MySQL服务运行正常
  2. 下载Connector/C库

二、库文件结构

  1. include目录
  2. lib目录

三、验证库文件

  1. 示例代码
  2. 编译命令

四、环境变量设置

五、MySQL接口介绍

  1. 初始化MySQL
  2. 连接数据库
    • 设置默认字符集
  3. 发送MySQL命令
  4. 获取执行结果
    • 获取结果行数
    • 获取结果列数
    • 获取列名
    • 获取结果内容
  5. 关闭MySQL连接
  6. 事务操作

MySQL C接口使用

准备工作

  1. 确保MySQL服务运行正常。
  2. 从MySQL官网下载适合自己平台的Connector/C库。

库文件结构

  • include 目录包含所有头文件,提供方法声明。
  • lib 目录包含库文件,提供方法实现。

验证库文件

#include <stdio.h>
#include <mysql.h>int main() {printf("mysql client Version: %s\n", mysql_get_client_info());return 0;
}

编译命令:

gcc -o test test.c -I./include -L./lib -lmysqlclient

环境变量设置

export LD_LIBRARY_PATH=./lib

MySQL接口介绍

初始化MySQL

MYSQL *mysql_init(MYSQL *mysql);

示例:

MYSQL *mfp = mysql_init(NULL);

连接数据库

MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag);

设置连接的默认字符集为utf8:

mysql_set_character_set(myfd, "utf8");

发送MySQL命令

int mysql_query(MYSQL *mysql, const char *q);

获取执行结果

MYSQL_RES *mysql_store_result(MYSQL *mysql);

获取结果行数:

my_ulonglong mysql_num_rows(MYSQL_RES *res);

获取结果列数:

unsigned int mysql_num_fields(MYSQL_RES *res);

获取列名:

MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *res);

获取结果内容:

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);

关闭MySQL连接

void mysql_close(MYSQL *sock);

事务操作

my_bool STDCALL mysql_autocommit(MYSQL *mysql, my_bool auto_mode);
my_bool STDCALL mysql_commit(MYSQL *mysql);
my_bool STDCALL mysql_rollback(MYSQL *mysql);

以上笔记涵盖了使用C语言连接MySQL的基本步骤和接口介绍,包括初始化、连接、查询、获取结果和关闭连接等操作。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com