windows数据库mysql安装及C++连接
安装mysql
在mysql官网下载smi安装包
双击mysql安装包,全程按照默认配置进行即可,注意最后需要设置mysql的root用户的密码
安装好后,如果需要在终端操作数据库,则需要将mysql的bin目录添加到系统路径下:找到mysqlserver的bin,将其添加到path下即可
安装boost
要用mysql的C++连接,需要用到boost,所以windows下编译安装boost是必须的,但是编译安装boost还必须要有g++和gcc,又需要安装MinGW
安装MinGW
- 直接打开MinGW官网,点击右上方
DownLoad Install
即可下载。 - 下载后双击,按照默认进行,然后会出现一个界面,列出一些mingw32…… 选择其中的mingw32-gcc-g++ 右键点击
Mark for Installation
,然后点击左上角的Installation
菜单中的Apply changes
,然后就开始安装了,最后安装好后关闭即可 - 配置环境变量,此时
MinGW
应该安装在C盘中,将C:\MinGW\bin
添加到系统路径下,即环境变量–>path中
编译boost
- 解压boost安装包,进入到boost目录下
- 终端运行
bootstrap.bat gcc
,会生成b2.exe和bjam.exe两个文件 - 然后执行
bjam "toolset=gcc" install
- 等待很长一段时间,C盘根目录下会生成一个boost文件夹,其中有include和lib文件夹
C++连接mysql数据库
配置环境
找到
mysql
的安装路径,一般如下图所示因为我们是要连接上C++,因此我们只需要
Connector.C++11
和MySQL Server 5.7
两个文件夹下的内容,分别将这两个文件夹下的include
和lib
文件夹添加到程序的include
路径和lib
路径,注意还得把刚才编译的libboost
库的include
和lib
路径添加进来- 再将
libmysql.dll
和mysqlcppconn.dll
两个文件放到程序运行路径下,环境就配置好了。
用代码操作数据库
可以查看mysqlcppconnect官网的demo代码,里面有比较详细简单的使用方法。
这里是我的代码
头文件
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/statement.h>
#include <cppconn/resultset.h>
#include <cppconn/prepared_statement.h>
#include <sstream>
#include <vector>
class DataManager {
private:
DataManager(std::string user_name, std::string pass_word, std::string ip);
public:
static DataManager *getInstance(std::string user_name = "...", std::string pass_word = "...", std::string ip = "tcp://127.0.0.1:3306"); // tcp://127.0.0.1:3306 表示本机数据库
~DataManager();
/*
* insert a new data to database
*/
bool insertNewData(const DataBaseStruct &measure_data);
/*
* query database
*/
bool queryData(std::string operator_id, std::string start_time, std::string end_time, std::vector<DataBaseStruct> &query_result);
/*
* delete a data by id
*/
bool deleteById(std::string id);
/*
* delete datas by date
*/