轻量级数据库Sqlite的使用
SqLite是什么?
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
为什么要用 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)中运行。
在Windows上安装SQLite
请访问 SQLite 下载页面,从 Windows 区下载预编译的二进制文件。
您需要下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件。
创建文件夹 F:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 以上sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件
添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果
如果出现以上结果,环境也就没有什么问题了,当然我这里的环境变量是F盘必须要切到这里。
如需获取可用的点命令的清单,可以在任何时候输入 ".help"。例如:
sqlite>.help
让我们尝试使用 .show 命令,来查看 SQLite 命令提示符的默认设置。
sqlite>.show
echo: off
explain: off
headers: off
mode: column
nullvalue: ""
output: stdout
separator: "|"
width:
sqlite>
特别注意 键入这些命令的时候不要有空格,否则无法运行
在Sqlite中有一种概念叫做动态数据,即Sqlite使用者专业术语叫做亲和数据,也就是说,你传入的数据和字段的格式不匹配会自动进行转换,这里就不进行列举了。可以在SQLite官方查看,基本上和别的数据库差距不大。
创建数据库
命令:DbName.db;直接即可,有可能你会遇到的问题如下:
创建数据库时报错:syntax error,这个错是因为你创建目录里已经有数据库了,那你怎么能在数据库里再创建数据库呢,你可以直接在你的sqlite环境变量中目录 创建一个文件夹 进去之后 再直接该命令就没事了。

如果你想查看该文件夹中有那些数据库你可以通过.databases命令来查看。
您可以使用 SQLite .quit 命令退出 sqlite 提示符
创建表
SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。

删除表
语法如下:
DROP TABLE database_name.table_name;
还有一些增删改查的操作这里就不说了,简单的创建库和表就说完了 我们在程序中演示进行CRUD操作。
在.NET Core中使用Sqlite数据库
新建一个.net Core控制台项目

二、在“程序包管理器控制台”下输入:
install-package Microsoft.EntityFrameworkCore.Sqlite.Core
install-package SQLitePCLRaw.bundle_green
三.编码
using System;
using Microsoft.Data.Sqlite;
using System.Data; namespace ConsoApp
{
class Program
{
static void Main(string[] args)
{
string connString = "Data Source=C:\\Users\\MACHENIKE\\Desktop\\Db\\demo.db";
string insertsql = @"insert into company values('冀中能源',1);";
string selectsql = "select * from company";
try
{
using (SqliteConnection conn = new SqliteConnection(connString))
{
conn.Open();
SqliteCommand cmd = new SqliteCommand(insertsql, conn);
cmd.ExecuteNonQuery();
cmd.CommandText = selectsql;
SqliteDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine("UserId:{0}\tUserName:{1}", dr[0], dr[1]);
}
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}

Dump命令
现在我们的数据库有一定的数据了,我们想要进行备份,可以使用这个命令。

打开之后内容如下,就是我们刚才所操作的。
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE company(
name text not null
,id int primary key
);
INSERT INTO company VALUES('1','冀中能源');
INSERT INTO company VALUES('冀中能源',1);
COMMIT;
那么当你没有数据库了 只有了sql文件 你可以再进行回档。
$sqlite3 testDB.db < testDB.sql
免费的Sqlite可视化工具
市面上有很多收费的sqlite的可视化工具,还有免费的,推荐这个 SQLiteExpert 个人免费 要安装 地址:http://www.sqliteexpert.com/
功能非常强大,如果上述两款不能满足,就试试这个吧,当然也可以自己试着做一个,也没有那么难。
轻量级数据库Sqlite的使用的更多相关文章
- (转)轻量级数据库 SQLite
SQLite Expert – Personal Edition SQLite Expert 提供两个版本,分别是个人版和专业版.其中个人版是免费的,提供了大多数基本的管理功能. SQLite Exp ...
- 轻量级数据库sqlite的编译
sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...
- 轻量级数据库sqlite的接口说明
原文地址:http://www.cnblogs.com/kfqcome/archive/2011/06/27/2136999.html 一.使用流程 要使用sqlite,需要从sqlite官网下载到三 ...
- IOS中使用轻量级数据库
IOS中使用轻量级数据库 目录 概述 IOS中的轻量级数据库 sqlite的方法 数据库的实用操作 第三方类库 FMDatabase 概述 IOS中的轻量级数据库 sqlite的方法 sqlite3 ...
- Python信息采集器使用轻量级关系型数据库SQLite
1,引言Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据.SQLite还在其它 ...
- 桌面轻量级数据库的选择:Access、SQLite、自己编写?
1. Access我们做小项目的时候特别是小的MIS系统一般也都要用数据库来保存数据.经观察大部分的小系统都是用Access数据库,有的系统为了掩盖数据库的类型,把数据文件后缀名改了,其实只要改回到m ...
- python 学习笔记6(数据库 sqlite)
26. SQLite 轻量级的关系型数据库 SQLite是python自带的数据库,可以搭配python存储数据,开发网站等. 标准库中的 sqlite3 提供该数据库的接口. 1. 基本语法如下 c ...
- 无需部署的轻量级数据库—SQLLite,使用Demo
当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...
- [深入浅出iOS库]之数据库 sqlite
一,sqlite 简介 前面写了一篇博文讲如何在 C# 中使用 ADO 访问各种数据库,在移动开发和嵌入式领域也有一个轻量级的开源关系型数据库-sqlite.它的特点是零配置(无需服务器),单磁盘文件 ...
随机推荐
- 【源码解析】Sharding-Jdbc的执行过程(一)
一.ShardingContext 在Sharding-Jdbc中,我们其实需要抓住一个核心类,也就是ShardingContext,分片上下文,里面定义了下面几个内容: @RequiredArgsC ...
- BZOJ_4198_[Noi2015]荷马史诗_huffman实现
BZOJ_4198_[Noi2015]荷马史诗_huffman实现 题意: Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗> ...
- BZOJ_2938_[Poi2000]病毒_AC自动机
BZOJ_2938_[Poi2000]病毒_AC自动机 Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们 ...
- 关于react组件之间的通信
才开始学react刚好到组件通信这一块,就简单的记录下组件间的通信方式:父到子:props.context,子到父:自定义事件.回调,兄弟组件:共父props传递.自定义事件import React, ...
- 一个优秀团队leader应该具备的几点素质
首先,技术要过硬.毕竟一个团队是在靠技术为别人创造价值的,一定程度上,团队leader的技术能力决定了整个团队的技术上限.leader对技术的坚持和追求很可能会影响团队成员对技术的坚持和追求,至少le ...
- Python GIL(Global Interpreter Lock)
一,介绍 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native t ...
- 【SAP业务模式】之STO(一):业务背景和前台操作
所谓STO即两个关联公司之间的库存转储交易,一家公司发出采购订单向另一家公司做采购,然后在做发货.如此之后,两家公司有相应应收应付的票据,以及开票和发票校验等动作. STO分为一步法与两步法,因为一步 ...
- ssh框架整合笔记
1.建立普通的Javaweb项目,导入项目所必须的jar包. 2.配置web.xml文件. web.xml 3.在src下建立struts.xml. struts.xm 4.在实体包下配置 实体名 ...
- MySQL安装及环境搭建
一.Windows 上安装 MySQL Windows 上安装 MySQL 相对简单,最新版本下载地址: 官网:https://dev.mysql.com/downloads/mysql/ 下载步骤: ...
- phper的Go之旅(-)--书写前言
前言:由于我使用的主力机是mac,所以整系列教程都以mac为主,后期可能会更新windows,有时间的话,截止写这篇博客的时间我是一个全职php开发工程师,之所以要写这篇 教程原因就是现在技术语言层出 ...
