您的位置:首页 > 房产 > 建筑 > Qt系列之数据库(三)补充篇

Qt系列之数据库(三)补充篇

2025/2/24 13:24:24 来源:https://blog.csdn.net/qq_44849154/article/details/141221228  浏览:    关键词:Qt系列之数据库(三)补充篇

一、数据库删除操作:

基本语法

DELETE FROM table_name
WHERE [condition];
DELETE FROM ---- 关键字
table_name ---- 表名
WHERE ---- 条件的关键字
[condition] --- 条件表达式`在这里插入代码片`

具体使用:

QString sqlDelete = QString("DELETE FROM staff where id = %1;").arg(id);

数据库更新操作:
基本语法:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];UPDATE ---- 关键字
table_name ---- 表名
SET ----- 关键字
column1 = value1 ---- 要修改的字段名和所对应的值
WHERE ---- 条件的关键字
[condition] --- 条件表达式

二 、sqlite数据类型

在这里插入图片描述

三、 批量导入数据到数据库 ---- QSqlQuery

qt为了支持数据库的批量和占位符赋值的特征,自实现了对Oracle and ODBC占位符语法的支持。
Oracle的占位语法: :列名(字段名)
ODBC的占 位符语法:使用一个字符(?)
他们的基本使用语法如下:

  QSqlQuery query;query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (:id, :forename, :surname)");query.bindValue(":id", 1001);query.bindValue(":forename", "Bart");query.bindValue(":surname", "Simpson");query.exec();
QSqlQuery query;query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (?, ?, ?)");query.bindValue(0, 1001);query.bindValue(1, "Bart");query.bindValue(2, "Simpson");query.exec();

具体的代码:

 database = QSqlDatabase::addDatabase("QSQLITE");database.setDatabaseName("school.db");if(!database.open()){qDebug() << "Error falied to open " <<database.lastError();}//把创建表的步骤使用图形化工具//批量导入数据,--- 准备好批量数据QStringList names;names<<"张三"<<"李四"<<"王五"<<"老李";QStringList classes;classes<<"一年级一班"<<"一年级二班"<<"一年级三班"<<"一年级四班";//使用动态数据来存放分数QVector<int> scores;scores.push_back(80);scores.push_back(85);scores.push_back(86);scores.push_back(90);//准备一条插入的sql语句QString sqlInsert = QString("insert into classgrade(name,class,score) ""values(:name,:class,:score);");QSqlQuery query;query.prepare(sqlInsert);#if 0foreach(容器中存放的数据类型 变量名,容器的名字){}#endifint i = 0;foreach(QString name,names){query.bindValue(":name",name);query.bindValue(":class",classes[qrand() % classes.length()]);query.bindValue(":score",scores[i++]);query.exec();}

四、C语言下sqlite3源码下载和编译

4.1 下载源码
官网下载地址:https://www.sqlite.org/index.html
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在自己项目中,如果要使用数据库的接口,那么,只需要将源文件sqlite3.c和sqlite3.h拷贝到自己工程中。

4.2 编译数据库源码
在这里插入图片描述
应用sqlite3流程:
第一步:先编译源码,得到一个目标文件,比如:sqlite3
第二步:利用sqlite3文件来创建数据库,比如:sqlite3 test.db
在这里插入图片描述
第三步:利用sql语句来访问数据库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com