sqlite3 简介
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 2015年,SQLite也迎来了一个版本 SQLite 3已经发布。
特点
- small (小巧,占用内存少)
- fast (快)
- self-contained (自包含,基本不依赖别的库)
- high-reliability (可靠)
- full-featured (功能全面)
另外,不同于别的数据库,sqlite3 没有服务进程。不像 mysql 需要启动mysqld 服务进程。
不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的
sqlite3 命令行
安装好sqlite3 之后,在linux 命令行中输入sqlite3 ,进入sqlite3的命令行模式。
root@172:/# sqlite3
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
- 1
- 2
- 3
- 4
- 5
- 6
sqlite3 命令行模式,特点:
- 命令都是由 ‘.’ (点号)开始
- sql 语句必须由 ‘;’ (分号)结束
正常情况下命令行上是 sqlite> 开头的,
如果你不小心进入了 …> 的状态,像这样 :
Use ".open FILENAME" to reopen on a persistent database.
sqlite> dfdf
...> dfdf
...> dfdf
...>
- 1
- 2
- 3
- 4
- 5
这个时候需要输入;号来结束。这样就可以回到 sqlite> 状态
查看数据内容
1.打开db文件: .open
sqlite> .open xxx.db
- 1
2.列出所有表: .tables
sqlite> .tables
acl_group acl_user
- 1
- 2
- 3
3.查看表结构: .schema
sqlite> .schema
CREATE TABLE acl_group (description TEXT, id INTEGER PRIMARY KEY, name varchar(200));
CREATE TABLE acl_user (id INTEGER PRIMARY KEY, name varchar(50), description varchar(180), md5_password varchar(50), extension varchar(20));
- 1
- 2
- 3
4.查看表数据:select * from table_name ;
sqlite> select * from acl_user;
101|101|101|14f17d7a54e461dcead21af9c11ef012|101
102|102|102|eaf84bb6226d7761a5cf78f67a98af79|102
- 1
- 2
- 3
优化显示:
sqlite> .header on
sqlite> .mode column
sqlite> select * from acl_user;
id name description md5_password extension
---------- ---------- ----------- -------------------------------- ----------
101 101 101 14f17d7a54e461dcead21af9c11ef012101
102 102 102 eaf84bb6226d7761a5cf78f67a98af79102
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
了解更多:SQLite 创建表 | 菜鸟教程