一、数据库删除操作:
基本语法
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 0
foreach(容器中存放的数据类型 变量名,容器的名字)
{
}
#endif
int 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语句来访问数据库