1 安装MySQL数据库
参考链接:
https://blog.csdn.net/Running_A/article/details/128413579
https://blog.csdn.net/hitzsf/article/details/126394614
https://blog.csdn.net/m0_67402236/article/details/126012580
1.1 下载MySQL
进入官网:https://www.mysql.com/downloads/
点击MySQL Community(GPL) Downloads
下载社区版
点击X86,64bit下载。
点击No, thanks…直接下载。
解压到英文目录,并在目录下新建一个 my.ini 文件,中间的内容包括:
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录 ----------是你的文件路径-------------
basedir= 自己文件的解压路径(例G:\MySQL\mysql-8.0.33-winx64)
#设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
#datadir= G:\MySQL\mysql-8.0.33-winx64\data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
1.1.1 添加系统变量
为了方便登录操作mysql,在这里我们设置一个全局变量
点击"我的电脑"–>“属性”–>‘‘高级系统设置’’–>‘‘环境变量’’,接下来如下图所操作:
新建系统变量,变量名:mysql
,变量值:mysql的解压路径
把新建的mysql变量添加到Path路径变量中,点击确定:
Path,编辑,新建,输入%mysql%\bin
,确定。
1.2 安装MySQL
做这一步之前先去解压路径下,把data文件夹删除!!!
1.2.1 使用管理员打开cmd
按下win键再按下空格,输入cmd,右键选择管理员模式打开。
输入:
g: # mysql安装的盘符
cd 解压路径
cd bin
mysqld --install # 安装mysql
mysqld --initialize-insecure --console # mysql初始化,生成不带密码的root账户
net start mysql # 开启mysql服务
mysql -h localhost -u root -p #登录验证
在password后直接回车,如果进入mysql则可以看到“Welcome to the MySQL monitor…”
在mysql>
后面,输入:
alter user ‘root’@‘localhost’ identified by ‘root’; #修改密码为root,一定要加“;”才能正常执行
exit # 退出
再次登录:
mysql -h localhost -u root -p
root
新建一个数据库,数据库名为 test_001
:
在mysql>
后面,输入:
create database test_001;
查看数据库:
show databases;
1.3 Win10防护墙通过MySQL的3306端口
进入windows设置,点击更新和安全。
点击Windows安全,防护墙和网络保护。
点击高级设置:
右键入站规则,新建规则:
规则类型:端口
协议和端口:TCP,特定本地端口:3306
操作:允许连接
配置文件:默认
名称:mysql
2 QT添加MySQL驱动
qt要先编译mysql的驱动,将dll和lib文件导入编译环境才能正常工作。
我使用的qt版本为5.14.2,MySQL为64位,使用MinGW-64工具编译。
2.1 打开qt内置项目并编译
进入qt安装目录:Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql
双击pro文件打开工程,选择MinGW-64编译。
修改.pro文件,注释掉QMAKE。
添加INCLUDEPATH, LIBS, DESTDIR,前两个需要找到自己MySQL的解压目录。
下面这一步我没做,可能可行。*
我直接编译,点击左下角的小锤子。
生成的plugins有可能会出现在根目录下,如果mysql文件夹内部找不到,就出去找找看。
2.2 将编译好的文件和mysql的lib文件复制到qt软件包的不同位置
2.2.1 qt编译生成的dll文件复制到路径1:
路径1:Qt5.14.2/5.14.2/mingw73_64/plugins/sqldrivers
2.2.2 mysql自带的dll和lib文件复制到路径2:
mysql内的的libmysql.dll和libmysql.lib文件:
路径2:Qt5.14.2/5.14.2/mingw73_64/bin
3 Qt工程中添加Mysql
3.1 数据库连接测试
3.1.1 pro文件中添加sql
输入:
QT += sql
3.1.2 monitor.h添加库
#include <QSqlDatabase> //mySQL数据库
3.1.3 minitor.cpp 添加代码
//引用
#include <QMessageBox>
#include <QDebug>
#include <QSqlError>
monitor::monitor(QWidget *parent) :
QWidget(parent),
ui(new Ui::monitor)
{
ui->setupUi(this);
//sql
qDebug() << QSqlDatabase::drivers();
QSqlDatabase database = QSqlDatabase::addDatabase("QMYSQL"); //必须为"QMYSQL"
database.setHostName("localhost"); //连接本地主机
database.setPort(3306);
database.setDatabaseName("test_001"); //之前mysql建立的库名称
database.setUserName("root");
database.setPassword("root"); //之前的密码
bool ok = database.open();
if(ok){
QMessageBox::information(this,"info","link success");
}
else{
QMessageBox::information(this,"info","link failed");
qDebug() << "error open database because" << database.lastError().text();
}
//sql
}
编译运行结果,如果为以下,则工程验证成功。
3.2 MySQL操作
3.2.1 新建表
新建名为tabletest
的表,元素包括id、name和gender,id为主键,并设置为自动增加。
关键词大小写都可以。
QSqlQuery query;
QString command_create = "create table is not exists tabletest("
"id int primary key auto_increment,"
"name varchar(20),"
"gender char(1)"
");";
query.exec(command_create);
3.2.2 插入数据
由于id会自增,因此只要设置name和gender,在字符串内使用单引号'
。
QSqlQuery query;
QString command_insert = "insert into test_001.tabletest(name,gender) values('李白','男')";
query.exec(command_insert);
3.2.3 查询数据
如果要使用到qDebug()
函数,请声明头文件#include <QDebug>
。
QSqlQuery query;
QString command_select = "select * from test_001.tabletest";
query.exec(command_select);
while(query.next()){
qDebug() << "id:" << query.value(0).toInt();
qDebug() << "name:" << query.value(1).toString();
qDebug() << "gender:" << query.value(2).toChar();
}
3.2.4 删除与修改数据
参考:https://blog.csdn.net/qq_45362336/article/details/130578878
4 安装MySQL图形化界面
4.1 安装VC2019支持包
下载链接:https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
点击x64,下载。
4.2 安装MySQL界面
下载链接:https://dev.mysql.com/downloads/workbench/
4.3 登录数据库
点击红框,输入站好和密码就能登录。
4.4 基本操作
点击SQL+
,新建命令脚本,点击闪电,运行脚本。
4.4.1 创建数据库,创建表,插入和查询数据
create database if not exists `test_001`; -- 新建数据库
use test_001; -- 使用数据库
create table if not exists `tabletest`( -- 创建表
id int primary key auto_increment,
name varchar(20),
gender char(1)
);
insert into test_001.tabletest(name,gender) values('李白','男'); -- 插入数据
select * from test_001.tabletest; -- 读取数据
4.4.2 修改数据
use test_001;
insert into test_001.tabletest(name,gender) values('李清照','男');
update test_001.tabletest set `gender`='女' where (name='李清照');
insert into test_001.tabletest(name,gender) values('佚名','男');
select * from test_001.tabletest;
注释掉上面的语句,运行:
delete from test_001.tabletest where name='佚名';
select * from test_001.tabletest;