本文章主要总结的内容是用Qt5.9Creator工程读写Mysql5.7.17数据库。具体的操作步骤如下所述。
一、用Qt5.9的Creator创建一个Console工程,选择MinGW32编译器。
二、添加代码
2.1创建好工程后,在.pro文件里面,添加如下代码:(直接复制就行)
QT+=sql
2.2在main.cpp文件,添加如下代码:(直接复制就行)
#include #include #include #include #include QSqlDatabase db;
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
//连接数据库
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");//连接本地的Mysql数据库,如果是远程的remote,需要输入对应的IP:"127.0.0.1"
db.setDatabaseName("nengxin");//默认连接的数据库名称为nengxin,后面的例子在名称为nengxin的数据库里面,创建了一个名称为student的表
db.setUserName("root");//数据库登录用户名
db.setPassword("admin");//数据库登录密码
if(!db.open())//连接数据库,成功显示open success,否则显示Failed to connect to root mysql admin
qDebug()<=2");
//必须创建好表后,才能对列进行操作
//插入一列内容语句
query.exec("alter table nengxin.student add address char(60)");//在表列的后面增加一列,列明为address
query.exec("alter table nengxin.student add address123 char(60)");
query.exec("alter table nengxin.student add age tinyint unsigned after name");//在列名称为name的后面增加一列,列名称为age
//删除一列内容语句
query.exec("alter table nengxin.student drop address123");//在表的后面删除一列
//修改列的类型或者名称
query.exec("alter table nengxin.student change name name varchar(30)");//将列名称name改为name varchar(30)类型
//修改表名称drop table nengxin.mqtt
query.exec("alter table nengxin.student rename nengxin.student1");//将表nengxin.student名称修改为nengxin.student1
query.exec("alter table nengxin.student1 rename nengxin.student");//将表nengxin.student1名称修改为nengxin.student
//遍历数据库(查询数据库表nengxin.student每一行的内容,并且输出)
query.exec("SELECT * FROM nengxin.student where id>=0");//代表选择id=3的一行内容
while(query.next())//遍历数据表nengxin.student每一行,从第0行到最后一行
{
quint32 id = query.value(0).toInt();//value(0),0代表第几列的值。在该例中,代表id=3的行,第0列
QString name = query.value(1).toString();
QString age = query.value(2).toString();
QString address = query.value(3).toString();
qDebug()<
三、程序构建运行后,结果如下图所示:
图1 程序运行结果
图2 Mysql5.7.17数据库
由图1可知,上述代码可以正常连接Mysql5.7.17数据库。由图1和图2可以看出,上述代码连接数据库后,可以对数据库进行读写操作。其中图1为输出nengxin.student表的内容。
参考内容:
http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#d13
http://www.qter.org/portal.php?mod=view&aid=54