SQLite命令行交互

SQLite主要是通过API接口提供不同语言的开发使用,例如 Ruby on Rails 默认内置SQLite作为无需配置的数据库进行开发,在 Rails快速起步 中,通过非常简单的module就可以对数据库进行增删改查操作。

为了能够配合开发过程的数据检查,虽然我们可以通过API开发简单的查询和简单,但是命令行方式交互,也不失为运维验证的手段。所以,SQLite也提供了常规的命令行交互,方便完成基本运维。

sqlite3

sqlite3 是访问和处理SQLite 数据库文件的简单命令行工具。

  • sqlite3 数据库名 可以打开指定文件名的数据库,如果这个数据库文件不存在,则会自动创建这个新数据库文件

备注

以下实践以 Rails快速起步 案例中已经生成的数据库文件 storage/development.sqlite3 为例

这里假设已经按照 Rails快速起步 完成了第一条记录插入(通过Rails的console交互对象,向 tweet 对象,也就是数据库表 tweets 插入了数据)

  • 打开数据库 sqlite3 storage/development.sqlite3 :

sqlite3打开数据库
sqlite3 storage/development.sqlite3

此时提示信息有一个help提示,表示输入 .help 能够看到帮助

sqlite3打开数据库时提示
SQLite version 3.32.3 2020-06-18 14:16:19
Enter ".help" for usage hints.
sqlite>

备注

sqlite3 使用 . 开头表示交互命令,所有命令可以先通过 .help 查看命令列表,再一点点查看具体帮助

插入数据

Rails快速起步 中,使用Rails的models对象创建的 tweets 默认就添加了 created_atupdated_at 字段,而且当使用Rails的model对象操作时,无需手工指定时间戳就能够自动添加当前时间。

但是,需要注意到,如果同样使用 sqlite3 交互命令插入数据库记录,则 created_atupdated_at 是需要人为提供时间戳的,否则会提示错误

参考