>>> 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的值必须介于1与4,000之间。字节的存储大小是所输入字符个数的两倍。TEXT字符串文本。INTEGER带符号的整型,具体取决有存入数字的范围大小。FLOAT32位元的实数。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 数据库应用的版本不一样。