本文章主要分享数据库的连接、增删改查代码
mysql数据库版本推荐版本mysql-installer-community-8.0.35.0
推荐可视化Mysql IDE--mysql workbench工具,可自行百度下载IDE以及汉化包

连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //驱动
db.setHostName("localhost"); // 数据库地址,一般都是本地,填localhost就可以(或者填写127.0.0.1)
db.setDatabaseName("filename"); // 数据库名,根据你Mysql里面的数据库名称来填写,比如我的Mysql里面有个数据库叫school
db.setUserName("root"); // 登录用户名,一般是本地用户,填root就可以
db.setPassword("123456"); // 登录密码,填写你自己Mysql登陆密码
db.setPort(3306); // 端口,默认是3306
打开数据库
if (!db.open()) { // 数据库打开失败
QMessageBox::warning(this, "警报", db.lastError().text()); // 显示错误信息
return;
}
else {
QMessageBox::information(this, "提示", "数据库连接成功");
}
创建表,执行sql语句
QString sql = "";
QSqlQuery query; // *对数据进行操作所需要使用到的对象*
// 定义sql语句
sql = "create table qt_test_table(id int PRIMARY KEY AUTO_INCREMENT, name varchar(32), age int, score int);";
sql = "insert into qt_test_table values(1, 'nihao', 00, 59);";
// 执行sql语句
bool insertSucccess = query.exec(sql);
if (insertSucccess)
{
QMessageBox::information(this, "提示", "qt_test_table创建成功");
}
批量插入数据
QVariantList nameList;
nameList << "laowa" << "link" << "oink" << "zisok";
QVariantList ageList;
ageList << 11 << 22 << 33 << 44;
QVariantList scoreList;
scoreList << 69 << 79 << 89 << 99;
// 给字段绑定相应的值,按顺序绑定
query.addBindValue(nameList);
query.addBindValue(ageList);
query.addBindValue(scoreList)
//query.execBatch();
query.exec("delete from qt_test_table where name = '小红';");
db.close();
删除语句
QString sql = QString("delete from student where id = '%1'").arg(id);
修改语句
QString sql = QString("update student set id='%1',name='%2',age='%3',score='%4' where id='%5'").arg(id).arg(name).arg(age).arg(score).arg(id);
QSqlQuery query;
query.exec(sql);