我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

前言

数据在实际工作中应用广泛,数据库产品也很多,如DB2、mySQL等;基于嵌入式Linux的数据库主要有、、DB、.

本文主要讲解数据库。通过这个开源的小型嵌入式数据库,它将带领您掌握一些基本的数据库操作。这些操作在许多系统中都很常见。可以说,什么都可以学。

安装充电桩的要求和流程_安装微信_linux sqlite3 安装

,是一个轻量级数据库,一个符合ACID的关系数据库管理系统,它包含在一个相对较小的C库中。

作者 D.

2000 年 1 月,Hipp 开始与一位同事讨论创建一个简单的嵌入式 SQL 数据库的想法,该数据库将使用 GNU DBM 哈希库 (gdbm) 作为后端,并且不需要安装或管理支持。后来,只要有空闲时间,希普就开始实施这项工作。 2000年8月,发布1.0版本。 【在此向上帝跪下! 】

其设计目标是嵌入式,目前已经应用于很多嵌入式产品中。它占用的资源非常低。在嵌入式设备中,只需几百 K 的内存就足够了。它可以支持/Linux/Unix等主流操作系统,并且可以与多种编程语言结合,如Tcl、C#、PHP、Java等,以及ODBC接口。与Mysql相比,这两个世界著名的开源数据库管理系统而言,它的处理速度比它们都快。

特征

零配置——无需安装和管理配置;

存储在单个磁盘文件中的完整数据库;

数据库文件可以在不同字节序的机器之间自由共享;

支持最大2TB的数据库大小;

足够小,整个源代码大约是30000行C代码,250KB;

它对数据的操作速度比当今大多数流行的数据库都要快。

安装

现在运行的主版本下安装也很方便。

sudo apt-get install sqlite sqlite3   安装应用程序
sudo apt-get install libsqlite3-dev   安装库+头文件,用代码操作数据库必须安装

查看版本号:输入命令进入操作界面,输入命令.,可以查看详细版本号。

linux sqlite3 安装_安装微信_安装充电桩的要求和流程

也可以使用以下命令安装图形化操作工具:

sudo apt-get install sqlitebrowser    图形化工具建立数据库

另外,还可以部署在下面。本文仅讨论命令行方式操作数据库。

数据类型

操作数据库主要涉及到操作表。表的每一列都有特定的数据类型,例如整数值、字符串、布尔值等。

主要数据类型如下:

数据类型定义

数据类型 NULL

表示该值为NULL。

无符号整数值。

真实的

浮点值。

文本

文本字符串,用于存储的编码方式有UTF-8、UTF-16BE、UTF-16LE。

BLOB

存储 Blob 数据。这种类型的数据与输入数据完全相同。 1 表示 true,0 表示 false。

还接受以下数据类型:

数据类型定义

16 位整数。

32 位整数。

(p,s)

精确值p是指总共有多少位小数,s是指小数点后可以有多少位小数。如果不指定,系统将默认p=5 s=0。

漂浮

32 位实数。

64 位实数。

字符(n)

n 长度字符串,n 不能超过 254。

(n)

长度不固定的字符串,最大长度为n。 n 不能超过 4000。

(n)

与char(n)相同,但其单位是两个字节,n不能超过127。这种形式是为了支持两字节长度的字体,比如汉字。

(n)

变长的两字符字符串,最大长度为n,n不能超过2000

日期

包含年、月、日。

时间

包含小时、分钟和秒。

包含年、月、日、时、分、秒、千分之一秒。

约束

表的每一列都有一些限制性属性。比如有些列的数据不能重复,有些限制数据范围。约束用于进一步描述每一列的数据属性。常见的数据库约束如下:

名称定义

非空

- 不为空

仅有的

钥匙

主键

钥匙

外键

查看

状况检查

默认

非空

有些字段我们目前可能不知道要填写什么,并且没有为它们设置默认值。添加数据时,我们将这些字段留空,系统会认为它们是NULL值。但还有另一种类型的字段必须填写数据。如果不填写,系统会报错。此类字段称为 NOT NULL 字段,需要在定义表时提前声明。

仅有的

除了主列之外,还有一些列不能有重复值。

主键 KEY

一般是整数或者字符串,只要唯一即可。中,如果主键是整数类型,则该列的值可以自动增长。

外键KEY

我们的数据库中已经有一个表。如果我们再创建一个表,表中的每个学生必须对应表中的一个老师。这很简单。只需要在表中创建一个字段来保存对应老师的ID号即可。这样,学生和老师之间就建立了一种关系。问题是:可能会存储不在表中的学生值,但不会捕获错误。这种情况下,可以将表中的字段声明为外键,使其值与表中的Id字段对应。这样,一旦表中存储了不存在的教师ID,系统就会报错。

默认值

有一些特殊字段列,其值在每条记录中基本相同。仅在个别情况下改为其他值。我们可以为这样的字段列设置一个默认值。

状况检查 检查

某些值必须满足某些条件才能被允许存储。这就需要使用这个 CHECK 约束。

常用命令

下面介绍Shell模式下常用命令的使用。

命令功能

。帮助

显示 shell 模式下所有可用命令的列表

显示数据库信息;包含当前数据库的位置

。模式

导致SQL语句处理的结果以列对齐的方式显示

.模式列表

.开/关

打开列标题显示开关,使查询结果在屏幕上显示时具有列标题。

列出当前打开的数据库中有多少张表

。出口

退出环境

。食品

显示创建表foods时的SQL语句

显示所有表创建时的语句

查询时,使用指定的字符串而不是输出的NULL字符串。默认为 . ”

。展示

显示 shell 模式下定义的一些与输出相关的设置

.文件.csv

设置输出文件格式为CSV,文件名为file.csv

。 ,

设置语句输出的列数据以“,”分隔

将输出内容恢复到标准输出设备(屏幕)

[注意]命令均以.开头,没有.在操作语句前面。

使用示例

数据库的操作语句主要是增、删、改、查。下面我们将通过一些例子来让您了解数据库的这些基本操作。

桌子类型

假设我们要创建一个教学管理数据库jxgl.db,数据库中要存储学生表。

t

95001

一口

21

CS

95002

21

CS

根据我们的常识,每一列的数据有以下特点:

下面我们一步步实现这个数据库的所有操作。

创建教学管理“jxgl”数据库

要打开和退出数据库,请使用以下命令。

安装微信_安装充电桩的要求和流程_linux sqlite3 安装

创建表:

CREATE TABLE IF NOT EXISTS STUDENT(Sno integer primary key,   Sname text not null,   Ssex text,Sage integer check(Sage>14),Sdept text default 'CS');

该表的属性是执行上一节中表属性的结果:

安装充电桩的要求和流程_安装微信_linux sqlite3 安装

查看表:

如果看到它,则表示该表已创建。 【注意】

操作语句不是命令,所以不要添加 。在它前面;

操作语句后面必须跟着;最后,如果缺少,必须添加分号;

运算语句对字母的全角和半角非常敏感,所有符号都必须使用半角。

插入数据

插入数据是使用into语句实现的,如下所示:

INSERT INTO STUDENT VALUES('95001','李勇','M',20,'CS');
INSERT INTO STUDENT VALUES('95002','刘晨','F',19,'IS');
INSERT INTO STUDENT VALUES('95003','王敏','F',18,'MA');
INSERT INTO STUDENT VALUES('95004','张立','M',18,'IS');

执行结果如下:

安装微信_linux sqlite3 安装_安装充电桩的要求和流程

插入的数据仅初始化部分值

设置为not null的列必须赋值,并且表名不区分大小写。

insert into student(sname,sage) values ('一口',19);

查看表

使用语句查看表的内容:

SELECT * FROM STUDENT;

* 表示查看所有数据信息。

linux sqlite3 安装_安装充电桩的要求和流程_安装微信

你有没有发现结果看起来很不舒服?我们来调整一下显示格式:

sqlite> .headers on          显示列名
sqlite> .mode column         列对齐

linux sqlite3 安装_安装充电桩的要求和流程_安装微信

删除一行信息

delete from student where sname='一口';

安装充电桩的要求和流程_安装微信_linux sqlite3 安装

从上图可以看出,名为“One Mouth”的记录已被删除。

修改某条记录的某条内容

UPDATE student SET sage=29 WHERE sname='张立';

安装微信_linux sqlite3 安装_安装充电桩的要求和流程

修改数据表结构。

要修改表结构,需要使用ALTER TABLE语句。接下来,我们在数据类型为TEXT的表中添加“spwd”列,并使用命令查看表的内容。

ALTER TABLE STUDENT ADD spwd TEXT default '123456';

linux sqlite3 安装_安装充电桩的要求和流程_安装微信

修改表名

alter table student rename to stu;

linux sqlite3 安装_安装微信_安装充电桩的要求和流程

删除数据表。

DROP TABLE STUDENT;

删除列

没有删除列的命令。要实现此操作,需要先将表复制到新表中,但只集成所需的列,而不会继承要删除的列。您可以通过以下方式删除列:

sqlite> create table test as select sno, sname,ssex,sage,sdept  from stu;
sqlite> drop table stu;
sqlite> alter table test rename to stu;

从上图可以看出,我们刚刚添加的spwd列已经被删除了。

高级 where 子句

如果我不想查看所有数据,而是想查看特定人员的信息,该怎么办?我们必须使用 where 子句来实现这一点。 where子句可以与操作语句结合来处理增、删、改、查等操作,是最常用的子句。

按名称查找记录:

Select * from student where sname='一口';

linux sqlite3 安装_安装微信_安装充电桩的要求和流程

根据学号搜索记录:

Select * from student where sno=95001;

安装充电桩的要求和流程_linux sqlite3 安装_安装微信

根据姓名和年龄查找记录:

select *from student where sname='一口' and sage=19;

安装微信_安装充电桩的要求和流程_linux sqlite3 安装

显示两列数据

select sno,sname from student ; 

安装充电桩的要求和流程_linux sqlite3 安装_安装微信

数据库备份与恢复

现在我们假设我们要将表foods备份为.sql并使用命令来恢复数据库。只需按照以下步骤操作即可。

sqlite>.dump       --把创建表及向表中插入记录的所有SQL语句显示在屏幕上
sqlite>.output  foodsdb.sql --指定dump命令输出到文件的文件名
sqlite>.dump        --输出创建并插入数据到基本表的SQL语句到output指定的文件
sqlite>.output stdout  --恢复输出内容到标准输出设备(屏幕)
sqlite>.dump           --此时输出的SQL语句转回到屏幕 
sqlite>Drop table foods; --删除foods表语句说明:

上面的Drop是一条SQL语句,用于删除指定的表。因为是SQL语句,所以以“;”结尾

sqlite>.read foodsdb.sql    --执行foodsdb.sql中的包含的所有SQL语句,用来重建刚删除的4张表及相关数据
 

好啦,下面就跟着依依君一步步操作吧。相信你对于增删改查的基本操作不会有任何问题。还有一些其他的子句和函数用法,将在下一篇文章中介绍。

依依君个人微信

添加依依君个人微信,即可接收Linux、嵌入式等独家介绍视频。

→ 共享选定的技术信息

→ 大师就像云通讯社区

二维码
扫一扫在手机端查看

本文链接:https://by928.com/6831.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线