使用boost.mysql来操作mysql 数据库

准备条件

  1. visual studio 2019

  2. boost库

  3. 安装本地的mysql 服务器,boost.mysql对mysql有版本要求最好8.0+,具体参考官方文档

安装

使用Nuget安装boost

要安装 openssl,否则的话编译其他项目会产生依赖ssl的错误

安装mysql

省略

创建测试用的数据库

省略

使用boost.mysql

官方例子

官方有例子直接参考,这个是依赖asio来实现的,所以要创建asio的一些context

把例子里面的argv[3] 换成localhost,argv[1] 用户名一般是root,argv 是root的密码

有了conn就可以来操作数据库了

执行查询

执行数据绑定插入

获取colomn信息

需要使用元数据

resule.meta()的column_name();注意一点默认是拿不到column_name的,需要设置metadata_mode

conn.set_meta_mode(metadata_mode::full); //这就能拿到column的名称了

异常,错误处理

执行sql语句如果出现错误,会抛出异常,捕获error_with_diagnosics打印错误信息

到这里的话,我们就具备基本的mysql操作能力了,能查询数据,能获取列名,能绑定数据插入,绑定数据查询应该也不在话下,错误原因分析。

备注:如果要操作远程mysql,需要mysql修改权限配置,替换地址即可

相关推荐
Cat God 00712 分钟前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
云和恩墨18 分钟前
告别 “事后救火”:7 大前置动作规避 80% 数据库故障
数据库·oracle
STLearner35 分钟前
VLDB 2025 | 时间序列(Time Series)论文总结(预测,异常检测,压缩,自动化等)
数据库·人工智能·深度学习·神经网络·机器学习·数据挖掘·时序数据库
42 分钟前
TIDB——TIKV——raft
数据库·分布式·tidb
神仙别闹1 小时前
基于QT(C++)+MySQL实现(窗体)学生信息管理系统
c++·qt·mysql
不会c嘎嘎1 小时前
MySQL 指南:全面掌握用户管理与权限控制
数据库·mysql
ShadowSmartMicros1 小时前
java调用milvus数据库
java·数据库·milvus
Bug.ink1 小时前
BUUCTF——WEB(2)
数据库·sql·网络安全·buuctf
李慕婉学姐2 小时前
【开题答辩过程】以《基于PHP的动漫社区的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
开发语言·mysql·php
网硕互联的小客服2 小时前
Centos系统如何更改root账户用户名?需要注意什么?
linux·运维·服务器·数据库·安全