Mysql数据库安装与C++配置

本文档旨在为需要安装和配置MySQL 8.3、MySQL Workbench以及C++ Connector的用户提供详细的步骤指导。在安装过程中,可能会遇到一些常见问题,如DLL文件缺失等,本指南也会提供相应的解决办法。

1.安装Mysql8.3

安装Mysql有很多教程,本人安装的为Mysql8.3版本,此版本默认安装在C盘

Mysql官方下载:MySQL :: Download MySQL Community Server

本地下载:Mysql8.3安装包资源-CSDN文库

选择8.3版本的:

推荐安装链接:Mysql 8.3 安装及环境配置教程

安装完以后一定要配置好环境!!!

2.安装Workbench

Workbench为mysqil的可视化软件,由于8.3版本并没有自带Workbench,因此需要手动安装,有一些mysql版本在安装过程中自带Workbench,则不需要重复安装。

官方下载:MySQL :: Download MySQL Workbench

本地下载:MysqlWorkbench可视化软件资源

 

3.配置C++ connector

        接下来就是使用Visual Studio连接Mysql了,有一篇链接讲解的非常详细,完全可以按照此方法配置。VS2022配置C++ connector连接mysql

本地下载:【免费】MysqlC++connector8.3资源-CSDN文库

如果安装有问题,本文提供了已经配置好的VS项目文件,并提供了如何新建一个项目,

一共安装了这些文件,放在同一个目录里。

如果你配置不好Visual Studio环境,可以使用本人已经配置好的程序:

【免费】Mysql数据库使用,C++版本资源-CSDN文库

里面包含两个程序,分别是数据库的创建和数据库的写入(将TXT文件的内容写入到数据库)

数据库创建:

#include <jdbc/cppconn/statement.h>
#include <jdbc/cppconn/resultset.h>
#include <jdbc/cppconn/exception.h>
#include "jdbc/mysql_driver.h"
#include<windows.h>
int main() {std::string sql1 = "create database Expert";//sql1用于创建testmysql数据库SetConsoleOutputCP(CP_UTF8);try{// 注册MySQL驱动程序sql::mysql::MySQL_Driver* driver = sql::mysql::get_mysql_driver_instance();sql::Connection* con;sql::Statement* stmt;sql::ResultSet* res;//获取数据库连接对象con = driver->connect("tcp://localhost:3306", "root", "123456");//获取执行语句对象stmt = con->createStatement();stmt->execute(sql1);delete stmt;delete con;}catch (sql::SQLException& sqle){std::cout << "SQLException: " << sqle.what() << std::endl;std::cout << "SQLState: " << sqle.getSQLState() << std::endl;std::cout << "ErrorCode: " << sqle.getErrorCode() << std::endl;}return 0;
}

 数据库写入:

#include <jdbc/cppconn/statement.h>
#include <jdbc/cppconn/resultset.h>
#include <jdbc/cppconn/exception.h>
#include "jdbc/mysql_driver.h"
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
void insertDataFromTxt(const string& filename, sql::Connection* con) {try {// 打开文本文件ifstream file(filename);if (!file.is_open()) {cerr << "无法打开文件:" << filename << endl;return;}// 创建执行语句对象sql::Statement* stmt = con->createStatement();切换到已经创建的数据库stmt->execute("USE Expert");// 读取文件内容并插入数据库string line;while (getline(file, line)) {// 使用istringstream解析行中的五个整数istringstream iss(line);int intention, enemyNum, ourNum, ANum, BNum, CNum;if (!(iss >> intention >> enemyNum >> ourNum >> ANum>> BNum >> CNum)) {cerr << "文件格式错误:" << line << endl;continue;}// 执行插入操作string sql_insert = "INSERT INTO expert_data (intention, enemyNum, ourNum, ANum, BNum, CNum) VALUES (" +to_string(intention) + ", " +to_string(enemyNum) + ", " +to_string(ourNum) + ", " +to_string(ANum) + ", " +to_string(BNum) + ", " +to_string(CNum) + ")";stmt->execute(sql_insert);}// 关闭文件和数据库连接file.close();delete stmt;}catch (sql::SQLException& e) {cerr << "数据库操作出错:" << e.what() << endl;}}int main() {// 数据库连接参数string hostName = "tcp://localhost:3306";string userName = "root";string password = "123456";try {// 注册MySQL驱动程序sql::mysql::MySQL_Driver* driver = sql::mysql::get_mysql_driver_instance();// 获取数据库连接对象sql::Connection* con = driver->connect(hostName, userName, password);// 创建数据库sql::Statement* stmt = con->createStatement();stmt->execute("CREATE DATABASE IF NOT EXISTS Expert");delete stmt;// 创建表stmt = con->createStatement();stmt->execute("USE Expert");stmt->execute("CREATE TABLE IF NOT EXISTS expert_data (intention INT, enemyNum INT, ourNum INT, ANum INT, BNum INT, CNum INT)");delete stmt;// 将数据从文件导入到数据库insertDataFromTxt("Database.txt", con);// 关闭数据库连接delete con;}catch (sql::SQLException& e) {cerr << "数据库连接出错:" << e.what() << endl;}return 0;}

4.注意事项(Dll文件缺失解决办法)

安装过程中可能会遇到DLL文件缺失,可以参考以下教程:

电脑运行库缺失、DLL报错修复

工具下载链接:

【免费】电脑DLL文件修复工具资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/443519.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.MySql全局参数优化

从上图可以看出SQL及索引的优化效果是最好的&#xff0c;而且成本最低&#xff0c;所以工作中我们要在这块花更多时间。 一、全局参数 配置文件my.ini(windows)或my.cnf(mac)的全局参数&#xff1a; 假设服务器配置为&#xff1a; CPU&#xff1a;32核 内存&#xff1a;64G…

《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版分片集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

charAt,chartCodeAt,codePointAt,fromCodePoint,fromCharCode

生僻字的length算2,有些空格是特殊空格,比如\u3000 u3000不是全角空格&#xff0c;u3000是表意字空格&#xff08;Ideographic Space&#xff09;&#xff0c;宽度和一个表意字&#xff08;汉字&#xff09;相同。它应当被当做汉字来处理。比如&#xff0c;在一些排版中&#x…

Python安装|PyCharm Professional 下载安装教程。2024最新版,亲测使用!

一、下载地址&#xff1a; 二、Python的下载及安装&#xff1a; 1、从上面网址进入Python官网 2、安装流程图&#xff1a; 双击已经下载好的python-*.*.*-amd64.exe文件&#xff0c;开始安装 最后就等它自己安装完成就好了 3、检验是否安装完成&#xff1a; windowsR快捷键…

Spring系列 循环依赖

文章目录 注入方式循环依赖的场景单例创建流程getSingletoncreateBeandoCreateBeancreateBeanInstance 循环依赖分析为什么都使用构造函数无法解决&#xff1f;为什么使用Autowired可以解决&#xff1f;为什么要添加到 earlySingletonObjects 缓存中&#xff1f;allowCircularR…

计算机毕业设计 基于Python音乐平台的设计与实现 Python毕业设计 Python毕业设计选题 Vue 前后端分离【附源码+安装调试】

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

windows C++-移除界面工作线程(一)

本文档演示了如何使用并发运行时将 Microsoft 基础类 (MFC) 应用程序中由用户界面 (UI) 线程执行的工作移动到工作线程。 本文档还演示了如何提高冗长绘制操作的性能。 通过将阻塞性操作&#xff08;例如&#xff0c;绘制&#xff09;卸载到工作线程来从 UI 线程中移除工作&am…

浙大数据结构:08-图8 How Long Does It Take

这道题算是较为简单的拓扑排序题&#xff0c;难度不大 机翻 1、条件准备 n,m为n个结点&#xff0c;m条边。 tim数组存到该结点完成的最早时间&#xff0c;会一点点更新 graph存有向边的时间 indegree数组存每个结点的入度 #include <iostream> #include <vector&g…

采用反相正基准电压电路的反相运算放大器

1 简介 本设计使用采用反相正基准电压的反相放大器将 –5V 至 –1V 的输入信号转换为 3.3V 至 0.05V 的输出电压。该电路可用于将传感器负输出电压转换为可用的 ADC 输入电压范围。 2 设计目标 2.1 输入 2.2 输出 2.3 电源 3 电路设计 根据设计目标&#xff0c;最终设计的电…

Python 与 Pycharm 的简易安装教程,包含Pycharm的修改

一. 官方网站 Python网址&#xff1a;python唯一的官方网址。 Pycharm网址&#xff1a;Pycharm的官方网址。 二. python安装步骤 滑动到红色框内 Downloads 导航栏。 红色框是选择适合自己电脑系统和版本的部分&#xff0c;蓝色框是选择系统的部分&#xff0c;黄色框是版本号。…

【Golang】Go语言中缓冲bufio的原理解读与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Word中如何删除表格下一页的空白页

Reference&#xff1a; [1] Word空白页怎么都删除不掉&#xff1f;用这6个方法随便删&#xff01; - 知乎 (zhihu.com)

实现TCP Connect的断线重连机制:策略与实践

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 断线重连机制&#xff0c;它成为确保应用在网络不稳定情况下仍能持续提供服务的关键技术之一。本文旨在深入探讨TCP&#xff08;传输控制协…

使用Materialize制作unity的贴图,Materialize的简单教程,Materialize学习日志

Materialize 官网下载地址&#xff1a;http://boundingboxsoftware.com/materialize/ github源码地址&#xff1a;https://github.com/BoundingBoxSoftware/Materialize 下载地址&#xff1a;http://boundingboxsoftware.com/materialize/getkey.php 下载后解压运行exe即可 …

YoloV8改进策略:BackBone改进|CAFormer在YoloV8中的创新应用,显著提升目标检测性能

摘要 在目标检测领域,模型性能的提升一直是研究者和开发者们关注的重点。近期,我们尝试将CAFormer模块引入YoloV8模型中,以替换其原有的主干网络,这一创新性的改进带来了显著的性能提升。 CAFormer,作为MetaFormer框架下的一个变体,结合了深度可分离卷积和普通自注意力…

线性回归逻辑回归-笔记

一、线性回归&#xff08;Linear Regression&#xff09; 1. 定义 线性回归是一种用于回归问题的算法&#xff0c;旨在找到输入特征与输出值之间的线性关系。它试图通过拟合一条直线来最小化预测值与真实值之间的误差。 2. 模型表示 线性回归模型假设目标变量&#xff08;输…

深度学习基础—卷积神经网络示例

1.卷积神经网络的结构 在之前的博客《深度学习—简单的卷积神经网络》&#xff0c;仅由卷积层构成网络的全部&#xff0c;这还不是标准的网络结构&#xff0c;本文将继续介绍标准的卷积神经网络结构有哪些&#xff1f; 深度学习基础—简单的卷积神经网络https://blog.csdn.net…

[C++]使用纯opencv部署yolov11-seg实例分割onnx模型

【算法介绍】 在C中使用纯OpenCV部署YOLOv11-seg进行实例分割是一项具有挑战性的任务&#xff0c;因为YOLOv11通常是用PyTorch等深度学习框架实现的&#xff0c;而OpenCV本身并不直接支持加载和运行PyTorch模型。然而&#xff0c;可以通过一些间接的方法来实现这一目标&#x…

opencvjs 在前端的使用

一、opencv 官网 https://opencv.org/ 二、opencv是什么 三、opencvjs前端使用网站 https://docs.opencv.org/4.x/d0/d84/tutorial_js_usage.html https://docs.opencv.org/4.x/d5/d10/tutorial_js_root.html 四、opencvjs demo 举例 <!DOCTYPE html> <html>…

Ubuntu22.04之mpv播放器高频快捷键(二百七十)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…