-- 语法
DELETE FROM table_name
WHERE column_name OPERATOR
SELECT column_name1[, column_name2]
FROM table_name1[, table_name2]
WHERE [condition]
-- 实例
DELETE FROM link_men
WHERE AGE IN (
SELECT AGE FROM link_men
WHERE AGE > 25
文章目录0 背景1 代码2 sql 语句分析2.1关键词解析:2.2 全语句解释:2.3 从任何一个节点出发查询整条链的数据
因为实际用到递归查询数据库表中结果,本想用其他语言实现递归select操作,但是发现sql语句自身也可以进行递归查询,而且效率很高,因此就搜了相关的资料,发现网上很多的代码,但是几乎都没有注解。于是我就决定写一下注解,方便大家理解,使用和测试的环境为Qt,
连接数据库:
#ifndef CREATECONNECTION_H
#define CREATECONNEC
SQLite是一款轻型的数据库,是关系型数据库(RDBMS)管理系统,它包含在一个相对小的C库中。目前在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix/Android/IOS等等主流的操作系统,同时能够跟很多程序语言相结合。
SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可以根据需求进行设置。
2、 常用配置
2.1 auto_vacuum
2.1.1 VACUUM
命令通过复制主数据库中的内容到一个临时数据库文件,然后清空主数据库,并从副本中重新载入原始的数据库文件。这消除了空闲页,把表中的数据排列为连续的,另外会清理数据库文件结构。如果表中没有明确的整型主键(), 命令可能会改变表中条目的行 ID()。命令只适用于主数据库
子查询或内部查询或嵌套查询是在另一个SQLite查询内嵌入在WHERE子句中的查询。
使用子查询返回的数据将被用在主查询中作为条件,以进一步限制要检索的数据。
子查询可以与SELECT、INSERT、UPDATE和DELETE语句一起使用,可伴随着使用运算符如=、<、>、>=、<=、IN、BETWEEN等。
以下是子查询必须遵循的几个规则:
INSERT INTO biao ( id, userID, Number, Modle )
VALUES
( '', ( SELECT id FROM user WHERE userName = '王五' LIMIT 1 ), '', '' )
//sqlite中插入二进制数据
//需要使用(?)...
其中limit 0,10中,0表示从第0条记录开始,10表示向下10条记录。
2、根据条件查找一个表,按某字段进行排序
select * from table where name='XXX' order by id;
其中id是表中的字段。