QT qsqlite的表结构和常用内置函数
QT qsqlite是一个用于与SQLite数据库交互的库。SQLite是一个开源的嵌入式数据库引擎,实现了多数SQL标准的一个子集。
QT qsqlite提供了一系列的API用于执行SQL语句,包括创建和管理数据库表格结构,以及使用SQLite的众多内置函数。
- 创建表格
在SQLite中,可以使用CREATE TABLE
语句来创建一个新的表格。以下是一个创建表格的例子:
QSqlQuery query;
bool success = query.exec("CREATE TABLE People (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)");
if (!success) {
qDebug() << "Table creation failed.";
}
- 添加数据
可以使用INSERT INTO
语句来添加数据到表格中。以下是一个添加数据的例子:
QSqlQuery query;
query.prepare("INSERT INTO People (name, age) VALUES (:name, :age)");
query.bindValue(":name", "John");
query.bindValue(":age", 30);
bool success = query.exec();
if (!success) {
qDebug() << "Insertion failed";
}
- 查询数据
可以使用SELECT
语句来查询表格中的数据。以下是一个查询数据的例子:
QSqlQuery query;
bool success = query.exec("SELECT * FROM People");
if (success) {
while (query.next()) {
int id = query.value(0).toInt();
QString name = query.value(1).toString();
int age = query.value(2).toInt();
qDebug() << id << name << age;
}
} else {
qDebug() << "Query failed";
}
- 内置函数
SQLite有许多内置的函数,如MAX()
, MIN()
, AVG()
, SUM()
等,可以用于查询和计算表格中的数据。以下是一个使用内置函数的例子:
QSqlQuery query;
bool success = query.exec("SELECT AVG(age) FROM People");
if (success) {
if (query.next()) {
qDebug() << "Average age:" << query.value(0).toInt();
}
} else {
qDebug() << "Query failed";
}
- 更新数据
可以使用UPDATE
语句来更新表格中的数据。以下是一个更新数据的例子:
QSqlQuery query;
query.prepare("UPDATE People SET age = :age WHERE name = :name");
query.bindValue(":age", 31);
query.bindValue(":name", "John");
bool success = query.exec();
if (!success) {
qDebug() << "Update failed";
}
- 删除数据
可以使用DELETE FROM
语句来删除表格中的数据。以下是一个删除数据的例子:
QSqlQuery query;
query.prepare("DELETE FROM People WHERE name = :name");
query.bindValue(":name", "John");
bool success = query.exec();
if (!success) {
qDebug() << "Deletion failed";
}
- 删除表格
可以使用DROP TABLE
语句来删除一个表格。以下是一个删除表格的例子:
QSqlQuery query;
bool success = query.exec("DROP TABLE People");
if (!success) {
qDebug() << "Table deletion failed.";
}
以上就是QT qsqlite的表结构操作和常用内置函数的使用。在实际应用中,还需要处理例如事务管理、错误
评论已关闭