文章目录
- 1、C API 官方文档
- 2、初始化 MYSQL
- 3、连接 MySQL
- 设置连接字符集(使得客户端编码方式匹配)
- 4、下发 mysql 指令
- 5、获取 mysql 查询结果(保存起来)
- 获取行与列
- 遍历存储结果
- 6、释放 MYSQL\_RES 对象
- 7、关闭 MySQL 连接
- 8、总结
1、C API 官方文档
关于C语言连接数据所涉及到的各种数据结构的介绍以及相关函数的使用其实在 MySQL C API 官方文档中已经给出了,我们可以通过它来快速了解并上手 MySQL C API。
2、初始化 MYSQL
要使用 MySQL C语言库,需要先使用 mysql_init 函数完成对 MYSQL 结构体指针的初始化工作。
MYSQL *mysql_init(MYSQL *mysql)
- 函数返回值:失败返回 NULL。
注意:mysql_init 函数的参数以及返回值都是 MYSQL 指针类型,对于 MYSQL,大家把它类比到C语言中的文件指针来理解即可。MYSQL 和C语言文件 FILE 一样,本质上都是一个结构体。
MYSQL *mfp = mysql_init(nullptr); if(mfp == nullptr) { cerr cout cout //MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) MYSQL_ROW row=mysql_fetch_row(res); for(int i=0;i cout 1.初始化MySQL句柄 MYSQL* mysql = mysql_init(nullptr);//MYSQL *mysql_init(MYSQL *mysql) 传空 那么就是堆上申请空间 //MYSQL 和C语言文件 FILE 一样,本质上都是一个结构体 所以mysql就相当于是结构体创建的节点 //类似于 ListNode* node if(mysql==nullptr) { cout cout cout cout mysql_close(mysql); return -1; } //7.获取行数与列数 //unsigned int mysql_num_fields(MYSQL_RES *result) //unsigned int mysql_num_rows(MYSQL_RES *result) int num_row=mysql_num_rows(res);//res是上面用mysql_store_result获取出来保存进去的结果 int num_col=mysql_num_fields(res); //8.遍历读取数据 for(int i=0;i //MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) MYSQL_ROW row=mysql_fetch_row(res); for(int i=0;i cout
- 函数返回值:失败返回 NULL。