sqlite是一款运行在内存中的关系型数据库,使用方便无需额外的服务器部署配置,用于简单应用开发十分的便利。支持的部署平台有linux,windows,android,Mac OS X。
一、安装
下载地址:https://www.sqlite.org/download.html
以下演示windows系统上的安装过程:
![](https://i-blog.csdnimg.cn/blog_migrate/9f200ac4a588a2dbef00851d5a8a3a84.png)
安装sqlite-dll-win64-x64-3410100.zip(64位dll文件)和sqlite-tools-win32-x86-3410100.zip(命令行工具,可执行文件等)。
下载完成后,进行解压缩,并且在我的电脑属性里面配置环境变量,把sqlite的解压目录设置到path中。
二、常用命令
进入cmd中运行sqlite3即可进入sqlite数据库环境中,可以运行以下命令操作。
命令 | 描述 |
.backup ?DB? FILE | 备份 DB 数据库(默认是 "main")到 FILE 文件。 |
.databases | 列出数据库的名称及其所依附的文件。 |
.dump ?TABLE? | 以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。 |
.echo ON|OFF | 开启或关闭 echo 命令。 |
.exit | 退出 SQLite 提示符。 |
.help | 显示指令及帮助信息。 |
.import FILE TABLE | 导入来自 FILE 文件的数据到 TABLE 表中。 |
.load FILE ?ENTRY? | 加载一个扩展库。 |
.mode MODE | 设置输出模式,MODE 可以是下列之一:
|
.output FILENAME | 发送输出到 FILENAME 文件。 |
.output stdout | 发送输出到屏幕。 |
.quit | 退出 SQLite 提示符。 |
.read FILENAME | 执行 FILENAME 文件中的 SQL。 |
.schema ?TABLE? | 显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。 |
.show | 显示各种设置的当前值。 |
.stats ON|OFF | 开启或关闭统计。 |
.tables ?PATTERN? | 列出匹配 LIKE 模式的表的名称。 |
.timeout MS | 尝试打开锁定的表 MS 毫秒。 |
.timer ON|OFF | 开启或关闭 SQL执行时间显示。 |
sqlite_master 表格
主表中保存数据库表的关键信息,并把它命名为 sqlite_master。
三、sqlite类型
数据类型 | 亲和类型 | 描述 |
| INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
| TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
| BLOB | 值是一个 blob 数据,完全根据它的输入存储。 |
| REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
| NUMERIC | 值是一个数值类型,带有小数格式。 |
四、创建数据库
1、创建数据库
在sqlite目录下新建文件夹database。在此目录中运行cmd进去命令行操作。创建数据库文件会默认保存在此处。
$ sqlite3 DatabaseName.db
或者
sqlite>.open test.db
![](https://i-blog.csdnimg.cn/blog_migrate/44a9b05f262c9f6ec240e468ff864159.png)
2、转储数据库
①将完整的数据库内容导出在文本文件中。形成sql语句形式备份。
sqlite3 test.db .dump > XXX.sql
![](https://i-blog.csdnimg.cn/blog_migrate/e6a678b55a7cbf37dd275a34afd27439.png)
②从sql文件恢复文件原始数据库使用以下命令
sqlite3 test.db < XXX.sql
五、附加数据库
当关闭当前命名行,重新打开新命令行,输入sqlite3进入sqlite,运行.database命令。则不显示之前创建的数据库文件。
![](https://i-blog.csdnimg.cn/blog_migrate/8bb8367dff77be6942817ed4cb303713.png)
此时使用附加数据库可以找回之前创建的数据库文件。
语法格式:
ATTACH DATABASE file_name AS database_name;
![](https://i-blog.csdnimg.cn/blog_migrate/dce0b8eb2c81a4f49a9b1a90615cbc73.png)
在下方就可以看到最新附加的数据库文件信息。
3、分离数据库
SQLite 的 DETACH DATABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。
语法格式:
DETACH DATABASE 'Alias-Name';
![](https://i-blog.csdnimg.cn/blog_migrate/e7cd3c536f75a509e32fab50c4e3133a.png)