SQLite概述
SQLite概述
这个教程帮助您理解SQLite是什么,它如何不同于SQL,为什么它是必要的和它的方式处理应用程序数据库。
SQLite是一个库,实现了一个独立的软件,serverless zero-configuration、事务SQL数据库引擎。SQLite是一个增长最快的数据库引擎,但增长的人气,不与它的大小。SQLite的源代码是在公共领域
SQLite是什么?
SQLite是一个进程内库,实现了一个自包含的,serverless zero-configuration、事务SQL数据库引擎。这是一个数据库,这是zero-configured,这意味着您不需要像其他数据库配置它在您的系统。
SQLite引擎并不是一个独立的流程与其他数据库一样,你可以静态或动态链接按你的要求与您的应用程序。SQLite直接访问它的存储文件。
产生SQLite的原因吗?
- SQLite不需要一个单独的服务器进程或系统操作。(serverless)。
- SQLite附带zero-configuration,这意味着不需要安装或管理。
- 一个完整的SQLite数据库是存储在一个跨平台的磁盘文件中。
- 简约完全配置或少于250简约与省略可选特性。
- SQLite是独立的,这意味着没有外部依赖。
- SQLite事务完全ACID-compliant,允许从多个进程或线程安全访问。
- SQLite支持大多数的查询语言特性对SQL92标准(SQL2)。
- SQLite ansi - c并提供的写在简单和易于使用的API。
- 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概述的更多相关文章
- 利用raspberry pi搭建typecho笔记(二) sqlite和typecho部署
sqlite概述 typecho可以支持MYSQL和Sqlite两种数据库,因为Sqlite更为轻量,并且不需要额外的进程,而是直接对数据库文件进行读取,所以配置相对于MySQL也更为简单,仅需指定数 ...
- SQLite数据库学习小结——native层实现
1. SQlite概述 SQLite是一款轻量.快速.跨平台的嵌入式数据库,是遵守ACID(注:ACID指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consi ...
- SQLite基础教程目录
SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...
- SQLite入门与分析(三)---内核概述(1)
写在前面:从本章开始,我们开始进入SQLite的内核.为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很重要.SQLite的内核实现不是很难,但是也不是很简单.总的来 ...
- SQLite入门与分析(三)---内核概述(2)
写在前面:本节是前一节内容的后续部分,这两节都是从全局的角度SQLite内核各个模块的设计和功能.只有从全局上把握SQLite,才会更容易的理解SQLite的实现.SQLite采用了层次化,模块化的设 ...
- 【SQLite】知识点概述
1.SQLite不与诸如MySQL,Oracle,PostgreSQL或SQL Server之类的客户端/服务器SQL数据库引擎竞争,SQLite与fopen()竞争,读写快35%.2.SQLite数 ...
- SQLite使用(三)&&核心API使用
概述 SQLite提供了一系列接口供用户访问数据库,主要包括连接数据库,处理SQL,迭代查询结果等.本文会针对我们使用SQLite的主要场景,列出核心的API,详细介绍API的用法并给出代码用 ...
- SQLite使用(二)&&数据类型
1.概述 我们熟知的数据库引擎大部分采用静态数据类型,即列定义的类型定义了值的存储,并且值要严格满足列的定义,同一列所有值的存储方式都相同,比如定义了一个列类型为整型 int,不能在该列上输入'abc ...
- SQLite学习笔记(九)&&pager模块
概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置.它是sqlite的核心模块,充当了多种重要角色.作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性, ...
随机推荐
- 【扬中集训DAY2T2】 机智的AmyZhi
[题目链接] 点击打开链接 [算法] 据说标算是暴力? 从N-200开始搜 不过我用了搜索+一些奇怪的剪枝,也A了.... [代码] 标程 #include<bits/stdc++.h> ...
- 洛谷 P1578 奶牛浴场 —— 最大子矩形
题目:https://www.luogu.org/problemnew/show/P1578 枚举左边界,向右枚举右边界,同时不断限制上下边界,最后右边界是整个图的边界: 由于没有做左边界是整个图的边 ...
- 当你触摸并按住触摸目标时候,禁止系统默认菜单-webkit-touch-call
当你触摸并按住触摸目标时候,禁止或显示系统默认菜单. -webkit-touch-callout 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS ...
- Ubuntu安装eclipse以及创建快捷方式
1. 安装jdk,我用的1.8,很简单这里不详细说了: 2.下载eclipse的安装包, https://www.eclipse.org/downloads/download.php?file=/te ...
- 任务43:Identity MVC:UI
基于原来做的cookie认证的代码:MvcCookieAuthSample 增加登陆和退出的方法: 增加Login和SignIn这两个Action方法. 在Views下面创建Account文件夹,然后 ...
- on a null object reference 问题的解决办法
FATAL EXCEPTION: …… java.lang.RuntimeException: Unable to start activity ComponentInfo…… ava.lang.Nu ...
- 51nod 1103【鸽巢原理】
思路: 这道题嘛有些弯还是要转的,比如你说让你搞n的倍数,你别老老实实照她的意思去啊,倍数可以除法,取膜 . 因为n个数我们可以求前缀和然后取膜,对n取膜的话有0-n-1种情况,所以方案一定是有的,说 ...
- PTA【复数相乘】
队友在比赛时A掉的.吊吊吊!!! 主要考虑这些情况吧||| 案例: /* 3i i -3 i -1-i 1+i i 1 -1-i -1-i */ -3 -3i -2i i 2i #include &l ...
- bzoj 4161 Shlw loves matrixI【常系数线性齐次递推】
并不会递推,不过板子挺好背的,只要是类似的递推都能用,但是注意c数组不能使负数 如果除了递推还有常数项的话,就用f[i]-f[i-1]的方式消掉常数项(然后多一个f[i-1]的项) #include& ...
- (构造)51NOD 1080 两个数的平方和
给出一个整数N,将N表示为2个整数i与j的平方之和(i <= j),如果有多种表示,按照i的递增序输出. 例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2(注:3^ ...