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

相关推荐
Boilermaker19922 小时前
【MySQL 进阶】高性能优化
数据库·sql·mysql
CoderOnly2 小时前
SQL,CROSS JOIN速度优化
数据库·sql·mysql
Highcharts.js3 小时前
入门指南|从文件到图表:Highcharts对接数据库(CSV、Excel)实现数据同步绘制图表
数据库·excel·数据同步·highcharts·数据对接·文件导入
老衲提灯找美女4 小时前
MySQL的增删改查功能合集
数据库·mysql·增删改查·增删改查详细用法
SelectDB5 小时前
Apache Doris 4.0.1 版本正式发布
数据库·apache
Doro再努力6 小时前
MySQL数据库07:分组查询与分类查询
数据库·mysql
Elastic 中国社区官方博客6 小时前
Elasticsearch:如何为 Elastic Stack 部署 E5 模型 - 下载及隔离环境
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
间彧7 小时前
SpringBoot + MyBatis-Plus + Dynamic-Datasource 读写分离完整指南
数据库·后端
静若繁花_jingjing7 小时前
NoSql数据库概念
数据库·nosql
间彧7 小时前
除了AOP切面,还有哪些更灵活的数据源切换策略?比如基于注解或自定义路由规则
数据库·后端