原创

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

正文到此结束
本文目录