首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQLite3 笔记

SQLite insert 插入一行: 插入一组: 使用select结果插入 多行插入到新表: 多行插入到新表,一步到位: 非常有用的临时表: sqlite update 更新一条记录: update ...约束 SQLite  存储类 视图 索引 触发器 视图触发器:可更新的视图 事务 冲突 SQLite insert 查看表结构: sqlite> .schema foods CREATE TABLE...sqlite> sqlite update 更新一条记录: sqliteupdate foods set name='CHOCOLATE BOBKA' where name='Chocolate ... z=2; Error: CHECK constraint failed: foo sqlite> 约束 约束 http://www.sqlite.org/foreignkeys.html 确保...> 触发器 当具体的表发生特定的数据库事件时,触发器执行对应的SQL命令 更新的行用old引用,已更新的行用new引用 所有属性都可以用点来引用 create temp table log(x);

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Python:轻量级 ORM 框架 peewee 用法详解

这两个参数都跟有关。我们修改一下测试用的模型。假设有这样两个模型,一个人员,一个部门,人员属于部门。..., [1]) ② 当 recursive=True ,并且不可为空时,会先删除【部门】下的【人员】,再删除【部门】。..., [1]) ③ 当 recursive=True ,并且可为空时,先将【人员】的【部门ID(字段)】置为了 NULL,再删除【部门】。..., [1]) ④ delete_nullable 仅在 recursive=True 且可为空时有效,和 ③ 一样,当 delete_nullable=True 时,会删除【人员】,而不是将【人员的部门...2、update update 用于批量更新,方法相对简单,以下三种写法都可以 # 方法一 Person.update({Person.Name: '赵六', Person.Remarks: 'abc'

5.7K20

学习SQLite之路(三)

20160616更新  参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1....当多个字段作为主键,它们被称为复合。   如果一个表在任何字段上定义了一个主键,那么在这些字段上不能有两个记录具有相同的值。...一旦主连接计算完成,连接(OUTER JOIN)将从一个或两个表中任何连接的行合并进来,连接的列使用 NULL 值,将它们附加到结果表中。...,从一个或两个表中任何连接的行合并进来,连接的列使用 NULL 值,将它们附加到结果表中。...(1)要点: SQLite 的触发器(Trigger)可以指定在特定的数据库表发生 DELETE、INSERT 或 UPDATE 时触发,或在一个或多个指定表的列发生更新时触发。

3K70

SQLite3详细介绍

该列用于约束。 该列用于生成列的表达式。 该列出现在触发器或视图中。...的其它的更新记录,我们可以在官网查看 https://www.sqlite.org/changes.html 多表连接 SQLite从3.39.0版本之后(2022-06-25)才开始支持右连接和全连接...SQLiteJava交互 SQLiteJava交互需要下载JDBC,可以在github上直接下载 https://github.com/xerial/SQLite-jdbc/tree/3.36.0.3...在项目导入jar包后,就可以使用JDBC连接SQLite了 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet...格式如下: jdbc:sqlite:数据库文件路径 如果我们将数据库文件放在当前项目目录下,那么在url中就不需要指定路径了,直接使用如下格式: jdbc:sqlite:数据库文件名 String url

2.3K70

android开发之使用SQLite数据库存储

许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。...此外,SQLite 不支持一些标准的 SQL 功能,特别是约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER...除了上述功能SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。...像上面创建表一样,你可以使用 execSQL() 方法执行 INSERT, UPDATE, DELETE 等语句来更新表的数据。execSQL() 方法适用于所有不返回结果的 SQL 语句。...update() 根据条件,更新指定列的值,所以用 execSQL() 方法可以达到同样的目的。 WHERE 条件和其参数和用过的其他 SQL APIs 类似。

2.5K20

SQLite 基础

update) 格式 update 表名 set 字段1 = 字段1的值, 字段2 = 字段2的值, … ; 示例 update t_student set name = ‘jack’, age =...autoincrement create table t_student (id integer primary key autoincrement, name text, age integer) ; 二十一、约束...利用约束可以用来建立表与表之间的联系 的一般情况是:一张表的某个字段,引用着另一张表的主键字段 新建一个 create table t_student (id integer primary...foreign key (class_id) references t_class (id)); t_student 表中有一个叫做fk_t_student_class_id_t_class_id 的...这个的作用是用 t_student 表中的 class_id 字段引用 t_class 表的 id 字段 二十二、表连接查询 什么是表连接查询 需要联合多张表才能查到想要的数据 表连接的类型

2.1K40

AAC---Room使用

Room介绍 Room是AAC推荐的基于SQLite的ORM数据库框架。...通过注解的方式来进行数据库的配置,以及SQL的查询,并且在编译的过程中,会检查SQL以及数据库配置等的正确性,同时也支持、事务等。...Room Database ObjectBox是非SQLite的ORM数据库框架,它自定义了自己的数据库文件,它的文件只有官方提供的工具才能打开,并且对于、主键等支持也比较完备,并且效率比Room...为了提升查询的速度,可以通过indices设置索引,如果需要保证属性数据的唯一性,则可以通过设置unique=true来保证 可以通过Entity中的foreignKeys来与另外一张表进行关联,设置...除了查询的操作都会是一个Transaction 插入,删除,更新操作都是根据PrimaryKey匹配进行操作的 Query操作可以返回Cursor,LiveData Query的参数也可以是一个List

1.3K20

【测试SQLite】测试SQLite支持的SQL语句分类

约束用于维护表之间的关联关系,确保引用完整性。...,并且数据库保持不变 UPDATE users SET email = 'john_new@example.com' WHERE username = 'john_doe'; -- 更新时违反约束...(将级联删除从属表中的数据) DELETE FROM users WHERE id = 1; -- 删除具有关联的从属表数据(如果使用级联删除) DELETE FROM orders WHERE...UPSERT不会干预失败的NOT NULL、CHECK或约束,也不会干预使用触发器实现的约束。 DO UPDATE中表达式中的列名是插入前列的原始更改的值。...UPSERT不会干预失败的NOT NULL、CHECK或约束,也不会干预使用触发器实现的约束。 DO UPDATE中表达式中的列名是插入前列的原始更改的值。

27400

SQL反模式学习笔记5 约束【不用钥匙的入口】

比如MySQL的MyISAM存储引擎,或者比SQLite3.6.19早的版本; 5、定义的语法并不简单,还需要查阅。...5、当你Update更新一条被其他记录依赖的记录时,在没有更新父记录前,你不能更新子记录, 而且也不能在更新父记录前更新子记录。...会自动完成这些,并且会使用这父表的索引尽可能的高效完成) 3、有人说不要用影响数据库效率。...(3)的特性:级联更新,比如:On Update Cascade、On Delete Restrict等。...2、约束的确需要多那么一点额外的系统开销,但相比于其他的一些选择,确实更高效一点: (1)不需要在更新或删除记录前执行Select检查; (2)在同步修改时不需要再锁住整张表

81230

SqlAlchemy 2.0 中文文档(十七)

操作不提供 Python 中的关系级联功能 - 假定任何需要的引用都已配置为 ON UPDATE CASCADE 和/或 ON DELETE CASCADE,否则如果强制执行引用,则数据库可能会发出完整性违规...有关一些示例,请参阅使用 ON DELETE cascade 与 ORM 关系的注意事项。...操作不提供 Python 中的关系级联 - 假定对于需要它的任何引用已配置了 ON UPDATE CASCADE 和/或 ON DELETE CASCADE,否则如果正在执行引用,则数据库可能会发出完整性违规...这些操作不提供 Python 中关系的级联 - 假设对于需要的任何引用配置了 ON UPDATE CASCADE 和/或 ON DELETE CASCADE,否则如果正在强制执行引用,则数据库可能会发出完整性违规...请参阅使用 ORM 关系的 ON DELETE 级联中的说明以获取一些示例。

19710

用人话讲解django之数据的增删改

我们操作数据库可以使用原生sql语句,但是如果sql的操作语句不复杂,可以使用django 的 ORM 语句,它是通过一些封装,根据 ORM 的语法可以对数据库增删改查,用一同一个 ORM 语句可以支持对 mysql、sqlite...# ForeignKey一对多,比如一个班级有多个学生,就属于一对多,要放到"多"的那张表, # related_name是对外取别名,常用在django的orm反向查询中...返回一个班级实例 cls_instance = Class.objects.create(name="1903") # stu_info左边的key要和Student模型字段对应上,因为cls是...是更新方法,支持多个参数 # Class.objects.filter(name="1901").update(name="1901_xiu") # 将名字为1901_xiu的班级删除掉...,delete是删除方法 # Class.objects.filter(name="1901_xiu").delete() 项目源码地址:https://github.com/zxycode-2020

39130
领券