简介
- sqlite3 理论知识相关笔记
SQLite 简介
SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制
什么是SQLite
- SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。
- 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件
为什么要用SQLite
- 不需要一个单独的服务器进程或操作的系统(无服务器的)。
- SQLite 不需要配置,这意味着不需要安装或管理。
- 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
- SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
- SQLite 是自给自足的,这意味着不需要任何外部的依赖。
- SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
- SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
- SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
- SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
SQLite 命令
- 与关系数据库进行交互的标准 SQLite 命令类似于 SQL。命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。这些命令基于它们的操作性质可分为以下几种:
- DDL - 数据定义语言
- CREATE : 创建一个新的表,一个表的视图,或者数据库中的其他对象。
- ALERT : 修改数据库中的某个已有的数据库对象,比如一个表。
- DROP : 删除整个表,或者表的视图,或者数据库中的其他对象。
- DML - 数据操作语言
- INSERT : 创建一条记录
- UPDATE : 修改记录
- DELETE : 删除记录
- DQL - 数据查询语言
- SELECT : 从一个或多个表中检索某些记录
SQLite 命令
- 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令。这些命令被称为 SQLite 的点命令,这些命令的不同之处在于它们不以分号 ; 结束。
- 如需获取可用的点命令的清单,可以在任何时候输入 “.help”。例如:
- sqlite>.help
- .backup ?DB? FILE
- 备份 DB 数据库(默认是 “main”)到 FILE 文件。
- .bail ON|
- OFF
- 发生错误后停止。默认为 OFF。
- .databases
- 列出数据库的名称及其所依附的文件。
- .dump ?TABLE?
- 以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。
- .echo ON|OFF
- 开启或关闭 echo 命令。
- .exit
- 退出 SQLite 提示符。
- .explain ON|OFF
- 开启或关闭适合于 EXPLAIN 的输出模式。如果没有带参数,则为 EXPLAIN on,即开启 EXPLAIN。
- .header(s) ON|OFF
- 开启或关闭头部显示。
- .help
- 显示消息。
- .import FILE TABLE
- 导入来自 FILE 文件的数据到 TABLE 表中。
- .indices ?TABLE?
- 显示所有索引的名称。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表的索引。
- .load FILE ?ENTRY?
- 加载一个扩展库。
- .log FILE|off
- 开启或关闭日志。FILE 文件可以是 stderr(标准错误)/stdout(标准输出)。
- .mode MODE
- 设置输出模式,MODE 可以是下列之一:
- csv 逗号分隔的值
- column 左对齐的列
- html HTML 的
- 设置输出模式,MODE 可以是下列之一: