嵌入式开发环境 (ARM开发板FL2440) 下移植sqlite3数据库

 

下载安装:

1,到http://www.sqlite.org/download.html下载linux版本的源码:我下载的是sqlite-autoconf-3240000.tar.gz

[wt@localhost ~]$ wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz

2,解压:

[wt@localhost ~]$ tar -xzf sqlite-autoconf-3240000.tar.gz -C ./dir

      说明:-C ./dir:  解压到./dir文件夹下

3,配置安装信息与安装:

  • cd  sqlite-autoconf-3240000/  进入到源码目录

[wt@localhost sqlite-autoconf-3240000]$./configure CC=/opt/xtools/arm920t/bin/arm-linux-gcc --host=arm-linux --prefix=/usr/local/sqlite3
[wt@localhost sqlite-autoconf-3240000]$ sudo make && make install 

      说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。

4,移植sqlite3:

  • 将在/usr/local/sqlite3/lib 目录下生成的 libsqlite3.so.0.8.6 文件拷贝到嵌入式开发环境的/usr/sbin目录或者程序运行依赖的lib目录下即可。

  • 将在/usr/local/sqlite3/bin 目录下生成的 sqlite3 应用程序拷贝到嵌入式开发环境下就可以运行并创建数据库了。

/usr/sbin >: tftp -gr libsqlite3.so.0.8.6 192.168.152.10
/usr/sbin >: tftp -gr sqlite3 192.168.152.10
/usr/sbin >: chmod 777 libsqlite3.so.0.8.6
/usr/sbin >: chmod 777 sqlite3

       说明:用tftp命令将文件从pc下载到开发板,这里我pc端的ip为192.168.152.10

sqlite数据库简单的增删改查

1. 创建数据库:

在任意目录下新建一个数据库,比如123.db 

~ >: sqlite3 test.db
SQLite version 3.24.0 2018-06-04 19:24:41
Enter ".help" for usage hints.
sqlite> 

.databases                查看数据库列表(都有哪些数据库)
.dump                      导出完整的数据库在一个文本文件中($sqlite3 test.db .dump > test.sql),从生成的 test.sql 恢复该                                   数据库($sqlite3 test.db < test.sql)

2,创建表

基本语法

CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),       //PRIMARY KEY:主关键字(主键),它的值用于唯一地标识表中的某一条记录
column2 datatype,
column3 datatype,
.....
columnN datatype,
);

实例
创建一个名为COMPANY的表

sqlite> CREATE TABLE COMPANY(
   ID                  INT      PRIMARY KEY     NOT NULL,         //ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL:
   NAME                TEXT                     NOT NULL,         //TEXT表示值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
   AGE                 INT                      NOT NULL,
   ADDRESS             CHAR(50),
   SALARY              REAL                      //REAL表示值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
);

.tables                                           验证表是否已成功创建,该命令用于列出附加数据库中的所有表
.schema  COMPANY                    得到表COMPANY的完整信息
DROP TABLE COMPANY          删除表COMPANY(不要忽略结尾分号)

3,向表中添加数据

语法一
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]        //column1, column2,...columnN 是要插入数据的表中的列的名称。
VALUES (value1, value2, value3,...valueN);
语法二
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);           // 要确保值的顺序与列在表中的顺序一致      

实例(向表COMPANY中添加数据)

语法一
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
语法二
INSERT INTO COMPANY VALUES (2, 'James', 24, 'Houston', 10000.00 );

4,从 SQLite 数据库表中获取数据

SELECT column1, column2, columnN FROM table_name;               //column1, column2...是表的字段,他们的值即是您要获取的
SELECT * FROM table_name;                                       //获取所有可用的字段

实例(从表COMPANY中获取数据)

sqlite>.header on            //开启头部显示。                                                                     
sqlite>.mode column          //设置输出模式为左对齐的列
sqlite> SELECT * FROM COMPANY;

得到结果
ID            NAME          AGE           ADDRESS       SALARY
----------    ----------    ----------    ----------    ----------
1             Paul          32            California    20000.0
2             James         24            Houston       10000.0
DELETE FROM COMPANY WHERE ID = 2;                  删除 ID 为 2 的客户
DELETE FROM COMPANY;                               从 COMPANY 表中删除所有记录
UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 2; 更新 ID 为 2 的客户地址为Texas
 
有时,由于要显示的列的默认宽度导致 .mode column,这种情况下,输出被截断。此时,您可以使用 .width num, num.... 命令设置显示列的宽度
sqlite>.width 10, 20, 10       //设置第一列的宽度为 10,第二列的宽度为 20,第三列的宽度为 10

系统学习sqlite推荐这个网站:http://www.runoob.com/sqlite/sqlite-tutorial.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值