SQlite数据库的使用记录
SQLite 是一个 C 语言库,它实现了一个 小型、 快速、 自包含、 高可靠性、 全功能的 SQL 数据库引擎。SQLite 是世界上使用最广泛的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中
在使用SQLite过程中,一直有个疑惑SQLite最多能存储多少数据?在一番检索后发现SQLite的一些限制:
单行数据最大存储:10 亿字节≈953MB
单表最大列数:2000列(最好不超过100列)
单条执行sql语句长度:10 亿字节≈953MB
最多支持表数量:20 亿张表
最大数据库大小: 281 TB
SQLite是一种嵌入式数据库引擎,具有以下特点:
- 零配置:SQLite不需要独立的服务器进程或配置文件,数据库以单个文件的形式存储在主机文件系统中。
- 无服务器:SQLite不需要独立的服务器进程,应用程序可以直接访问数据库文件。
- 轻量级:SQLite的代码库非常小巧,适用于嵌入式设备和资源受限的环境。
- 支持标准SQL:SQLite支持标准的SQL语法和查询语句,可以进行常见的数据库操作。
- 可嵌入性:SQLite可以嵌入到应用程序中,无需单独安装和配置。
SQLite适用于以下场景:
- 嵌入式设备:由于SQLite的轻量级和无服务器特性,它非常适合用于嵌入式设备,如移动设备、物联网设备等。
- 小型应用程序:对于小型的桌面应用程序或移动应用程序,SQLite提供了一个简单而高效的数据库解决方案。
- 原型开发:在开发过程中,使用SQLite可以快速搭建原型数据库,方便进行功能测试和验证。
1、SQLite是否支持网络访问?
SQLite是一种本地文件数据库,它并没有内置的网络访问功能。在典型的情况下,SQLite数据库通常被直接嵌入到应用程序中,通过本地文件系统进行读写操作。
如果你希望其他人能够访问你的SQLite数据库,有几种常见的方法可以实现:
- 服务器端数据库:将SQLite数据库迁移到一个支持网络访问的数据库服务器上,如MySQL、PostgreSQL或Microsoft SQL Server。这样,其他人可以通过网络连接到服务器并访问数据库。你可以将现有的SQLite数据库转换为所选数据库服务器的格式,并将其导入到服务器上。
- Web服务/API:创建一个Web服务或API来访问SQLite数据库。你可以编写服务器端代码,通过网络接收查询请求,并将其转发到SQLite数据库进行处理。然后将结果返回给客户端。这样,其他人可以通过HTTP请求向你的Web服务或API发送查询请求,并获取相应的数据。
- 文件共享:虽然你提到过文件共享是局域网的解决方案,但在某些情况下,你可以通过配置合适的网络共享设置来实现广域网访问。你可以将SQLite数据库文件存储在共享文件夹中,然后在网络上的其他计算机上访问该共享文件夹。但需要注意,广域网上的访问可能受到网络配置和安全性的限制。
2、Python访问SQLite的便捷点
Python作为一种流行的编程语言,内置了多种用于操作数据库的库,其中之一就是SQLite。SQLite是一种轻量级的关系型数据库管理系统,它在Python中的应用非常广泛。
SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置。SQLite3支持SQL语句,对数据库的操作简单高效。因此,SQLite3非常适用于小型项目和单机应用程序,是Python开发中常用的数据库解决方案之一,能为程序提供完整的数据库解决方案。
创建SQLite数据库
import sqlite3
由于Python内置了SQLite3,不需要安装任何东西。接下来,需要创建数据库和与文件的连接。
db = sqlite3.connect('db.sqlite3')
上面的代码分配了两个变量,第一个变量db调用了sqlite3.connect,它会连接到文件,这里在括号内告诉Python我们想要命名数据库。
cursor变量设置为db.cursor(),Python使用它来读取和写入数据库文件表。
然后需要实际创建表,可以通过以下代码来完成:
cursor.execute(''' CREATE TABLE IF NOT EXISTS contacts( id INTEGER PRIMARY KEY, firstName TEXT, lastName TEXT, age TEXT, address TEXT, jobTitle TEXT)''') db.commit()
解释一下上面的代码: