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

相关推荐
九转苍翎5 分钟前
深入解析MySQL(7)——SQL调优
mysql·性能优化
懒羊羊不懒@9 分钟前
【MySQL | 基础】事务
数据库·mysql
lucky_syq11 分钟前
再谈向量数据库:AI时代的存储新引擎
大数据·数据库·人工智能
v***446712 分钟前
【Mysql】:如何恢复误删的数据?
数据库·mysql
x***010613 分钟前
使用 MySQL 从 JSON 字符串提取数据
mysql·oracle·json
b***676416 分钟前
使用 Canal 实时从 MySql 向其它库同步数据
数据库·mysql
2501_9411113717 分钟前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
b***91019 分钟前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
枫叶丹423 分钟前
【Qt开发】Qt窗口(二) -> QToolBar工具栏
开发语言·数据库·c++·qt
l1t28 分钟前
利用DuckDB列表一句SQL输出乘法口诀表
数据库·sql·算法·duckdb