使用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修改权限配置,替换地址即可

相关推荐
2501_948195343 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_3 小时前
N+1查询问题
数据库·oracle
a程序小傲4 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
fenglllle4 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena5 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日6 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0076 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦246 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设6 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询