浅用sqlite3(一)

最近工作接触到sqlite3了,于是用博客记录下,当然只是浅用哈!

参考资料:http://www.runoob.com/sqlite/sqlite-tutorial.html

概念:

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。

就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

SQLite 是在世界上最广泛部署的 SQL 数据库引擎。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)中运行。

命令:

与其它关系数据库差不多命令类似于 SQL。命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。

  1. DDL(数据定义语言): create 创建一个新的表,一个表的视图,或者数据库中的其他对象。  drop 修改数据库中的某个已有的数据库对象,比如一个表。   alter 删除整个表,或者表的视图,或者数据库中的其他对象。
  2. DML(数据操纵语言): delete 创建一条记录。 update 修改记录。  insert 删除记录。
  3. DQL(数据查询语言): select 从一个或多个表中检索某些记录。

安装:

在windows里其实不需要进行安装的,直接解压可用(哈哈,很方便吧!)

在官网http://www.sqlite.org/download.html      我们下载 sqlite-tools-win32-x86-3130000.zip  如下图。

然后以我电脑的为例:

在F盘创建一个文件夹sqlite3,将下载的文件解压,会有三个文件(sqlite3.exe  sqldiff.exe  sqlite3_analyzer.exe),直接放在sqlite3目录下就可以了,如下图。

运行: 一、直接点击sqlite3.exe即可

二、或者在CMD下切换到F盘的sqlite3文件夹也行

验证安装成功,直接在输入sqlite3,还可以看到当前的版本号。

命令:

如需获取可用的点命令的清单,可以在任何时候输入 ".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 的 <table> 代码
  • insert TABLE 表的 SQL 插入(insert)语句
  • line 每行一个值
  • list 由 .separator 字符串分隔的值
  • tabs 由 Tab 分隔的值
  • tcl TCL 列表元素
.nullvalue STRING 在 NULL 值的地方输出 STRING 字符串。
.output FILENAME 发送输出到 FILENAME 文件。
.output stdout 发送输出到屏幕。
.print STRING... 逐字地输出 STRING 字符串。
.prompt MAIN CONTINUE 替换标准提示符。
.quit 退出 SQLite 提示符。
.read FILENAME 执行 FILENAME 文件中的 SQL。
.schema ?TABLE? 显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。
.separator STRING 改变输出模式和 .import 所使用的分隔符。
.show 显示各种设置的当前值。
.stats ON|OFF 开启或关闭统计。
.tables ?PATTERN? 列出匹配 LIKE 模式的表的名称。
.timeout MS 尝试打开锁定的表 MS 微秒。
.width NUM NUM 为 "column" 模式设置列宽度。
.timer ON|OFF 开启或关闭 CPU 定时器测量。

用.show 命令,来查看 SQLite 命令提示符的默认设置

试例:

1.因为之前进入了sqlite3了,先用.quit退出sqlite 
2.再用sqlite3 Test.db加载或创建一个数据库 
3.然后用sql语句创建一个一张表user
4.然后又用.databases和.tables显示当前已建数据库及数据库中表

5.最后向数据表中分别有两种方式插入两条数据

用select命令查看添加的数据:

用.mode list|column|insert|line|tabs|tcl|csv   改变输出格式

用.headers on/off  显示表头 默认off

用.width 10,20,0设置.mode column中每个列的宽度,显示如下:

用.timer ON|OFF 开启sql运行耗时度量

更多可以参考:http://blog.csdn.net/linchunhua/article/details/7184439

哈哈,暂时这么多,其它多尝试下很多命令,还是很简单的!慢慢来了~

时间: 2024-08-02 09:49:31

浅用sqlite3(一)的相关文章

浅谈Linux下Makefile编写

浅谈Linux下Makefile的编写 前言:本文简要介绍Makefile文件的编写规范,结合具体项目中的应用进行讲解. 具体代码地址: https://github.com/AnSwErYWJ/DogFood/blob/master/Makefile 简介 Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作.而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关

浅谈 编译器 &amp; 自然语言处理

============================================== copyright: KIRA-lzn ============================================== 转载请注明出处,这篇是我原创,翻版必究!!!!!!!!!!!!!!!!!!! ============================================== 如果觉得写个好,请留个言,点个赞. 自我介绍:本人13届 USTC 研一学生,菜鸟一枚,目前在int

树莓派进阶之路 (028) - 树莓派SQLite3的安装

MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明.本文介绍的SQLite技巧也可以在其他平台使用,并不局限于树莓派. 安装 SQLite 1 sudo apt-get update 2 sudo apt-get install sqlite sqlite3 3 #如果需要的话还可以顺便安装 PHP 相关组件 4 sudo apt-get

python安装sqlite3模块

Python安装sqlite3 环境为Ubuntu16.04 Apache2.4 Python2.7.13 django 1.8 今天部署apache+django,经过各种折腾,好不容易配置完了,发现错误Apache的日志里有一项 ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 于是打开Python 测试

浅述实现系统高可用,常用的解决手段

所谓可用性,是指某系统能够提供正常服务的特性. 可用性的高低是使用不可用时间占总时间的比例来衡量.不可用时间是从故障发生到故障恢复的时间.比如,可用性 4 个 9 的系统(99.99%),它一年宕机时间不能超过53分钟(=365*24*60*(1-0.9999)).做到高可用系统,需要尽可能的降低故障发生的次数和减少故障持续的时间. 出现系统不可用的原因,一种是人为的,比如发布了有 bug 的代码.不规范的发布流程导致的宕机或者网站访问量过载造成的雪崩等:另一种则是非人为的,由于外部系统和环境的

adb命令详解(二)——手机缺失sqlite3时操作数据库的多种解决方案

在android应用开发无处不在SQLite数据库的身影.那么在开发中怎么使用adb命令操作数据库的功能呢? 下面我们将完整的介绍与数据库操作相关的命令集及当手机缺少sqlite3的时候的多种解决方案. 1.当手机缺失sqlite3时,如何操作数据库 先来看看手机缺失sqlite3时候的效果图: 这个时候你想操作刚刚编写应用程序中执行的数据库文件内容,显然是执行不了sql语句的.下面我们将介绍三种方法让你可以查看应用程序下的数据库文件: ㈠向手机导入sqlite3文件 ①第一步,下载sqlite

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

iOS 集合的深复制与浅复制

概念 对象拷贝有两种方式:浅复制和深复制.顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针:深复制是直接拷贝整个对象内存到另一块内存中. 一图以蔽之 再简单些说:浅复制就是指针拷贝:深复制就是内容拷贝. 集合的浅复制 (shallow copy) 集合的浅复制有非常多种方法.当你进行浅复制时,会向原始的集合发送retain消息,引用计数加1,同时指针被拷贝到新的集合. 现在让我们看一些浅复制的例子: NSArray *shallowCopyArray = [someArray cop

sqlite3命令备忘录之查看表结构

Android内置了sqlite数据库,程序开发中经常使用到,已安装的程序,如何通过adb查看以创建的表结构呢? 在android下通过adb shell命令可以进入sqlite3的命令行client,见:在android命令行下使用sqlite3. 如果想列出该数据库中的所有表,可:.table 如果想查看这些表的结构:select * from sqlite_master where type="table"; 认情况下,不会出现红框中的表头,需要之前设置,命令为:.header