SQLite概述

这个教程帮助您理解SQLite是什么,它如何不同于SQL,为什么它是必要的和它的方式处理应用程序数据库。

 

SQLite是一个库,实现了一个独立的软件,serverless zero-configuration、事务SQL数据库引擎。SQLite是一个增长最快的数据库引擎,但增长的人气,不与它的大小。SQLite的源代码是在公共领域

 

SQLite是什么?

SQLite是一个进程内库,实现了一个自包含的,serverless zero-configuration、事务SQL数据库引擎。这是一个数据库,这是zero-configured,这意味着您不需要像其他数据库配置它在您的系统。    

 

SQLite引擎并不是一个独立的流程与其他数据库一样,你可以静态或动态链接按你的要求与您的应用程序。SQLite直接访问它的存储文件。

 

产生SQLite的原因吗?

  1. SQLite不需要一个单独的服务器进程或系统操作。(serverless)。
  2. SQLite附带zero-configuration,这意味着不需要安装或管理。
  3. 一个完整的SQLite数据库是存储在一个跨平台的磁盘文件中。
  4. 简约完全配置或少于250简约与省略可选特性。
  5. SQLite是独立的,这意味着没有外部依赖。
  6. SQLite事务完全ACID-compliant,允许从多个进程或线程安全访问。
  7. SQLite支持大多数的查询语言特性对SQL92标准(SQL2)。
  8. SQLite ansi - c并提供的写在简单和易于使用的API。
  9. SQLite是可用在UNIX(Linux、Mac OS-X Android,iOS)和Windows(Win32,畏缩,WinRT)。

 

历史

2000 - d·理查德Hipp SQLite为目的的设计没有政府所需的操作程序。      

2000 - 8月SQLite 1.0发布的GNU数据库管理器。      

2011——Hipp宣布将UNQl接口添加到SQLite数据库和开发UNQLite(面向文档的数据库)。

 

SQLite限制:

很少有不支持的特性在SQLite SQL92如下所示

特色

描述

右外部联接

只有实现左外连接

全外连接

只有实现左外连接

修改表的定义

重命名表并添加列ALTER TABLE命令支持的变体。删除列,改变列,添加约束不受支持的。

触发器支持

为每一行触发器支持但不是每个语句触发器。

视图

SQLite是只读视图。你可能不执行删除、插入或更新声明一个视图

授权和撤销

唯一的访问权限,可以应用的底层操作系统的正常文件访问权限。

 

SQLite命令:

标准的SQLite命令与关系数据库和SQL是相似的。他们是创建、选择、插入、更新、删除和下降。这些命令可以分为组织根据自己的操作性质:

DDL -数据定义语言:

命令

描述

CREATE

创建一个新表,一个表的视图,在数据库或其他对象

ALTER

修改一个现有的数据库对象,例如表

DROP

删除整个表,一个表或其他对象的视图在数据库中

 

DML -数据操作语言:

命令

描述

INSERT

创建一个记录

UPDATE

修改记录

DELETE

删除记录

DQL -数据查询语言:

命令

描述

SELECT

检索特定的记录从一个或多个表

SQLite概述的更多相关文章

  1. 利用raspberry pi搭建typecho笔记(二) sqlite和typecho部署

    sqlite概述 typecho可以支持MYSQL和Sqlite两种数据库,因为Sqlite更为轻量,并且不需要额外的进程,而是直接对数据库文件进行读取,所以配置相对于MySQL也更为简单,仅需指定数 ...

  2. SQLite数据库学习小结——native层实现

    1. SQlite概述 SQLite是一款轻量.快速.跨平台的嵌入式数据库,是遵守ACID(注:ACID指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consi ...

  3. SQLite基础教程目录

    SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...

  4. SQLite入门与分析(三)---内核概述(1)

    写在前面:从本章开始,我们开始进入SQLite的内核.为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很重要.SQLite的内核实现不是很难,但是也不是很简单.总的来 ...

  5. SQLite入门与分析(三)---内核概述(2)

    写在前面:本节是前一节内容的后续部分,这两节都是从全局的角度SQLite内核各个模块的设计和功能.只有从全局上把握SQLite,才会更容易的理解SQLite的实现.SQLite采用了层次化,模块化的设 ...

  6. 【SQLite】知识点概述

    1.SQLite不与诸如MySQL,Oracle,PostgreSQL或SQL Server之类的客户端/服务器SQL数据库引擎竞争,SQLite与fopen()竞争,读写快35%.2.SQLite数 ...

  7. SQLite使用(三)&&核心API使用

    概述     SQLite提供了一系列接口供用户访问数据库,主要包括连接数据库,处理SQL,迭代查询结果等.本文会针对我们使用SQLite的主要场景,列出核心的API,详细介绍API的用法并给出代码用 ...

  8. SQLite使用(二)&&数据类型

    1.概述 我们熟知的数据库引擎大部分采用静态数据类型,即列定义的类型定义了值的存储,并且值要严格满足列的定义,同一列所有值的存储方式都相同,比如定义了一个列类型为整型 int,不能在该列上输入'abc ...

  9. SQLite学习笔记(九)&&pager模块

    概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置.它是sqlite的核心模块,充当了多种重要角色.作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性, ...

随机推荐

  1. [Selenium] 配置 Internet Explorer Driver 的注意事项

    1)请确保 IEDriverServer 的可执行文件在系统环境变量PATH 中 2)在IE7 和以上版本的 Internet Explorer 上,必须确保保护模式的正确配置.设置方式为 Tools ...

  2. 【扬中集训DAY1T1】 微信群

    [题目链接] 点击打开链接 [算法] 对问题稍加分析后,发现其实要求的就是 : C(N,K) + C(N,K+1) + C(N,K+2) + ... + C(N,N) 因为N最大10^9,K最大10^ ...

  3. data对象转化成后端需要的json格式

    data=JSON.stringify(json_data); $.ajax({type:'post',url:url+'warehouse/create_alliance_out/',data:da ...

  4. chorme dev tools的小技巧

    1 快速文件转换 在DevTools打开的时候,你可以按下Ctrl+P来快速的寻找和打开你工程中的任意文件. 2 在源代码中搜索 Ctrl+Shift+F 即可在所有已加载的文件中查找一个特定的字符串 ...

  5. 字体的设置 REM EM PX

    px 1 一般设置页面的字体使用px 2 优点:字体设置比较稳定和精确 3 缺点:他会修改用户浏览器中的字体大小 EM 相对于父元素的字体大小,字体大小不确定,容易混乱,“em”是相对于其父元素来设置 ...

  6. hdoj4027【线段树】

    题意: 给你一个序列,然后给出m个命令, 每个命令有两种:①:在区间内实现开方:②:求一个区间和: 思路: 一开始没思路啊,这个开方又不像加加减减一起来就好了,开方只能自己玩啊,但是仔细一想一个数也才 ...

  7. 第五篇 .NET高级技术之CTS、CLS、CLR

    CTS.CLS.CLR 1. .Net平台下不只有C#语言,还有VB.Net.F#等语言.IL是程序最终编译的可以执行的二进制代码(托管代码),不同的语言最终都编译成标准的IL(中间语言,MSIL): ...

  8. the little schemer 笔记(10)

    第十章 What Is  the Value of All of This? entry条目 是由list表组成的 pair 对,pair 对的第一个list表是集合 set.另外,两个list表的长 ...

  9. python之使用request模块发送post和get请求

    import requestsimport json #发送get请求并得到结果# url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马 ...

  10. adb shell getprop,setprop,watchprops更改,查看,监听系统属性

    1.简介 每个属性都有一个名称和值,他们都是字符串格式.属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换.属性是在整个系统中全局可见的.每个进程可以get/set属性.  在 ...