一、准备工作
安装libreadline-dev,作为是在使用sqlite3命令时,可以在命令行使用方向键。
二、下载源码
三、配置
配置configure文件(用于生成Makefile文件)
./configure –help //查看configure所有支持的选项
–host= 指定用什么编译器编译我的代码
–host=arm-linux 指定使用arm系列的编译工具来编译我的源码
–prefix= //指定编译得到的库文件安装在哪个路径下
四、编译
1.在解压之后的文件夹中执行./configure
2.make
五、移动生成的文件
1.把编译生成的sqlite3拷到/bin文件夹(这样在命令行使用sqlite3时就不用输入绝对路径或相对路径,只输入一个sqlite3,即可)
2.把.lib(隐藏目录)下的libsqlite3.a(静态库)和libsqlite3.so(动态库)两个库拷到/lib目录下
六、sqlite3支持的数据类型
bit 0或1的整型数字
int 从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint 从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint 从0到255的整型数字
float 从-1.79E+308到1.79E+308可变精度的数字
real 从-3.04E+38到3.04E+38可变精度的数字
char 定长非Unicode的字符型数据,最大长度为8000
varchar 变长非Unicode的字符型数据,最大长度为8000
text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar 定长Unicode的字符型数据,最大长度为8000
nvarchar 变长Unicode的字符型数据,最大长度为8000
ntext 变长Unicode的字符型数据,最大长度为2^31-1(2G)
七、使用sqlite3的命令行
(命令不区分大小,语句要用分号结束)
创建一个数据库文件 .db结尾
sqlite3 mydata.db
新建表格
create table 表格的名字(字段1 类型,字段2 类型......); 例如: create table studenttable(name char(20),age int);
插入数据
insert into 表格的名字 values(数据1,数据2.....); 例如:insert into studenttable values('zhangsan',20);
修改数据
update 表格的名字 set 字段= ;
查询数据
select 字段名1,字段名2..... from 表的名字 例如:select name,age from studenttable select * from 表的名字 (查询表中所有的信息)
删除表
drop table 表的名字
删除指定信息
delete from 表名 where 条件 例如:delete from studenttable where age=21;
表的重命名
alter table 表名 rename to 新的表名; 给表添加新字段
约束,修饰语句
where语句 select * from 表的名字 where 限制条件 例如:select * from 表的名字 where age>18 and age<30; not null 确保不能插入空值 例如:create table studenttable(name char(20) not null,age int not null); unique 确保值的唯一性(不能有重复的)
一些简单的命令
.help --》查看所有的命令 .tables --》查看当前数据库文件中有哪些表 .dump --》查询数据库的结构,格式 .exit --》退出