SQLite (一) - 简介与安装使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hzw2017/article/details/84495765

前言:在Android应用中有很多开源数据库框架可以选择使用(GreenDao、LitePal、Realm……),帮我们封装的很好,性能也很好使用也很方便,大大的提高我们的开发效率,为什么这次我会选择从头开始学一遍SQLite了,开源框架确实是很方便,使用多了时间久了,如果不进行适当巩固基础性的东西,我们会慢慢淡忘掉;也正好最近在做一个IM应用,是一个老项目(应该是14年启动的项目),在即时通信模块中,其中涉及到本地数据库SQLite,使用SQLite进行聊天记录本地缓存,于是冲个机会重头学一遍。

简介

在我们使用一个东西的时候,最起码要了解它的一些特征和使用场景,才能合理的选用,关于SQLite的介绍,先看看官网怎么描述:

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count .


SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

我英文不是很好,大概的意思就是,SQLite是一个进程内库,它实现了自给, 无服务器, 零配置, 事务性SQL数据库引擎,代码开源,同时应用部署很广泛的一种数据库;SQLite是一个嵌入式SQL数据库引擎,与大多数其他SQL数据库不同,SQLite没有单独的服务器进程,可以直接读写普通磁盘文件,比直接文件系统I/O更快。

既然是一种使用部署很广泛嵌入式数据库,使用场景也一定很丰富,官方介绍的使用场景,开场白就介绍了SQLite与其他数据库的不同,其实就是介绍SQLite的差异化。

SQLite is not directly comparable to client/server SQL database engines such as MySQL, Oracle, PostgreSQL, or SQL Server since SQLite is trying to solve a different problem.


Client/server SQL database engines strive to implement a shared repository of enterprise data. They emphasize scalability, concurrency, centralization, and control. SQLite strives to provide local data storage for individual applications and devices. SQLite emphasizes economy, efficiency, reliability, independence, and simplicity.


SQLite does not compete with client/server databases. SQLite competes with fopen().

SQLite无法与客户机/服务器SQL数据库引擎(如MySQL、Oracle、PostgreSQL或SQLServer)直接比较,也就是说不与客户机/服务器SQL数据库引擎产生竞争关系,因为SQLite的专注的核心领域与其不同。

  • 嵌入式设备和物联网 :手机、机顶盒、电视机、游戏机、照相机、手表……
  • 应用文件格式/文件存档:比如应用程序本地磁盘读写存取,效率性能比传统IO更高
  • 中等流量的网站:官方介绍能承受100 K点击率/日,甚至更高,100K不是一个上限,可能是10倍以上。
  • ……………………

安装

这里主要介绍在Windows上安装(64位机子)
1、进入官网下载sqlite-dll-win64-x64-3250300.zipsqlite-tools-win32-x86-3250300.zip这两个文件
在这里插入图片描述

2、把sqlite-dll-win64-x64-3250300.zipsqlite-tools-win32-x86-3250300.zip解压后,我是把解压文件放在D盘下了。
在这里插入图片描述

3、最后使用cmd命令符检查是否安装成功,首页进入D盘的sqlite文件夹,接着执行sqlite3命令符会显示下面结果则已经成功了。
在这里插入图片描述

三步就可以完成sqlite数据库的安装。

创建数据库

下面以创建userDB.db为例,使用命令符sqlite3.exe userDB.db创建即可,步骤如下:

1、打开新命令提示符窗口,进入sqlite文件夹,执行sqlite3.exe userDB.db命令符,此userDB.db已经创建成功了,但此时在sqlite文件夹是看不见的。
在这里插入图片描述
注意:在执行sqlite3.exe userDB.db命令符,不要在sqlite3命令符下执行(就是不要在检查是否安装成功的cmd命令符下执行),不然会如下报错Error: near "sqlite3": syntax error的,要把之前执行了sqlite3命令符的窗口关闭,重新打开一个窗口,去执行创建数据库的cmd命令。

2、在上面我们创建了数据库,但是我们看不见,为了能在文件夹显示出来,执行.databases命令符,会显示数据库所在文件路径。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hzw2017/article/details/84495765
今日推荐