>>> from env_helper import info; info()
页面更新时间: 2024-01-18 10:12:55
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-17-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

2.2. SQLite数据库

SQLite是遵守ACID的轻量型数据库管理系统,其核心是由相对较少的 C 代码实现的, 具有简单、稳定、易于使用和真正的轻量级特点。

每个 SQLite 数据库是一个简单文件,用户可以方便地复制、压缩, 并通过网络进行传输与交换。 SQLite 程序是跨平台的,其数据库文件也是跨平台的, 所以在 Windows 、 Linux , MacOS 等平台中都得到了广泛的应用。

由于 SQLite 的强大功能与嵌入式设计, 被集成到许多系统与平台中,在 Python 2.5 及以上版本中就默认带了 SQLite 模块。

它是D.RichardHipp建立的公有领域项目。 它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它, 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。 它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合, 比如 Tcl、C#、PHP、Java等,还有ODBC接口, 同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

2.2.1. 优点

  • ACID事务

  • 零配置 – 无需安装和管理配置

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

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

  • 支持数据库大小至2TB

  • 足够小, 大致13万行C代码, 4.43M

  • 比一些流行的数据库在大部分普通数据库操作要快

  • 简单, 轻松的API

  • 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定

  • 良好注释的源代码, 并且有着90%以上的测试覆盖率

  • 独立: 没有额外依赖

  • 源码完全的开源, 你可以用于任何用途, 包括出售它

  • 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等

2.2.2. 数据类型

SQLite允许忽略数据类型, 但是最好事先声明数据类型。

常见的数据类型:

  • VARCHAR(M)是一种比 CHAR 更加灵活的数据类型,用于表示字符数据。

  • NVARCHAR(n) 包含 n 个字符的可变长度 Unicode 字符数据。 n 的值必须介于 14,000 之间。字节的存储大小是所输入字符个数的两倍。

  • TEXT 字符串文本。

  • INTEGER 带符号的整型,具体取决有存入数字的范围大小。

  • FLOAT 32位元的实数。

  • BOOLEAN 是bit类型(长度为1)内容可以是0,1.但是数据在页面返回的是true,false。

  • CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。

  • BLOB 二进制对象。

2.2.3. 常用函数

  • SQLite COUNT 函数 SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。

  • SQLite MAX 函数 SQLite MAX 聚合函数允许我们选择某列的最大值。

  • SQLite MIN 函数 SQLite MIN 聚合函数允许我们选择某列的最小值。

  • SQLite AVG 函数 SQLite AVG 聚合函数计算某列的平均值。

  • SQLite SUM 函数 SQLite SUM 聚合函数允许为一个数值列计算总和。

  • SQLite RANDOM 函数 SQLite RANDOM 函数返回一个介于 -9223372036854775808+9223372036854775807 之间的伪随机整数。

  • SQLite ABS 函数 SQLite ABS 函数返回数值参数的绝对值。

  • SQLite UPPER 函数 SQLite UPPER 函数把字符串转换为大写字母。

  • SQLite LOWER 函数 SQLite LOWER 函数把字符串转换为小写字母。

  • SQLite LENGTH 函数 SQLite LENGTH 函数返回字符串的长度。

  • SQLite sqlite_version 函数 SQLite sqlite_version 函数返回 SQLite 库的版本。

2.2.4. 安装

目前,几乎所有版本的 Linux 操作系统都附带 SQLite。所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。

SQLite 有命令行版本,可以独立使用。在Python 中使用 SQLite 的功能不必安装 SQLite 命令行工具。 实际上,SQLite 有核心的库,Python 接口与命令行界面都是对外的接口。

安装后通过以下命令测试:

>>> !sqlite3 --version
3.40.1 2022-12-28 14:03:47 df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f3alt1

在 Python 中通过以下语句:

>>> import sqlite3 ; sqlite3.version
'2.6.0'

sqlite3.version 的版本是 Python 中 sqlite3 模块的版本,与系统中 SQLite 3 数据库应用的版本不一样。