一、安装SQLite3方法
1、字符界面
sudo apt-get install sqlite3
2、图形界面
sudo apt-get install sqliteman
二、SQLite数据类型
SQLite具有以下五种基本数据类型:
1、integer:带符号的整型(最多64位)。
2、real:8字节表示的浮点类型。
3、text:字符类型,支持多种编码(如UTF-8、UTF-16),大小无限制。
4、blob:任意类型的数据,大小无限制。
5、null:表示空值。
三、SQLite命令使用
1、创建、打开数据库:
sqlite3 *.db
提示:当*.db文件不存在时,sqlite会创建并打开数据库文件。当*.db文件存在时,sqlite会打开数据库文件。
2、退出数据库命令:
.quit 或 .exit
注意:SQL的语句格式:所有的SQL语句都是以分号结尾的,SQL语句不区分大小写。两个减号“--”则代表注释。
3、创建表:create 语句语法:
create table 表名称 (列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, ...);创建一表格该表包含3列,列名分别是:“id”、“name”、“addr”。
在终端下输入:create table persons (id integer, name text, addr text);
4、创建表:create 语句 (设置主键)
在用sqlite设计表时,每个表都可以通过primary key手动设置主键(整型),设置为主键的列数据不可以重复。语法:
create table 表名称 (列名称1 数据类型 primary key, 列名称2 数据类型, 列名称3 数据类型, ...);
在终端下输入:create table persons (id integer primary key, name text, addr text);
5、查看表: .tables 查看数据表的结构: .schema
6、修改表:alter语句
在已有的表中添加或删除列。语法:(添加、删除-sqlite3暂不支持)
alter table 表名 add 列名 数据类型;
在终端下输入:alter table persons add sex text ;
7、删除表:drop table语句
用于删除表(表的结构、属性以及表的索引也会被删除)语法:drop table 表名称;
在终端输入:drop table persons ;
8、插入新行:inser into 语句(全部赋值)给一行中的所有列赋值。语法:insert into 表名 values (列值1, 列值2,列值3,列值4, ...);
注意:当列值为字符串时要加上‘’号。
在终端下输入:create table persons (id integer, name text, addr text);
insert into persons values (1, 'lucy', 'beijing');
9、插入新行:inser into 语句(部分赋值) 给一行中的部分列赋值。语法:insert into 表名 (列名1, 列名2, ...) values(列值1, 列值2, ...);
在终端下输入:insert into persons (id, name) values (1, 'peter');
10、修改表中的数据:update 语句
使用where根据匹配条件,查找一行或多行,根据查找的结果修改表中相应行的列值(修改哪一列由列名指定)。
语法:update 表名 set 列1 = 值1 [, 列2 = 值2, ...] [匹配条件];
注意:当表中有多列、多行符合匹配条件时会修改相应的多行。当匹配条件为空时则匹配所有。
11、匹配:where 子句
where 子句用于规定匹配的条件:等于(=)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
匹配条件语法:(基础) where 列名 操作符 列值
在终端输入:update persons set id=2, addr='tianjing' where name='peter';
12、删除表中的数据:delete 语句
使用where根据匹配条件,查找一行或多行,根据查找的结果删除表中的查找到的行。语法:delete from 表名 [匹配条件];
注意:当表中有多列、多行符合匹配条件时会删除相应的多行。
在终端输入:delete from persons where name='peter';
13、查询:select 语句(基础)
于从表中选取数据,结果被存储在一个结果表中(称为结果集)。语法:
1、select * from 表名 [匹配条件];
2、select 列名1[, 列名2, ...] from 表名 [匹配条件];
提示:星号(*)是选取所有列的通配符。
在终端输入:insert into persons values (1, 'peter', 'tianjing');
insert into persons values (3, 'bob', 'hebei');
select * from persons;
select * from persons where id=1;
select name from persons;
select name from persons where id=1;
14、in 允许我们在 where 子句中规定多个值。匹配条件语法:where 列名 in (列值1, 列值2, ...)例:
1、select * from 表名 where 列名 in (值1, 值2, ...);
2、select 列名1[,列名2,...] from 表名 where列名 in (列值1, 列值2, ...)
在终端输入:select * from persons where id in (1, 2);
select name from persons where id in (1, 2);
15、and 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是与的关系)。匹配条件语法:where 列1 = 值1 [and 列2 = 值2 and ...]例:
1、select * from 表名 where 列1 = 值1 [and列2 = 值2 and ...];
2、select 列名1[, 列名2, ...] from 表名where 列1 = 值1 [and 列2 = 值2 and ...];
在终端输入:select * from persons where id=1 and addr='beijing';
select name from persons where id=1 and addr='beijing';
16、or 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是或的关系)。匹配条件语法:where 列1 = 值1 [or 列2 = 值2 or ...]例:
1、select * from 表名 where 列1 = 值1 [or 列2 = 值2 or ...];
2、select 列名1[,列名2,...] from 表名 列1 = 值1 [or 列2 = 值2 or ...];
在终端输入:select * from persons where addr='beijing' or addr='hebei';
17、操作符 between A and B 会选取介于A、B之间的数据范围。这些值可以是数值、文本或者日期。匹配条件语法:where 列名 between A and B例:
1、select * from 表名 where 列名 between A and B;
2、select 列名1[,列名2,...] from 表名 where列名 between A an