2018-07-13 20:56:21 -07:00
|
|
|
# sqlite-utils
|
2018-07-31 08:38:50 -07:00
|
|
|
|
|
|
|
|
[](https://pypi.org/project/sqlite-utils/)
|
|
|
|
|
[](https://travis-ci.com/simonw/sqlite-utils)
|
|
|
|
|
[](http://sqlite-utils.readthedocs.io/en/latest/?badge=latest)
|
|
|
|
|
[](https://github.com/simonw/sqlite-utils/blob/master/LICENSE)
|
|
|
|
|
|
2019-01-25 18:21:55 -08:00
|
|
|
Python CLI utility and library for manipulating SQLite databases.
|
|
|
|
|
|
2019-02-24 19:45:38 -08:00
|
|
|
Read more on my blog: [
|
|
|
|
|
sqlite-utils: a Python library and CLI tool for building SQLite databases](https://simonwillison.net/2019/Feb/25/sqlite-utils/)
|
|
|
|
|
|
2019-01-25 18:21:55 -08:00
|
|
|
Install it like this:
|
2018-07-31 08:38:50 -07:00
|
|
|
|
|
|
|
|
pip3 install sqlite-utils
|
|
|
|
|
|
2019-07-03 11:04:03 -07:00
|
|
|
Now you can do things with the CLI utility like this:
|
2019-01-25 18:21:55 -08:00
|
|
|
|
2019-02-22 18:12:53 -08:00
|
|
|
$ sqlite-utils tables dogs.db --counts
|
|
|
|
|
[{"table": "dogs", "count": 2}]
|
2019-01-25 18:21:55 -08:00
|
|
|
|
2019-02-22 17:53:48 -08:00
|
|
|
$ sqlite-utils dogs.db "select * from dogs"
|
|
|
|
|
[{"id": 1, "age": 4, "name": "Cleo"},
|
|
|
|
|
{"id": 2, "age": 2, "name": "Pancakes"}]
|
|
|
|
|
|
|
|
|
|
$ sqlite-utils dogs.db "select * from dogs" --csv
|
2019-01-25 18:21:55 -08:00
|
|
|
id,age,name
|
|
|
|
|
1,4,Cleo
|
|
|
|
|
2,2,Pancakes
|
|
|
|
|
|
2019-02-24 15:11:51 -08:00
|
|
|
$ sqlite-utils dogs.db "select * from dogs" --table
|
|
|
|
|
id age name
|
|
|
|
|
---- ----- --------
|
|
|
|
|
1 4 Cleo
|
|
|
|
|
2 2 Pancakes
|
|
|
|
|
|
2019-07-03 11:04:03 -07:00
|
|
|
Or you can import it and use it as a Python library like this:
|
|
|
|
|
|
|
|
|
|
```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")
|
|
|
|
|
```
|
|
|
|
|
|
2019-01-25 18:21:55 -08:00
|
|
|
Full documentation: https://sqlite-utils.readthedocs.io/
|
2018-07-31 08:38:50 -07:00
|
|
|
|
|
|
|
|
Related projects:
|
|
|
|
|
|
|
|
|
|
* [Datasette](https://github.com/simonw/datasette): A tool for exploring and publishing data
|
|
|
|
|
* [csvs-to-sqlite](https://github.com/simonw/csvs-to-sqlite): Convert CSV files into a SQLite database
|
2019-06-29 14:34:24 -07:00
|
|
|
* [db-to-sqlite](https://github.com/simonw/db-to-sqlite): CLI tool for exporting a MySQL or PostgreSQL database as a SQLite file
|