语法
大小写敏感性
SQLite不区分大小写,但有些特殊命令有大小写要求,如GLOB和glob的含义不同。
注释
方法一:
-- 注释内容(换行符结束)
方法二:
/* 注释内容(注释符不能嵌套) */
SQLite语句
所有的 SQLite 语句可以以任何关键字开始,如 SELECT、INSERT、UPDATE、DELETE、ALTER、DROP 等,所有的语句以分号**;**
结束。
如:
select column1 from table1 where condition1
数据类型
SQLite存储类
每个存储在SQLite数据库中的值都具有存储类特性。
存储类 | 说明 |
---|---|
NULL | 值是一个NULL值 |
INTEGER | 值是一个带符号的整数,根据值的大小,存储在1、2、3、4、6或8字节中 |
REAL | 值是一个浮点值,存储为8字节的IEEE浮点数字 |
TEXT | 值是一个文本字符串,使用数据库编码(如utf-8)存储 |
BLOB | 值是一个blob数据,完全根据它的输入数据存储 |
SQLite亲和(Affinity)类型
SQLite支持列的亲和类型。任何列可以存储任何类型的数据,当数据插入时,该字段的数据将优先采用亲和类型作为该值的存储方式。
亲和类型 | 说明 |
---|---|
TEXT | 数值型数据在被插入前,需要先转换成文本格式,然后再插入到目标字符串中 |
NUMERIC | 1. 当文本数据被插入到NUMERIC字段时: 1. 如果转换操作不会导致信息丢失以及完全可逆,那么SQLite会将该文本数据转换成INTEGER或REAL类型数据(如”30.0”==>30.0); 1. 如果转换失败,SQLite会将该文本数据以TEXT方式存储。 2. 对于NULL或BLOB类型的数据,SQLite不会做任何转换,直接以NULL或BLOB的方式存储。 |
INTEGER | 规则等同于NUMERIC,区别是在执行CAST表达式时 |
REAL | 规则等同于NUMERIC,区别是不会将”30.0”这样的文本数据转换成INTEGER存储方式 |
NONE | 不做任何的转换,直接以该数据所属的数据类型进行存储 |
Boolean(布尔)数据类型
SQLite没有单独的boolean存储类。