SQLite3数据库在Linux下的安装+卸载+基本使用

这篇具有很好参考价值的文章主要介绍了SQLite3数据库在Linux下的安装+卸载+基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、SQLite3数据库概述

SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这就体现出来SQLite与其他数据库的最大的区别:SQLite不需要在系统中配置,直接可以使用。且SQLite不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite可直接访问其存储文件。
相对于其它数据库,SQLite具有以下优势:
1.不需要配置,不需要安装和管理
2.不需要一个单独的服务器进程或操作的系统(无服务器的)
3.一个完整的SQLite数据库存储在一个单一的跨平台的磁盘文件上
4.非常小,轻量级的数据库,完全配置时小于400KiB,省略可选功能配置时小于250KiB
5.自给自足,不需要任何外部的依赖
6.完全兼容ACID,允许从多个进程或线程安全访问
7.支持SQL92(SQL2)标准的大多数查询语言的功能
8.使用ANSI-C编写的,并提供了简单和易于使用的API
9.可在UINX(Linux,Max OS-X,Android,iOS)和Windows(Win32,WinCE,WinRT)中运行

本文进行操作示例时使用的表格样例如下:
数据库名:class
表格名:student

id name sex age score
2301 zongrui male 15 89
2302 tingyu female 15 87
2303 miku female 16 92
2304 liqiang male 17 95
2305 hailiang male 16 81
2306 jiade male 14 77
2307 tianyu male 17 85

Ubuntu版本:22.04.2
Linux内核版本:6.2.0-32

二、安装SQLite3

2.1 网络安装

step1:安装数据库系统Sqlite3操作软件命令:

sudo apt-get install sqlite3

step2:安装Sqlite3数据库开发支持库:

sudo apt-get install libsqlite3-dev

step3:安装Sqlite3图形化管理界面DB Browser for SQLite(用户可选择性安装):

sudo apt-get install sqlitebrowser

step4:检查是否安装成功,如果成功,输入以下命令可显示SQLite3版本信息。

sqlite3 --version

卸载sqlite linux,数据库,sqlite,linux

2.2 手动安装

step1:从SQLite官网上下载源码压缩包(笔者本人下载的是sqlite-autoconf-3430100.tar.gz)SQLite官网入口->。
卸载sqlite linux,数据库,sqlite,linux
卸载sqlite linux,数据库,sqlite,linux

step2:将源码压缩包拷贝到Linux指定文件夹下。
step3:使用下面的命令解压,解压后生成一个名为sqlite-autoconf-3430100的文件夹。

tar -zxvf sqlite-autoconf-3430100.tar.gz

卸载sqlite linux,数据库,sqlite,linux

step4:进入解压后的sqlite-autoconf-3430100文件夹查看文件目录,发现没有makefile文件,但是有configure这个文件

cd sqlite-autoconf-3430100
ls

卸载sqlite linux,数据库,sqlite,linux

step5:执行以下命令,将其安装到你想要的指定路径下,笔者是安装在libo文件夹下的名为sqlite3的文件夹,安装时如果路径中没有该文件夹,在安装后会自动创建一个文件夹。

./configure --prefix=/home/qinglan/libo/sqlite3

注意:这里输入的路径是绝对路径

备注: 源码的安装一般由3个步骤组成: 配置 (configure)、编译 (make) 、安装(make install)
执行以下指令
/configure --prefix=/home/qinglan/libo/sqlite3
make
make install
后将自动生成目录sqlite3,且该软件所有的文件都被复制到这个目录。
使用–prefix的优点: 维护方便、卸载软件或移植软件方便。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净,移植软件只需拷贝整个目录到另外一个机器即可(前提是相同的操作系统)。
如果不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share。要卸载这个程序,要么在原来的make目录下用一次make uninstall (前提是make文件指定过uninstall) ,要么去上述目录里面把相关的文件一个个手工删掉,相对来说没有那么方便。

step6:执行make和make install,执行此过程需要花点时间。

make
make install

step7:检查是否安装成功,如果成功,输入以下命令可显示SQLite3版本信息(同网络安装)。

sqlite3 --version

三、卸载SQLite3

3.1 Linux命令行卸载

step1:输入以下命令,查看已安装的SQLite3软件包列表,这样一会儿可以查看是否真的卸载。

dpkg --list sqlite3

卸载sqlite linux,数据库,sqlite,linux
step2:在终端中输入以下命令,卸载程序和所有配置文件(需要输入密码)。

sudo apt-get --purge remove sqlite3

如果只想卸载程序但保留配置文件,请输入以下命令:

sudo apt-get remove sqlite3

卸载sqlite linux,数据库,sqlite,linux

step3:再次输入step1中的命令,查看是否卸载。
卸载sqlite linux,数据库,sqlite,linux

3.2 进入sqlite文件夹卸载

step1:进入解压后的sqlite目录下,和手动安装过程一样。
step2:执行./configure,再执行make(若make失败,就删除目录中的sqlite3文件)
step3:执行make uninstall,即可成功卸载。

四、SQLite3常用命令

输入命令行sqlite3,则进入数据库编辑模式

卸载sqlite linux,数据库,sqlite,linux

所有命令都是在 sqlite> 后输入
系统命令以 ".“开头,普通命令以”;"结束。

注意:SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中就有不同的含义。

4.1 常用系统命令

.schema student                     --查看名字为student的表的结构
.quit或.exit或.q                     --退出数据库
.help                               --查看帮助信息
.database或.databases               --查看数据库
.tables或.ta                        --显示数据库中所有的表的表名
.output                             --查询的结果输出到文件,如:.output student.txt
.show                               --显示各种设置的当前值
.head on                            --查询时显示列名称

4.2 常用普通命令

4.2.1 创建或打开一个数据库

sqlite3 class.db(或sqlite3 class)

创建一个名字为sql1的数据库,如已经存在,则是打开这个名为sql1数据库.

卸载sqlite linux,数据库,sqlite,linux

注意:此命令直接在shell中输入,不要在sqlite3环境中输入。

4.2.2 创建一张新表

create table student (id int, name char, sex char, age int, score int);

括号内的id、name、sex、age、score都是字段名称,字段名称后跟着的int、char是字段类型,每个字段用逗号隔开。

卸载sqlite linux,数据库,sqlite,linux

4.2.3 向表中插入一条完整记录

insert into student values(2301, 'zongrui', 'male', 15, 89);

或者

insert into student(id, name, sex, age, score) values(2301, 'zongrui', 'male', 15, 89);

括号内的『2301, ‘zongrui’, ‘male’, 15, 89』字符串需要用单引号或双引号括起来。若没有返回错误信息,则表示插入成功。

卸载sqlite linux,数据库,sqlite,linux

4.2.4 一次性插入多个记录

insert into student values(2302, 'tingyu', 'female', 15, 87),(2303, 'miku', 'female', 16, 92),(2304, 'liqiang', 'male', 17, 95);

各个记录之间要用逗号隔开。

卸载sqlite linux,数据库,sqlite,linux

4.2.5 查看非格式化数据表的全部内容

select * from student; 

卸载sqlite linux,数据库,sqlite,linux

4.2.6 查看格式化数据表的全部内容

.header on                                     --设置显示表头(即显示每列的字段名) 
.mode column                                   --设置以列的形式展示结果
select * from student; 

卸载sqlite linux,数据库,sqlite,linux
另外,可以用如下命令改变列的宽度

.width 10 30 20           -- 设置第一列的宽度为 10,第二列的宽度为 30,第三列的宽度为 20

每一列的宽度数中间用空格隔开。

卸载sqlite linux,数据库,sqlite,linux

备注:有的教程中在每一列的宽度数中间加了逗号(.width 10,30,20 ),笔者本人也亲自做了尝试,加逗号之后除第一列之外,其余列的宽度均未发生改变。

4.2.7 查看数据表中部分字段(列)记录

select id from student;                                   --查看id一列的记录
select id,name from student;                              --查看id和name两列的记录

卸载sqlite linux,数据库,sqlite,linux

4.2.8 查看数据表中数据记录的数量

select count(*) from student;                  --查看表中总共有多少名同学的信息

卸载sqlite linux,数据库,sqlite,linux

4.2.9 查看数据表的结构

pragma table_info(student);

此命令将显示数据表的列名、数据类型和约束等信息。

卸载sqlite linux,数据库,sqlite,linux

4.2.10 按字段排序

select * from student order by age DESC;                 --按照年龄降序排列

DESC为降序,AEC为升序

卸载sqlite linux,数据库,sqlite,linux

4.2.11 按照某个条件筛选记录

select * from student where age = 16;                            --筛选年龄等于16岁的记录(此处等号既可用“=”也可用“==”)
select * from student where age != 16;                           --筛选年龄不等于16岁的记录(此处不等于号既可用“!=”也可用“<>”)
select * from student where age < 15 and sex = 'male';           --筛选年龄小于15岁并且性别为男性的记录
select * from student where age = 14 or age = 15 or age = 16;    --筛选年龄为14岁、15岁或者16岁的记录
select * from student where age between 14 and 16;               --筛选年龄在14岁~16岁的记录
select * from student where age in (14, 15, 16);                 --筛选年龄为14岁、15岁或者16岁的记录
select * from student where age not in (15, 16);                 --筛选年龄不是15岁和16岁的记录

卸载sqlite linux,数据库,sqlite,linux

4.2.12 更新记录

update student set name = "chuyin" where id = 2303;             --把学号为2303的名字改为“chuyin”
update student set name = "miku", score = 93 where id = 2303;   --把学号为2303的名字改为“miku”,分数改为93

卸载sqlite linux,数据库,sqlite,linux

4.2.13 从数据表中提取指定行

select * from student limit 3;                       --从头开始提取3个记录
select * from student limit 3 offset 2;              --从第三位开始提取3个记录

卸载sqlite linux,数据库,sqlite,linux

4.2.14 数据表中添加新字段(列)

alter table student add column address char;           --将数据表中添加『地址(address)』字段

卸载sqlite linux,数据库,sqlite,linux

4.2.15 向数据表中一列添加相同数据

update student set address='beijing';                 --将表中地址字段全部设置为『beijing』

卸载sqlite linux,数据库,sqlite,linux

4.2.16 重新命名表

alter table student rename to student_new;            --将表名student改为student_new

卸载sqlite linux,数据库,sqlite,linux

4.2.17 把原来的表里面的需要的列复制到一个新表

create table student as select id,name,sex,age,score from student_new;        --把student_new数据表中的学号、姓名、性别、年龄、分数一栏复制到新建数据表student中

卸载sqlite linux,数据库,sqlite,linux

4.2.18 删除记录

delete from student where id=2305;                  --删除学号为2305的记录

卸载sqlite linux,数据库,sqlite,linux

4.2.19 删除整个数据表

drop table student;

卸载sqlite linux,数据库,sqlite,linux

4.2.20 删除一列数据

SQLite3不支持直接删除一列数据,可通过4.2.17的方式新建一个表,再把除要删除之外的其它列复制到新表中,然后采用4.2.19的方式删除旧数据表,最后采用4.2.16的方式将新数据表重命名为原来的名字,也能达到删除一列数据的效果。

写在最后

以上只是笔者本人列出的关于SQLite的比较常用的命令,属于入门级别,SQLite数据库虽小,但功能是很强大的,还有很多的功能亟待我们解锁。
整理过程中参考了一些其它老师的书或文章,在此表示感谢!如果本文有任何错误之处,还望指出!非常感谢!


参考书籍及文章

[1] [美]Grant Allen,Mike Ovens《SQLite权威指南》(第二版),杨谦 刘义宣 谢志强译,电子工业出版社;
[2] SQLite数据库 简介、特点、优势、局限性及使用 网页链接
[3] 百度百科;
[4] linux下sqlite安装及基本使用 网页链接
[5] 菜鸟教程 SQLite教程;
[6] ./configure –prefix 命令用法 网页链接
[7] Linux下Sqlite3数据库操作 网页链接文章来源地址https://www.toymoban.com/news/detail-774045.html

到了这里,关于SQLite3数据库在Linux下的安装+卸载+基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sqlite3数据库的实现

    sqlite3代码实现数据库的插入、删除、修改、退出功能

    2024年02月12日
    浏览(62)
  • SQlite3数据库相关相关命令

    1. 创建表格 2. 插入数据 3. 查看数据库记录 4. 删除信息 5. 更新数据 6. 增加一列 7. 删除一列 (sqlite3 不支持直接删除一列) 1. 打开数据库 2. 关闭数据库 3. 错误信息 4. 执行一条sql语句 5. 查询回调函数 6. 查询函数 小知识:如果结构体中定义的是一级指针,那么你要定义变量取

    2024年02月16日
    浏览(54)
  • sqlite3将词典导入数据库

    使用sqlite3代码实现将词典导入数据库中

    2024年02月12日
    浏览(59)
  • 【嵌入式数据库之sqlite3】

    目录 一.数据库基本概念(理解) 1.数据 2.数据库 二.常用的数据的数据库(了解) 1.大型数据库 2.中型数据库 3.小型数据库 三.基于嵌入式的数据库(了解) 四.SQLite基础(了解) 五.创建数据库(熟练) 1.手工创建 2.代码创建 六.SQLite编程接口 七.代码示例(学生管理系统) 八

    2024年02月09日
    浏览(58)
  • 嵌入式数据库之sqlite3

            数据:能够输入计算机并能被计算机程序识别和处理的信息集合。         数据库:数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。 1.大型数据库         Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作

    2024年02月10日
    浏览(58)
  • SQLite3数据库的介绍和使用(面向业务编程-数据库)

    SQLite是一种用C语言实现的的SQL数据库 它的特点有:轻量级、快速、独立、高可靠性、跨平台 它广泛应用在全世界范围内的手机电脑应用的内建数据库 官网地址:https://www.sqlite.org/index.html SQLite因为其采用文件存储,且容易移植。在嵌入式中应用非常广泛,可以说是嵌入式业

    2024年02月02日
    浏览(51)
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第八天-Linux sqlite3数据库(物联技术666)

       更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客 物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件

    2024年01月25日
    浏览(65)
  • 【C++】开源:sqlite3数据库配置使用

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍sqlite3数据库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 项目Github地址: https://github.com/sqlite/sqlite SQLite 是一种嵌入式

    2024年02月14日
    浏览(57)
  • 用于将Grafana默认数据库sqlite3迁移到MySQL数据库

    以下是一个方案,用于将Grafana数据迁移到MySQL数据库。 背景: grafana 默认采用的是sqlite3,当我们要以集群形式部署的时使用mysql较为方便,试了很多sqlite转mysql的方法要么收费,最后放弃。选择自己动手风衣足食。 目标: 迁移sqlite3切换数据库到mysql 前提条件: 确保你已经安装了

    2024年02月20日
    浏览(63)
  • 10.1 嵌入式数据库之sqlite3

    【1】数据库    1, 数据库的安装        sudo dpkg -i  *.deb    2, 数据库命令:       1)系统命令 , 都以\\\'.\\\'开头          .exit           .quit          .table   查看表          .schema  查看表的结构                  2)sql语句, 都以‘;’结尾         1-- 创建一张表

    2024年02月12日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包