首页
学习
活动
专区
工具
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.6K20

学习SQLite之路(三)

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

2.9K70

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

1.9K70

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.4K20

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 基础

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 字段 二十二、表连接查询 什么是表连接查询 需要联合多张表才能查到想要的数据 表连接的类型

2K40

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

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

80330

用人话讲解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

38430

【django开发】知识经验总结共50页md文档。今日分享:django配置和数据库操作详解

静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。...verbose_name='描述信息') book = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='图书') # ...则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用unique如果为True, 这个字段在表中必须有唯一值,默认值是Falsenull 是数据库范畴的概念,blank是表单验证范畴的6 ) 在设置时...,需要通过 on_delete 选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models中包含了可选常量:CASCADE 级联,删除主表数据时连通一起删除外表中数据PROTECT...保护,通过抛出 ProtectedError 异常,来阻止删除主表中被应用的数据SET_NULL 设置为NULL,仅在该字段null=True允许为null时可用SET_DEFAULT 设置为默认值

19810

android orm持久层框架

android数据库开发   Android中内置了sqlite,但是常用的开发语言java是面向对象的,而数据库是关系型的,二者之间的转化每次都很麻烦(主要是我对sql语言不熟悉)。...ormlite-android-4.24.jar   从以下网址可以下载到:http://ormlite.com/releases/ 下面按照惯例来个Hello world   新建Android项目...onCreate(db, connectionSource);      } catch (SQLException e) {       Log.e(DataHelper.class.getName(), "更新数据库失败...(0);       h1.setWord("这是修改过的数据");       tv.setText(tv.getText() + "\n" + "修改数据完成");       helloDao.update...e.printStackTrace();      }    }    }    以上实现了数据库操作相关的增删改,下面是效果:      OrmLite的功能非常强大,Model类的声明中非常重要,约束

78450
领券