语法
大小写敏感性
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存储类。
