专栏首页xcywt学习SQLite之路(一)

学习SQLite之路(一)

  工作快一年了,接触的东西不是很多,学到的东西也不多。无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试。

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

20160612 更新

1,什么是SQLite?

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库。

2.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)中运行

3.SQLite命令: 跟其他数据库语言一样

(1)DDL(数据定义语言): create  drop  alter

(2)DML(数据操纵语言): delete  update  insert

(3)DQL(数据查询语言): select

 4.SQLite的安装

在windows里不需要安装,在http://www.sqlite.org/download.html 这里下载 sqlite-tools-win32-x86-3130000.zip 这个东西。

我以我的为例:

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

运行: 运行cmd.exe 然后切换到F盘的sqlite3文件夹。就可以直接运行了。

20160614 更新

1.SQLite命令:我们在命令提示符下键入一个简单的 sqlite3 命令,在 SQLite 命令提示符下,您可以使用各种 SQLite 命令。

就像这样:

2.需获取可用的点命令的清单,可以在任何时候输入 ".help",再回车就可以。

3.查看 SQLite 命令提示符的默认设置:   .show

还可以进行设置:就像下面这样(具体可以参考: http://blog.csdn.net/wirelessqa/article/details/21030147  )

4.先说一个命令: 

.read  ***(一个数据文件)

比如说我在sqlite3目录下新建一个文档:  create_company.txt

里面的内容是:

drop table company; -- 删除表
create table company(  --  创建表  这个表示单行注释
ID int primary key not NULL,  /* 这个是多行注释 */
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

然后:.read create_company.txt   /* 就相当于直接运行了create_company.txt里面的语句 */

5. SQLite语法:SQLite 是遵循一套独特的称为语法的规则和准则

(具体后面用到时再分析)

6. SQLite数据类型:数据类型是一个用来指定任何对象的数据类型的属性

可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。

(1)SQLite存储类:主要有以下几种,冒号后面是解释

NULL:  一个NULL值

INTEGER: 一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中

REAL:浮点数,存储为8字节的IEEE浮点数字

TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE等)存储

GLOB:blob数据,完全根据它的输入存储(这个我也不是很理解)

(2)布尔数据类型: 没有专门的布尔数据,只有0和1

7. 创建数据库:

(1)基本语法如下: sqlite>sqlite3 testDB.db

 (2).dump 命令:导出完整的数据库在一个文本文件中

如:sqlite> testDB,db .dump > testDB,sql   /*  将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 testDB.sql 中  */

恢复: sqlite> testDB,db  < testDB,sql   /*   从生成的 testDB.sql 恢复   */

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于int的Linux的经典系统调用实现

       先说明两个概念:中断和系统调用 一 系统调用: 是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序是如何和内核打交道的。 ...

    xcywt
  • 学习SQLite之路(四)

    20160621 更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite   a...

    xcywt
  • TCP/IP详解 卷1 第十八章 TCP的建立与终止

    第十八章 TCP的建立与终止 tcpdump Tcpdump可以将网络中传送的数据报完截获下来进行分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供a...

    xcywt
  • 使用C#创建SQLite控制台应用程序

    本文属于原创,转载请注明出处,谢谢! 一、开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Fr...

    CNXY
  • SQLite大漏洞!所有Chromium浏览器中招,安卓iOS应用也受殃及

    今天,腾讯Blade安全团队发现的SQLite漏洞披露,他们将该漏洞称为“Magellan”,即麦哲伦。

    量子位
  • 小巧、稳定、快速!我为什么喜欢用SQLite

    在很多项目中都有使用到SQLite数据库作为数据存储的工具,其中包括一些桌面图形界面程序和线上的Web应用程序。

    州的先生
  • 网络流问题,及其代码

    之前的一个学习一直在看图像分割的部分内容,基于交互的图像分割基本都是用图割的算法,全自动的图割算法也有最小生成树的改进算法。

    流川疯
  • centos+scala2.11.4+hadoop2.3+spark1.3.1环境搭建

    一、Java安装 1、安装包准备: 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downl...

    魏琼东
  • SpringMVC过程中@RequestBody接收Json的问题 总是报415

    在SpringMVC中用@RequestBody接收Json的问题,总是报415,经过一翻查找 前台js的post: var postdata = '{"tit...

    欢醉
  • 【Java SE】Java NIO系列教程(五) 通道之间的数据传输

    在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个...

    用户1257215

扫码关注云+社区

领取腾讯云代金券