学习使用SQLite(版本3.7.4)(中G )
来源:互联网 发布:安卓tcp调试工具源码 编辑:程序博客网 时间:2024/06/05 22:08
域完整性:
真正的域完整性的定义就是字段的值遵从规定。列的域包含类型和范围。域完整性有两个组成部分:类型检查和范围检查。
默认值( 实例):
not null约束:
保证insert语句不会向字段中插入null值。它要求必须为该字段提供值。一种应对的方法就是,在插入的时候别写null,一种方法就是,提前给该字段设置默认的值,此时通常default和not null是混合使用的。
check约束:
允许定义表达式来测试要插入或者更新的字段值。如果该值不满足设定的表达式,那数据库会报错。比如,可以通过check约束来规定一个字段的长度等等。
,此时就不能更新数据了。
check约束先判断,如果满足条件,就可以进行操作。还有一种办法,就是利用触发器。
外键约束:
一个表中的主键必须是另一个表中的引用,例子:比如父子关系、商品之间的关系、主从关系等。SQLite可以在创建表的时候使用外键。
create table table_name
( column_definition references foreign_table(column_name)
on {delete | update } integerity_action
[not deferrable [ initially {deferrable | immediate } , ]
……) ,
完整性规则的定义:set null , 如果父值被删除或者不存在了,那么对应的子值将改为null;
set default , 如果赋值被删除或者不存在了,那么对应的子值将会被修改为默认值;
casecade, 更新父值的时候,更新所有预知匹配的子值。删除父值的时候,删除所有的子值。注意这个不好用。
restrict, 更新或者删除父值可能会出现孤立的子值,从而阻止或者终止事务。
no action , 使用一种松弛的方法,不干涉操作执行,只是观察变化。在整个语句的结尾报错。约束定义为deferred的类似。
排序规则:
涉及到大小写,文本比较等。三种:二进制排序规则,c中的memcmp();nocase非大小写敏感排序;reverse排序。
排序定义关键字:collate。
存储类:
SQLite支持的类型和其他数据库有些不同。它支持的是类型以及这些类型的存储、比较、强化、指派是不同于其他数据库的。
5个原始的数据类型:
实数是十进制的数值。8字节的浮点数来存储实数。浮点数。
text包含UTF-8和UTF-16.默认最大值是1000000000字节。blob二进制大对象。任意类型的数据。默认最大值1000000000字节。NULL对null完全支持。 实例:
注意:SQLite的一个字段可能会包含不同的类型的值,这点要注意。而且会在比较的时候,有点麻烦。
其实,字段内的不同的类型的值是可以排序的。相似类型的值之间可以相互比较。不同的存储类的值可以通过他们各自的类值进行排序。
存储的时候,null类值最低,其次是integer和real,再是text,最后是blob。
视图(虚拟表,派生表):
SQlite不支持可更新的视图。目的在于方便查询。
SQLite 提供基于视图的安全,但是要基于控制工具和SQLite编程。
create view view_name as select_stmt;
drop view view_name.
- 学习使用SQLite(版本3.7.4)(中G )
- 学习使用SQLite(版本3.7.4)(中A)
- 学习使用SQLite(版本3.7.4)(中B)
- 学习使用SQLite(版本3.7.4)(中C)
- 学习使用SQLite(版本3.7.4)(中D)
- 学习使用SQLite(版本3.7.4)(中E)
- 学习使用SQLite(版本3.7.4)(中F)
- 学习使用SQLite(版本3.7.4)(中H ) ?
- 学习使用SQLite(版本3.7.4)(中I )
- 学习使用SQLite(版本3.7.4)(中J)
- 学习使用SQLite(版本3.7.4)(上A)
- 学习使用SQLite(版本3.7.4)(上B)
- SQLite学习笔记(9)-SQLite的简单使用
- sqlite学习笔记(4)使用TCL测试脚本
- cocos2dx学习笔记(sqlite的使用)
- python学习笔记(十一)使用SQLite
- android中sqlite的使用(一)
- android中sqlite的使用(二)
- 提取出某日访问百度次数最多的那个IP
- qt删除指定文件夹下所有内容,包括文件夹、文件
- Java集合类的学习(六)——总结
- Oracle Library Cache Lock 解决思路
- hdu 1237 简单计算器
- 学习使用SQLite(版本3.7.4)(中G )
- Treap树
- C++拷贝函数详解
- Android 文件管理器
- 关中断是否禁止任务调度?
- ECShop 批量上传商品乱码问题解决
- 平衡二叉树
- 二叉查找树
- java断点续传的原理