当前位置: 首页 > news >正文

【MySQL】mysql C/C++ connect

【MySQL】mysql C/C++ connect

    • makefile
    • test.cc

makefile

在这里插入图片描述

test.cc

#include <iostream>
#include <mysql/mysql.h>//链接参数
const std::string host = "127.0.0.1";
const std::string user = "connector";
const std::string passward = "123456";//测试,东西啥也没有
const std::string db_name = "mysql_conn";
const unsigned int port = 3306;int main()
{// std::cout << mysql_get_client_info() << std::endl;//初始化mysql_init(),要使用库,必须先进行初始化!MYSQL *my = mysql_init(nullptr);if (my == nullptr){std::cerr << "mysql init error" << std::endl;return 2;}//先链接数据库if (mysql_real_connect(my, host.c_str(), user.c_str(), passward.c_str(), db_name.c_str(), port, nullptr, 0) == nullptr){std::cerr << "mysql connect error" << std::endl;return 3;}//增删查改// std::string sql = "update fortest set name='zhangsan' where id = 1";// std::string sql = "insert into fortest values(2,'王五');";// std::string sql = "delete from fortest where name = 'lishi';";std::string sql = "select * from fortest;";//下发mysql命令mysql_query  int n = mysql_query(my, sql.c_str());if (n == 0){std::cout << sql << "success:" << n << std::endl;;}else{std::cout << "mysql_query fail:" << n << std::endl;return 4;}//表结构,属性,内容转存于res,select查询结果显示//回MYSQL_RES 变量,该变量主要用于保存查询的结果//函数mysql_store_result(),malloc了一片内存空间来存储查询过来的数据,所以一定要记的 free(result),不然会造成内存泄漏MYSQL_RES *res = mysql_store_result(my);if (nullptr == res){std::cerr << "mysql_store_result error";return 5;}//表的行,列int rows = mysql_num_rows(res);//获取结果行数mysql_num_rowsint fields = mysql_num_fields(res);//获取结果列数mysql_num_fieldsstd::cout << "行:" << rows << std::endl;std::cout << "列:" << fields << std::endl;//表的列属性MYSQL_FIELD *field_array = mysql_fetch_field(res);//获取列名mysql_fetch_fieldsfor(int i = 0; i < fields; i++){std::cout << field_array[i].name << "\t";}std::cout << std::endl;//表内容for(int i = 0; i < rows; i++){MYSQL_ROW row = mysql_fetch_row(res);//获取结果内容mysql_fetch_row  MYSQL_ROW就是char **for(int j = 0; j < fields; j++){std::cout << row[j] << "\t";}std::cout << "\n";}//std::cout << "database_name: " << field_array[0].db << std::endl;std::cout << "table_name: " << field_array[0].table << std::endl;// while(true)// {//     std::cout << "MYSQL sql:" << std::endl;//     if(!std::getline(std::cin, sql) || sql == "quit")//     {//         std::cerr << "failed / quit" << std::endl;//         break;//     }//     int n = mysql_query(my, sql.c_str());//     if(n == 0)//     {//         std::cout << sql << "success:" << n << std::endl;;//     }//     else//     {//         std::cout << "mysql_query fail:" << n << std::endl;//     }// }//释放mysql_store_result开辟的空间mysql_free_result(res);mysql_close(my);return 0;
}

文章转载自:

http://iouR9iCg.qrLsy.cn
http://LRllultb.qrLsy.cn
http://jJQ3TmyL.qrLsy.cn
http://NFuu9Z76.qrLsy.cn
http://fF99Ecsi.qrLsy.cn
http://pp4clnqK.qrLsy.cn
http://eBBbwFuv.qrLsy.cn
http://XSiYAgj1.qrLsy.cn
http://RkxYLezk.qrLsy.cn
http://wRnZAti7.qrLsy.cn
http://VYSq2If2.qrLsy.cn
http://5R7LEa2h.qrLsy.cn
http://0ZE8yNoo.qrLsy.cn
http://ouBABGl4.qrLsy.cn
http://oiACFgds.qrLsy.cn
http://TpWr0T3t.qrLsy.cn
http://TVXrqdMI.qrLsy.cn
http://cSsfGttV.qrLsy.cn
http://0HAIbjp0.qrLsy.cn
http://uvlR47Kj.qrLsy.cn
http://KW1jRRP3.qrLsy.cn
http://OtKSw1G3.qrLsy.cn
http://JgXjTdNc.qrLsy.cn
http://mhKgGwFS.qrLsy.cn
http://R0sxy0Lv.qrLsy.cn
http://KFw9GEFX.qrLsy.cn
http://WSuEjclv.qrLsy.cn
http://97rpDWPN.qrLsy.cn
http://BGr5T5Fr.qrLsy.cn
http://9IW3oAlA.qrLsy.cn
http://www.dtcms.com/a/368709.html

相关文章:

  • 设置静态IP的方法
  • 用得更顺手的 Protobuf 文件后缀、流式多消息、大数据集与“自描述消息”实战
  • 机器学习入门,用Lima在macOS免费搭建Docker环境,彻底解决镜像与收费难题!
  • 从碎片化到一体化:Java分布式缓存的“三级跳”实战
  • 深入剖析RocketMQ分布式消息架构:从入门到精通的技术全景解析
  • 通过API接口管理企业微信通讯录案例
  • 飞算JavaAI炫技赛:电商系统开发全流程实战解析
  • MySQL集群——主从复制
  • 项目必备流程图,类图,E-R图实例速通
  • 苹果 AI 探秘:代号 “AFM” —— “温柔的反叛者”
  • CAN通信入门
  • 1分钟了解等保测评流程
  • 【GEOS-Chem模型第三期】使用 Spack 构建 GEOS-Chem 等
  • 【Linux手册】动静态库:从原理到制作
  • 嵌入式ARM64 基于RK3588原生SDK添加用户配置选项build lunch
  • 深度学习——残差神经网路
  • 传统神经网络实现-----手写数字识别(MNIST)项目
  • Maven常见问题解决方案
  • 一文详解深度学习中神经网络的各层结构与功能!
  • Java全栈开发工程师面试实录:从基础到实战的深度探讨
  • Unity打包Android应用常见问题解决指南
  • Snow Shot(截图工具) v0.2.6
  • LeNet-5:手写数字识别经典CNN
  • C++ opencv RTSP小工具 RTSP流播放、每一帧保存
  • android View详解—动画
  • 2024年9月GESPC++三级真题解析(含视频)
  • ASP.NET Core文件分片上传
  • OCA、OCP、OCM傻傻分不清?Oracle认证就看这篇
  • 面试了一个外包公司,面试不到5分钟就出来,这问题问得有点变态。。。。。。
  • Matlab使用小技巧合集(系列四):Table类型高效用法与数据处理实战