1、安装MySQL
sudo apt install mysql-server mysql-client
2,启动MySQL服务:
sudo service mysql start
3,查看服务是否启动:返回有“mysqld”的字样
sudo netstat -tap | grep mysql
4,以root身份进入服务器:
sudo mysq l -u root
5,创建数据库
CREATE DATABASE trainning;
6,数据库编程
在 *.pro文件中添加代码:QT += sql
(1)连接数据库
//添加MySql数据库,相当于声明。
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"); //数据库服务器IP
db.setUserName("root"); //数据库用户名
db.setPassword("123456"); //密码
db.setDatabaseName("info"); //使用哪个数据库
(2)数据库添加增删改查操作
QSqlQuery query;
query.exec("select * from student");
注:其他操作改变括号中的语句即可。
(3)打印遍历数据库
while(query.next()) //一行一行遍历
{
//取出当前行的内容
qDebug() << query.value(0).toInt()
<< query.value(1).toString()
<< query.value("age").toInt()
<< query.value("score").toInt();
}
(4)批量处理数据
1) odbc风格
//预处理语句
query.prepare("insert into student(name, age, score) values(?, ?, ?)"); // ? 相当于 占位符,可以后面插入。
//给字段设置内容 list
QVariantList nameList;
nameList << "xiaotang" << "xiaowu" << "xiaoli";
QVariantList ageList;
ageList << 11 << 22 << 33;
QVariantList scoreList;
scoreList << 59 << 69 << 79;
//给字段绑定相应的值 按顺序绑定
query.addBindValue(nameList);
query.addBindValue(ageList);
query.addBindValue(scoreList);
//执行预处理命令
query.execBatch();
- oracle风格
//占位符 : + 自定义名字
query.prepare("insert into student(name, age, score) values(:name, :age, :score)");
//给字段设置内容 list
QVariantList nameList;
nameList << "xiaoa" << "xiaob" << "xiaoc";
QVariantList ageList;
ageList << 33 << 44 << 55;
QVariantList scoreList;
scoreList << 89 << 90 << 99;
//给字段绑定
query.bindValue(":name", nameList);
query.bindValue(":score", scoreList);
query.bindValue(":age", ageList);
//执行预处理命令
query.execBatch();
完整代码:https://download.csdn.net/download/qq_40008325/11018888