MySQL
是一个非常流行的关系型数据库,也是使用标准的
SQL
语言进行数据库的操作。在
Qt 5
中已经提供了对
MySQL
数据库的默认支持,要想使用该数据库,需要先进行数据库的安装,这里我们介绍下在
Windows
系统中
MySQL
数据库的安装和简单使用。后面篇章中会使用
SQLite
作为默认数据库进行讲解,其中的内容对于
MySQL
数据库也是适用的。
环境:Windows 7 + Qt 5.8.0(包含Qt Creator 4.2.1)
正文
一、安装MySQL
2、运行下载的安装包,首先出现的是向导欢迎界面。如下图
所示。单击“
Next
”按钮。
3
、
该界面选择同意条款。如图
所示。单击“
Next
”按钮。
4、下面选择定制安装“
Custom
”。
5、这里需要安装所有的头文件和库,点击
Development Components
前面的下拉箭头,然后选择第二项。
6、然后选择下面的“
Browse…”按钮来更改安装路径,这里设置为
C:\MySQL\
。
7、填写完路径后单击“
OK
”按钮回到主页面,单击“
Next
”按钮来到新的页面,这里单击“
Install
”按钮开始安装。
。
8、等安装完毕后,点击“
Finish
”按钮完成安装。
二、在MySQL中创建数据库
1、下面先在安装的
MySQL
中创建一个数据库,用于后面的测试。首先到
MyQSL
的安装目录C:\MySQL\bin
目录下运行mysqld.exe
程序,该程序运行完成后会自动关闭
。
2、同时按下键盘上的
Win
图标和
R
键,在弹出的对话框中输入
cmd
。
3、进入终端后输入下面的命令:
cd C:\MySQL\bin
跳转到安装目录下
。
4、然后输入下面的命令:
mysql –uroot –p
使用root
用户来登陆
MySQL
,因为默认密码是空的,所以这里不用设置密码。运行这行代码会提示
Enter password
,这时敲回车即可。
5、登录
MySQL
以后,使用下面的命令来查看现有的数据库:
show databases
;
注意后面有个分号。
6、可以看到,这里现在已经有几个数据库了,它们是
MySQL
需要的
。
7、这里不使用已经有的数据库,而是新建自己的数据库,下面新建名为
mydata
的数据库:
create database mydata
;
8、再次查看已经存在的数据库,发现显示出了刚才创建的数据库
。
9、完成后,输入
exit
命令退出
MySQL
。
三、测试MySQL程序
1、打开
Qt Creator
,新建项目,模板选择为“
Qt Console Application
”,项目名称为“mysqltest”。完成后在mysqltest.pro
文件中添加如下代码:
QT += sql
然后按下Ctrl+S
保存该文件。
2、更改main.cpp
文件内容如下。
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//
打开MySQL
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mydata");
db.setUserName("root");
db.setPassword("");
if (!db.open())
qDebug() << "Failed to connect to root mysql admin";
else qDebug() << "open";
QSqlQuery query(db);
//注意这里varchar一定要指定长度,不然会出错
query.exec("create table student(id int primary key,name varchar(20))");
query.exec("insert into student values(1,'xiaogang')");
query.exec("insert into student values(2,'xiaoming')");
query.exec("insert into student values(3,'xiaohong')");
query.exec("select id,name from student where id >= 2");
while(query.next())
{
int value0 = query.value(0).toInt();
QString value1 = query.value(1).toString();
qDebug() << value0 << value1 ;
}
return a.exec();
}
这里注意,创建表时varchar
一定要指定长度。
3、到C:\MySQL\lib中将libmysql.dll文件复制到C:\Qt\Qt5.8.0\5.8\mingw53_32\bin
中。运行程序
。