SQLite基本语法
特性:
- 轻量级
- 独立性:不需要安装
- 隔离性:所有数据都在一个文件夹内
- 可移植性
- 支持多语言编程接口
- 安全性:允许多个进程在同一时刻同时读取同一个数据库的数据,但是同时刻只能有一个去写数据
数据类型
值的数据类型 | 描述 |
---|---|
NULL | 值是一个null值 |
INTEGER | 值是一个带符号的整数 |
REAL | 值是一个浮点值 |
TEXT | 值是一个字符串文本 |
BLOB | 值是一个blob数据 |
注:SQLite是不区分大小写的,但是也有一些命令是大小写敏感的,比如GLOB和glob就有着不同的含义。
数据库创建语句
CREATE TABLE IF NOT EXISTS TABLE_NAME(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype
);
例:创建一个名为bookstore的表,表的列有name,author,price以及pages信息
CREATE TABLE IF NOT EXISTS bookstore(id integer primary key autoincrement, name text NOT NULL,author text, price real, pages integer)
数据库插入语句
INSERT INTO TABLE_NAME(column1, column2, ..., columnN) VALUES(value1, value2, ..., valueN)
例:向bookstore表中插入一条数据
insert into bookstore(name, author, price, pages) values('First android code', 'Guolin', 30.0,500)
插入后效果如下图(图片来源于SQLiteSpy的截图)所示:
数据库删除语句
DELETE FROM TABLE_NAME WHERE condition1 AND|OR condition2 AND|OR condition3
例:
delete from bookstore where author='Moskala' and name='Android Development with Kotlin'
效果如下图所示:
数据库修改语句
UPDATE TABLE_NAME SET column1=value1, ..., columnN=valueN WHERE condition1 AND|OR condition2
例:对bookstore表中所有满足author为Guolin条件的记录,修改其price和pages信息
update bookstore set price=79.00, pages=552 where author='Guolin'
数据库查找语句
SELECT column1, ..., columnN FROM TABLE_NAME WHERE condition1 AND|OR condition2
例:查找bookstore表中满足author为Kevin或price>100的所有记录,并且返回的记录只包括name和price信息
select name, price from bookstore where author='Kevin' or price > 100
效果如下图所示: