SQLite 及其使用
SQLite 简介
SQLite 是一个进程库,实现了一个「自包含的,无服务器,零配置,事务性的」 SQL 数据库引擎。SQLite 的代码在公共领域,因此可以免费用于任何目的,无论是商业目的还是私人目的。SQLite 是世界上部署最广泛的数据库。
SQLite 是「嵌入式」 SQL 数据库引擎。与大多数其他 SQL 数据库不同,SQLite 「没有单独的服务器进程」。SQLite 直接读取和写入普通磁盘文件。具有多个表,索引,触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。
❝
参考:SQLite中文文档 [https://www.sqlite.net.cn/index.html]
❞
SQLite的主要局限
SQLite不支持的 SQL92 特性如下表所示:
特性 | 描述 |
---|---|
ALTER TABLE |
支持RENAME TABLE 和ALTER TABLE 的ADD COLUMN variants 命令,不支持DROP COLUMN 、ALTER COLUMN 、ADD CONSTRAINT 。 |
Trigger支持 | 支持FOR EACH ROW 触发器,但不支持FOR EACH STATEMENT 触发器。 |
VIEWs | 在 SQLite 中,视图是只读的。您不可以在视图上执行DELETE 、INSERT 或UPDATE 语句。 |
GRANT 和REVOKE |
可以应用的唯一的访问权限是底层操作系统的正常文件访问权限。 |
曾经关于 JOIN 的局限在最新版中不再存在,已经支持 FULL 和 RIGHT 连接。更多局限参见“示例代码的 SQLite 实现”中的部分。
安装
以 Windows 10 64 位操作系统为例。
-
访问[https://www.sqlite.org/download.html]SQLite下载页面; -
找到名为[Precompiled Binaries for Windows]的节; -
下载名为[sqlite-tools-win32-x86-*******.zip]的文件;
❝
注意:不要下载错为不带 tools 的文件,这些文件仅为动态链接库,供应用程序内调用。正确的下载链接后有【A bundle of command-line tools for managing SQLite database files, including the command-line shell program, the sqldiff.exe program, and the sqlite3_analyzer.exe program.】的说明。
❞
-
解压压缩包内的三个文件,打开终端,输入以下命令:
>cd <解压缩的地址>
>sqlite3
如果出现以下提示,则安装并启动成功
SQLite version 3.39.0 2022-06-25 14:57:57
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
❝
环境变量配置和其他操作系统安装方法参见:[https://www.runoob.com/sqlite/sqlite-installation.html]
❞
启动与命令
❝
SQLite 语句可以以任何关键字开始,如
SELECT
、INSERT
、UPDATE
、DELETE
、ALTER
、DROP
,所有语句以分号“;”结束。-- [https://www.runoob.com/sqlite/sqlite-syntax.html]❞
SQLite 内,命令以“.”开头,语句以“;”结尾。SQLite 以文件形式存储数据库,打开数据库有两种方法。
从终端中使用命令打开:
>sqlite3 <数据库文件名>
在 SQLite 中使用命令打开:
sqlite> .open <数据库文件名>
在以上两种方法打开数据库文件时,文件默认是在“sqlite3.exe”同目录下的。如果不存在,将创建一个新的数据库文件。如果需要删除数据库,使用“Windows资源管理器”操作或者在终端中使用del
命令。
如果从终端打开 SQLite 时不指定数据库文件名,SQLite 将使用临时的内存数据库。在退出 SQLite 后,其中的数据将不被保存。
退出 SQLite 请使用“ctrl + c”通用快捷键或者使用.quit
命令。
Shell 交互与 SQL 文件执行
❝
参考Command Line Shell For SQLite:[https://www.sqlite.org/cli.html]
❞
对于简单的SQL语句,可以通过命令行交互的方式直接在命令行中输入、执行和查看执行结果。也可以通过.read
命令读取“.sql”文件执行。
文章评论