Sqlite3基本语句及安装过程

 更新时间:2025年06月25日 15:03:59   作者:潇洒小神仙  
SQLite3是轻量级嵌入式数据库,零配置无需服务器,数据存储于.db文件,支持基本SQL操作如创建表、查询、更新、删除,及where条件筛选,Ubuntu下可通过命令安装,常用指令包括.help、.tables等,本文给大家介绍Sqlite3基本语句,感兴趣的朋友一起看看吧

SQLite3简介

SQLite3是一款轻量级的、基于文件的开源关系型数据库引擎,由 D. Richard Hipp 于 2000 年首次发布。它遵循 SQL 标准,但与传统的数据库系统不同,SQLite 并不运行在独立的服务器进程中,而是作为一个嵌入式数据库引擎直接集成到应用程序中。其所有的数据结构(包括表、索引、事务日志等)都保存在一个单一的 .db 文件中。

SQLite 的设计理念是“零配置、开箱即用”,开发者只需将其动态库链接进应用程序,就可以直接进行数据库操作,无需安装数据库服务或进行网络配置。

SQLite3 是 SQLite 的第三个主要版本,相较前代有更强的兼容性和更完整的 SQL 支持,是目前最常用的版本。

sqlite3安装

ubunto下安装

sudo apt install sqlite3

sqlite命令

首先在中断输入sqlite3,获取命令清单时使用**.help**,红框中为部分sqlite命令

常用命令

1、 .exit:退出sqlite,.quit也可以退出
2、.headers ON|OFF:开启或关闭头部显示
3、.help:显示消息
4、.show:显示各种设置信息
5、.tables:显示数据库中存在的表
6、.schema 表名:显示创建表时的语句

sqlite语句

以任何关键字开始,以**;**结束。关键字不区分大小写

常用关键字

  1. SELECT
  2. INSERT
  3. UPDATA
  4. DELETE
  5. DROP

创建数据库

创建数据库语法:

sqlite3 DatabaseName.db

执行完该语句后,成功创建数据库文件后,会提供一个sqlite>提示符,此时还需要执行下面命令,如果不执行在退出sqlite后,用 ls 查看是没有数据库文件的

.databases

红框为没有执行.databases,查看是 没有test_db.db这个文件的

创建表

创建数据库表需要使用CREATE关键字,还需要定义表中的列,以及列的数据类型 可以选择是否需要约束

数据类型

存储类描述
NULL值是一个NULL值
INTEGER带符号整数
REAL浮点值
TEXT文本字符串,使用UTF-8,UTF-16BE, UTF-16LE存储
BLOBblol数据,完全根据他的输入存储

约束

  • NOT NULL:确保某列不能有空值(常用)
  • DEFAULT:当某列没有值时,提供默认值
  • UNIQUE:确保某列中的所有值不同
  • PRIMARY KEY:唯一标识数据库表中的各行记录(常用)
  • CHECK:确保某列中的所有值满足一定条件

PRIMARY KEY 约束唯一标识数据库表中的每个记录。在一个表中可以有多个 UNIQUE 列,但只能有一个主键。在设计数据库表时,主键是很重要的。主键是唯一的 ID。

创建语句

CREATE TABLE TableName (
	column1 datatype  PRIMARY KEY,
	column2 datatype,
	column3 datatype,
	......
	columnN datatype,
);

括号内的内容可以理解为:列名称 列的数据类型 和约束条件

例如:创建一个名为人员信息的表,存储姓名、年龄、性别、住址和联系方式,可以使用如下方式创建

CREATE TABLE perpolinfo(
	id  INTEGER PRIMARY KEY autoincrement NOT NULL,
	name TEXT NOT NULL,
	age INT NOT NULL,
	sex TEXT NOT NULL,
	address TEXT NOT NULL,
	phone TEXT NOT NULL,
);

INTEGER:表示数据类型是整形
PRIMARY KEY:表示id的数值唯一,不能出现重复值
autoincrement:表示id自增长,因此在写入数据时可以不写入id值
NOT NULL:表示这一列不能有空值出现,

删除表

DROP TABLE tablename

添加数据:

  • 方式1:

      INSERT INTO tablename (column1, column2, column3,...columnN)
      VALUES(value1, value2, value3,...valueN);

values中的值要与表的列对应

  • 方式2:

      INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

获取数据

获取全部数据

SELECT * FROM tablename;

获取某几列数据

SELECT column1, column2, columnN FROM table_name;

有选择的获取某些数据

使用where设置条件

SELECT column1, column2, columnN FROM table_name
WHERE [condition]

where语句中的条件可以使用比较逻辑运算符

  • 比较运算符

    运算符描述
    ==检查两个操作数是否相等
    =等于
    !=不等于
    >大于
    <小于
    >=大于等于
    <=小于等于
    !<不小于
    !>不大于
  • 逻辑运算符

    运算符描述
    AND
    OR
    EXISTS在满足一定条件的指定表中搜索行的存在
    IN把某个值与一系列指定列表的值进行比较,例如where id in (20,27)表示筛选id在20到27范围内的数据
    NOT ININ 运算符的对立面
    LIKE把某个值与使用通配符运算符的相似值进行比较
    NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等
    IS NULLNULL 运算符用于把某个值与 NULL 值进行比较
    ISIS 运算符与 = 相似
    IS NOTIS NOT 运算符与 != 相似
    UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性

有多个筛选条件时可以使用and或or

SELECT column1, column2, columnN  FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

where语句

上面提到的where可以用来筛选数据,所以where不仅可以与select联合使用,也可以与updata、delete语句联合使用

与AND一起使用

SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

AND链接的是多个筛选条件,有与的意思

与OR一起使用

SELECT column1, column2, columnN FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

OR 有或的意思

与like一起使用

LIKE 运算符是用来匹配通配符指定模式的文本值,这里有两个通配符与 LIKE 运算符一起使用:

  • 百分号 %,代表零个、一个或多个数字或字符。
  • 下划线 _,代表一个单一的数字或字符。

这些符号可以被组合使用
语法

SELECT column_list FROM table_nameWHERE column LIKE 'XXXX%'
xxxx表示任意字符串

与IN一起使用

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);

更新数据

可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

删除数据

可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。

DELETE FROM table_name WHERE [condition];

统计个数

SELECT COUNT(column_name)
FROM   table_name
WHERE  CONDITION;

到此这篇关于Sqlite3基本语句的文章就介绍到这了,更多相关sqlite3基本语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQLite 实现if not exist 类似功能的操作

    SQLite 实现if not exist 类似功能的操作

    这篇文章主要介绍了SQLite 实现if not exist 类似功能的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

    SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

    本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用BLOB存储,辅以压缩和故障安全机制,适合资源受限的嵌入式系统,对SQLite3存储文件相关知识感兴趣的朋友一起看看吧
    2025-06-06
  • SQLite字符串比较时的大小写问题解决方法

    SQLite字符串比较时的大小写问题解决方法

    这篇文章主要介绍了SQLite字符串比较时的大小写问题解决方法,本文总结了比较字符串时的大小写问题的3种解决方案,需要的朋友可以参考下
    2015-03-03
  • SQLite 入门教程四  增删改查 有讲究

    SQLite 入门教程四 增删改查 有讲究

    增删改查操作,其中增删改操作被称为数据操作语言 DML,相对来说简单一点。 查操作相对来说复杂一点,涉及到很多子句,所以这篇先讲增删改操作,以例子为主,后面再讲查操作
    2013-12-12
  • Sqlite数据库里插入数据的条数上限是500

    Sqlite数据库里插入数据的条数上限是500

    sqlite每次只能插入的数据不能超过500条数据,大家在使用的时候需要注意一下。
    2015-04-04
  • UniApp集成SQLite数据库的完整方法步骤

    UniApp集成SQLite数据库的完整方法步骤

    在uni-app中集成SQLite,可以实现离线数据存储,例如在物资管理APP中存储商品信息、出入库记录等,这篇文章主要介绍了UniApp集成SQLite数据库的相关资料,需要的朋友可以参考下
    2026-04-04
  • SQLite教程(三):数据表和视图简介

    SQLite教程(三):数据表和视图简介

    这篇文章主要介绍了SQLite教程(三):数据表和视图简介,本文讲解了创建数据表、表的修改、表的删除、创建视图、删除视图等内容,需要的朋友可以参考下
    2015-05-05
  • SQLite教程(二):C/C++接口简介

    SQLite教程(二):C/C++接口简介

    这篇文章主要介绍了SQLite教程(二):C/C++接口简介,本文讲解了C/C++接口概述、核心对象和接口、参数绑定等内容,需要的朋友可以参考下
    2015-05-05
  • SQLite高手晋级教程:调试与性能优化以及常见问题

    SQLite高手晋级教程:调试与性能优化以及常见问题

    SQLite 是一个轻量级的数据库,广泛用于各种应用中,包括移动应用和嵌入式系统,尽管它非常灵活和强大,但在处理大规模数据或高并发请求时,性能优化变得非常重要,本篇文章将重点讲解 SQLite 的调试工具和性能优化技巧,以帮助您解决常见问题并进一步提升数据库性能
    2025-03-03
  • sqlite3自动插入创建时间和更新时间的功能实现

    sqlite3自动插入创建时间和更新时间的功能实现

    最近在记录一些简单的结构化日志信息时,用到了sqlite3数据库(保存的信息比较简单,用Mysql,SQL Server,Postgres这些数据库有点小题大做),这次使用,希望sqlite3也能提供几个基本的功能,自动插入创建时间和更新时间,需要的朋友可以参考下
    2024-06-06

最新评论