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>
sqlite3 命令行模式,特点:
- 命令都是由 ‘.’ (点号)开始
- sql 语句必须由 ‘;’ (分号)结束
正常情况下命令行上是 sqlite> 开头的,
如果你不小心进入了 …> 的状态,像这样 :
Use ".open FILENAME" to reopen on a persistent database.
sqlite> dfdf
...> dfdf
...> dfdf
...>
这个时候需要输入;号来结束。这样就可以回到 sqlite> 状态
查看数据内容
1.打开db文件: .open
sqlite> .open xxx.db
2.列出所有表: .tables
sqlite> .tables
acl_group acl_user
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));
4.查看表数据:select * from table_name ;
sqlite> select * from acl_user;
101|101|101|14f17d7a54e461dcead21af9c11ef012|101
102|102|102|eaf84bb6226d7761a5cf78f67a98af79|102
优化显示:
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2013-10-25 c++ new长度为0的数组
2013-10-25 如何在IE8下调试OCX控件
2013-10-25 IE8 多进程问题
2012-10-25 JavaScript 操作 COM 控件
2012-10-25 引入js文件标签中的属性for ,event 用法
2012-10-25 mfc在控制多显示器的使用方法