嵌入式数据库sqlite3移植

一、准备工作

安装libreadline-dev,作为是在使用sqlite3命令时,可以在命令行使用方向键。

二、下载源码

下载官网http://www.sqlite.org/

三、配置

配置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的命令行

(命令不区分大小,语句要用分号结束)

  1. 创建一个数据库文件 .db结尾

       sqlite3  mydata.db
    
  2. 新建表格

      create  table 表格的名字(字段1 类型,字段2 类型......);
        例如: create table studenttable(name char(20),age int);
    
  3. 插入数据

      insert into 表格的名字 values(数据1,数据2.....);
        例如:insert into studenttable values('zhangsan',20);
    
  4. 修改数据

      update 表格的名字  set 字段= ;
    
  5. 查询数据

      select 字段名1,字段名2.....  from 表的名字
        例如:select name,age from studenttable
      select * from 表的名字 (查询表中所有的信息)
    
  6. 删除表

      drop  table 表的名字
    
  7. 删除指定信息

      delete from 表名  where 条件
        例如:delete from studenttable where age=21;
    
  8. 表的重命名

      alter table  表名  rename to 新的表名;
    给表添加新字段
    
  9. 约束,修饰语句

    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    确保值的唯一性(不能有重复的) 
    
  10. 一些简单的命令

      .help --》查看所有的命令
      .tables --》查看当前数据库文件中有哪些表
      .dump --》查询数据库的结构,格式 
      .exit --》退出
    

你可能感兴趣的:(linux学习笔记)