用于操作SQLite数据库的CLI工具和Python库
项目描述
sqlite-utils
Python CLI工具和库,用于操作SQLite数据库。
一些功能亮点
- 管道JSON(或CSV或TSV)直接插入到新的SQLite数据库文件中,自动创建具有适当模式的表
- 运行内存中的SQL查询,包括连接,直接针对CSV、TSV或JSON文件中的数据,并查看结果
- 配置SQLite全文搜索,针对您的数据库表运行搜索查询,按相关性排序
- 运行表格转换,以进行SQLite
ALTER TABLE
不直接支持的架构更改,例如更改列的类型 - 提取列到单独的表中,以更好地规范化现有数据
- 安装插件以添加自定义SQL函数和附加功能
在我的博客上了解更多信息,包括关于sqlite-utils的新功能的这一系列文章 sqlite-utils中的新功能 和其他 标记为sqliteutils的条目。
安装
pip install sqlite-utils
或者如果您使用macOS的 Homebrew
brew install sqlite-utils
作为CLI工具使用
现在您可以使用CLI工具执行如下操作
$ sqlite-utils memory dogs.csv "select * from t"
[{"id": 1, "age": 4, "name": "Cleo"},
{"id": 2, "age": 2, "name": "Pancakes"}]
$ sqlite-utils insert dogs.db dogs dogs.csv --csv
[####################################] 100%
$ sqlite-utils tables dogs.db --counts
[{"table": "dogs", "count": 2}]
$ sqlite-utils dogs.db "select id, name from dogs"
[{"id": 1, "name": "Cleo"},
{"id": 2, "name": "Pancakes"}]
$ sqlite-utils dogs.db "select * from dogs" --csv
id,age,name
1,4,Cleo
2,2,Pancakes
$ sqlite-utils dogs.db "select * from dogs" --table
id age name
---- ----- --------
1 4 Cleo
2 2 Pancakes
您可以像这样将JSON数据导入新的数据库表中
$ curl https://api.github.com/repos/simonw/sqlite-utils/releases \
| sqlite-utils insert releases.db releases - --pk id
或者对于CSV文件中的数据
$ sqlite-utils insert dogs.db dogs dogs.csv --csv
sqlite-utils memory
允许您将CSV或JSON数据导入内存数据库,并使用单个命令对其执行SQL查询
$ cat dogs.csv | sqlite-utils memory - "select name, age from stdin"
查看 完整的CLI文档,了解更多命令的全面介绍。
作为库使用
您还可以导入 sqlite_utils
并像这样将其用作Python库
import sqlite_utils
db = sqlite_utils.Database("demo_database.db")
# This line creates a "dogs" table if one does not already exist:
db["dogs"].insert_all([
{"id": 1, "age": 4, "name": "Cleo"},
{"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
查看 完整的库文档,了解您可以使用Python库执行的所有操作。
相关项目
- Datasette: 一个用于探索和发布数据的工具
- csvs-to-sqlite: 将CSV文件转换为SQLite数据库
- db-to-sqlite: 将MySQL或PostgreSQL数据库导出为SQLite文件的CLI工具
- dogsheep: 一系列用于个人分析的工具,基于
sqlite-utils
构建
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
sqlite_utils-3.37.tar.gz (212.0 kB 查看哈希值)
构建分布
sqlite_utils-3.37-py3-none-any.whl (67.7 kB 查看哈希值)
关闭
sqlite_utils-3.37.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 542a71033d4e7936fe909230ac9794d3e200021838ab63dbaf3ce8f5bc2273a4 |
|
MD5 | 23c2f30da5a594bb3aec160c8f52a1e8 |
|
BLAKE2b-256 | 65c5a16a5d3f5f64e700a77de3df427ce1fcf5029e38db3352e12a0696448569 |
关闭
sqlite_utils-3.37-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4fb0dc9e61b1f9226a14eb1f072e984cf3cb69058dc2838887600a0771e9624f |
|
MD5 | d970b55e7cdc5233adcdf3cd23982787 |
|
BLAKE2b-256 | b5372566f7952b512c7bc54859be73b29270791c6893ce0ef97dcf91cba3c775 |