SQLite数据库使用说明
SQLite是一个开源的嵌入式关系数据库引擎,它像Mysql和PostgreSQL一样支持SQL语法,但是又不需要单独安装和启动独立的服务进程,可以直接嵌入到应用程序去使用。SQLite将所有数据都存储在一个文件中,无需配置,且跨平台支持,在物联网设备、移动应用和游戏等方面的本地存储有广泛的应用。
一、下载SQLite
SQLite官网地址:https://www.sqlite.org/
SQLite GitHub地址:https://github.com/sqlite/sqlite
SQLite官方下载页面:https://www.sqlite.org/download.html

1.Windows系统安装SQLite
SQLite提供了预编译的二进制包,我们直接下载就可以使用。
首先访问SQLite的官方下载页面,我们选择Windows的x64版本下载:

下载后文件sqlite-tools-win-x64-3530400.zip,直接解压就可以使用了。
解压后文件内容如下:

其中sqlite3.exe是核心命令行工具,用来管理数据库,sqldiff.exe可以用来做数据库差异比对,sqlite3_analyzer.exe可以用来做数据库结构和空间分析,sqlite3_rsync.exe可以用来远程增量同步数据。
2.Linux系统安装SQLite
linux系统安装,我们可以选择直接在官方下载编译好的二进制包,或者使用yum安装管理SQLite:
yum install -y sqlite3 不过yum安装的版本一般会比官方的最新版本要低,比如我们Centos7安装的SQLite版本就是3.7.17。
我们可以使用sqlite3 --version查看版本信息:

二、SQLite命令行使用方法
1.进入命令行窗口
因为我们临时测试没有配置环境变量,所以需要跳转到下载文件的目录去执行下面命令进入命令行:
sqlite3 
2.创建数据库
可以看到红字提示我们在一个临时的内存数据库中,需要通过.open命令创建或者打开一个本地数据库,我们来创建一个测试数据库:
.open test.db 
可以看到当输入完命令之后,在对应文件夹中就创建了一个数据库文件了,接下来就可以在这个数据库中操作了。
也可以在进入命令行窗口的时候直接打开或者创建数据库:
sqlite3 test.db 
注:如果这个文件已经存在,SQLite会打开这个数据库;如果文件不存在,SQLite会创建一个新的数据库。
3.退出命令行窗口
在SQLite命令行中,一般使用点.开头的管理命令管理数据,退出命令如下:
.exit 其他常用命令:
- .help:查看所有命令。
- .databases:显示当前连接的数据库文件路径。
- .tables:显示数据库中所有表。
- .mode:显示数据格式。
- .dump:导出数据库为SQL脚本。
- .read:执行SQL脚本。
- .schema:查看指定表的创建语句。
- .stats:显示统计信息。

三、SQLite中执行SQL语句
创建表:
create table test(id int,name text); 插入数据:
insert into test values (1,'zhangsan'); 查询数据:
select * from test; 更新数据:
update test set name='lisi' where id=1; 删除数据:
delete from test where id=1; 删除表:
drop table test; 
四、SQLite特殊用法
1.将表中数据导出成CSV文件
SQLite可以将命令行显示的查询结果保存到文本文件中。
我们可以通过.mode调整需要的格式,然后通过.output或者.once将查询结果导出到对应文件中。
一般使用.once就可以,这个命令仅将下一次查询结果导出。
比如将test表中数据导出成csv文件,首先需要将输出模式调整成csv:
.mode csv 然后设置将下一次查询结果导出到test.csv文件中:
.once test.csv 最后执行查询语句,查询结果就导出到csv文件中了:
select * from test; 
注:导出文件默认在当前操作目录中。
.mode常用的显示格式参数:
- csv:逗号分隔值
- tabs:制表符分隔值
- list:竖线“|”分隔值
- json:标准json数组格式
- line:垂直列表展示,每行一个字段
- html:输出格式为html中table标签
- box:带外边框的unicode表格(默认格式)
- table:网格线表格

五、在编程语言中使用SQLite
1.在Python中使用SQLite
Python的标准库自带的sqlite3模块,使用的时候直接导入sqlite3模块就可以使用:
# 导入sqlite3
import sqlite3
# 创建数据库文件
conn = sqlite3.connect('test.db')
# 创建游标
cursor = conn.cursor()
# 建表
cursor.execute("""
create table if not exists test (
id int,
name text)
""")
# 插入数据
cursor.execute("insert into test values (?,?)", (1,'zhangsan'))
# 查询数据
cursor.execute("select name from test where id=?", (1,))
# 获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
# 提交事务
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
六、图形化工具管理SQLite
1.DBeaver
DBeaver是一个java开发的开源数据库管理工具,社区版可以免费使用,几乎可以管理市面上大部分数据库。
DBeaver官方下载地址:https://dbeaver.io/download/
连接的时候选择SQLite后选择对应的数据库文件就可以打开,DBeaver会自动下载驱动文件:

连接后可以在表名上双击查看数据,或者点击鼠标右键打开SQL控制台查询:

2.HeidiSQL
HeidiSQL是一款开源的数据库管理工具,其软件体积小,启动速度快,最初主要为Mysql管理设计,对Windows平台的支持很好,现在也支持PostgreSQL、SQLite等数据库管理。
HeidiSQL官网地址:https://www.heidisql.com/
HeidiSQL使用的时候网络类型处选择SQLite,然后选择已有的数据库文件或者创建新的数据库文件就可以连接:

连接成功后可以点击数据按钮查看表内数据,点击查询按钮使用SQL管理数据库:

扩展说明:
1.SQLite官方文档:https://www.sqlite.org/docs.html
- 本文标签: Other Python
- 本文链接: https://blog.eyyyye.com/article/150
- 版权声明: 本文由爱做梦的比特原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
