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的使用的更多相关文章

  1. (转)轻量级数据库 SQLite

    SQLite Expert – Personal Edition SQLite Expert 提供两个版本,分别是个人版和专业版.其中个人版是免费的,提供了大多数基本的管理功能. SQLite Exp ...

  2. 轻量级数据库sqlite的编译

    sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...

  3. 轻量级数据库sqlite的接口说明

    原文地址:http://www.cnblogs.com/kfqcome/archive/2011/06/27/2136999.html 一.使用流程 要使用sqlite,需要从sqlite官网下载到三 ...

  4. IOS中使用轻量级数据库

    IOS中使用轻量级数据库 目录 概述 IOS中的轻量级数据库 sqlite的方法 数据库的实用操作 第三方类库 FMDatabase 概述 IOS中的轻量级数据库 sqlite的方法 sqlite3 ...

  5. Python信息采集器使用轻量级关系型数据库SQLite

    1,引言Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据.SQLite还在其它 ...

  6. 桌面轻量级数据库的选择:Access、SQLite、自己编写?

    1. Access我们做小项目的时候特别是小的MIS系统一般也都要用数据库来保存数据.经观察大部分的小系统都是用Access数据库,有的系统为了掩盖数据库的类型,把数据文件后缀名改了,其实只要改回到m ...

  7. python 学习笔记6(数据库 sqlite)

    26. SQLite 轻量级的关系型数据库 SQLite是python自带的数据库,可以搭配python存储数据,开发网站等. 标准库中的 sqlite3 提供该数据库的接口. 1. 基本语法如下 c ...

  8. 无需部署的轻量级数据库—SQLLite,使用Demo

    当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...

  9. [深入浅出iOS库]之数据库 sqlite

    一,sqlite 简介 前面写了一篇博文讲如何在 C# 中使用 ADO 访问各种数据库,在移动开发和嵌入式领域也有一个轻量级的开源关系型数据库-sqlite.它的特点是零配置(无需服务器),单磁盘文件 ...

随机推荐

  1. rabbit入门教程

    简介 rabbitmq是一个消息代理系统,为应用提供一个通用得消息发布,接受平台,为应用提供非阻塞的消息系统,方便进行异步处理. 优点 消息的可靠性.持久化消息,消息接受确认,消息重传等可靠机制. 灵 ...

  2. Hbase中HMaster作用

    HMaster在功能上主要负责Table表和HRegion的管理工作,具体包括: 1.管理用户对Table表的增.删.改.查操作: 2.管理HRegion服务器的负载均衡,调整HRegion分布: 3 ...

  3. Python爬虫-pyspider框架的使用

      pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优 ...

  4. Python json & pickle, shelve 模块

    json 用于字符串和python的数据类型间的转换 四个功能 dumps dump loads load pickle 用于python特有的类型和python的数据类型进行转换 四个功能 dump ...

  5. 学习Javascript数据结构与算法(第2版)笔记(1)

    第 1 章 JavaScript简介 使用 Node.js 搭建 Web 服务器 npm install http-server -g http-server JavaScript 的类型有数字.字符 ...

  6. ApplicationContextAware 接口的作用

    接口说明:当一个类实现了这个接口之后,这个类就可以方便地获得 ApplicationContext 中的所有bean.换句话说,就是这个类可以直接获取Spring配置文件中,所有有引用到的bean对象 ...

  7. BZOJ_3994_[SDOI2015]约数个数和_莫比乌斯反演

    BZOJ_3994_[SDOI2015]约数个数和_莫比乌斯反演 Description  设d(x)为x的约数个数,给定N.M,求   Input 输入文件包含多组测试数据. 第一行,一个整数T,表 ...

  8. BZOJ3629(JLOI2014)聪明的燕姿

    (⊙﹏⊙)我交了好久,有坑啊...(如果没有匹配的话,即输出0种情况要记得换行...) 就是搜索,加上一点数论,并不太难... #include<cstdio> #include<c ...

  9. C# WinForm ShowInTaskbar Api Version

    using System; using System.Runtime.InteropServices; namespace x { unsafe class NativeWindow { /* * W ...

  10. 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解

    缘起 哈喽大家好,又是周二了,时间很快,我的第二个系列DDD领域驱动设计讲解已经接近尾声了,除了今天的时间驱动EDA(也有可能是两篇),然后就是下一篇的事件回溯,就剩下最后的权限验证了,然后就完结了, ...