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>.showecho: offexplain: offheaders: offmode: 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/

功能非常强大,如果上述两款不能满足,就试试这个吧,当然也可以自己试着做一个,也没有那么难。

转载于:https://www.cnblogs.com/ZaraNet/p/10188893.html

轻量级数据库Sqlite的使用相关推荐

  1. 【牛角书】轻量级数据库SQLite与H2比较

    对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松.自容器.无配置.无独立服务的数据库环境,所有数据保存在一个文件里.当使用 MySQL 作为最终生产平台时,SQLite 是不可 ...

  2. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)

    spring boot+sqlite的配置,及成功运行详解 sqlite数据库的安装与调试 首先,通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/downloa ...

  3. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)

    轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...

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

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

  5. Android学习之轻量级数据库SQLite

    Android中对数据的存储有很多种方式,Google为Andriod中较大的数据处理提供了SQLite数据库,SQLite是一款轻型的数据库,它在管理.使用和维护上非常强大.当然最主要的特点还是它的 ...

  6. c#中使用轻量级数据库sqlite开发总结

    首先简单说明下含义,sqlite数据库是一种轻量级的数据库,主要特点是免安装.免配置.简单小巧,在程序中的开发基本和sql数据库一致. 准备工具:system.data.sqlite.dll和sqli ...

  7. SQLite轻量级数据库jar包链接

    轻量级数据库-SQLite 最新版sqlite-jdbc-3.23.1.jar下载 链接:https://pan.baidu.com/s/1NjwQzx0o0LrQbAjbYt7uyA 提取码:c2z ...

  8. 大数据入门(SQLite手机本地轻量级数据库增删改查)

    SQLite手机本地轻量级数据库 数据库分为: 1.关系型数据库(mysql主外键属于关系型) 2.对象型数据库(oracle) 3.嵌入式数据库 案例: 安卓控件(5个Button)访问Activi ...

  9. Java与嵌入式数据库SQLite的结合

    为什么80%的码农都做不了架构师?>>>    最近研究了一下嵌入式数据库,并使用Java与一个叫做SQLite的轻量级数据库结合写了个小程序,这个过程中也获得了不少经验,下面来总结 ...

最新文章

  1. 矩阵特征分解介绍及雅克比(Jacobi)方法实现特征值和特征向量的求解(C++/OpenCV/Eigen)
  2. 如何优雅的关闭容器,看这一篇就够了
  3. PHP学习笔记-PHP语言基础1
  4. oracle connect by用法
  5. .Net Discovery 系列之六--深入浅出.Net实时编译机制(下)
  6. NLP技术路线详解:这是从数学到算法的艺术
  7. [网络] SOCKET, TCP/UDP, HTTP, FTP
  8. JS 限制input框的输入字数,并提示可输入字数
  9. 12.14-Linux系统优化
  10. 大数据 数据库 评测_为什么腾讯QQ的大数据平台选择了这款数据库?
  11. Winboard - X
  12. Daily Scrum 10.23
  13. ams1117-3.3v电源稳压芯片低压差线性稳压器
  14. 按亩补贴?新都区2022年中央财政农业生产发展资金社会化服务项目申报补贴、条件、时间、材料及流程
  15. 英特尔收购网络芯片创业公司Barefoot Networks
  16. SQLOS任务调度算法
  17. .net中对象名无效问题解决
  18. C语言程序结构的特点
  19. 在模拟与数字间,周而复始
  20. oracle参数open_cursors和session_cached_cursor详解

热门文章

  1. 实战tcpdump看RST
  2. 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
  3. 比特币多重签名机制使用篇
  4. jsp:请求转发和重定向
  5. 编程马拉松大赛试题及代码(C++实现)
  6. 成熟期滞后状态的云计算:应重视云存储及安全策略
  7. 应对电信劫持强行插入广告的处理
  8. Linux 终端訪问 FTP 及 上传下载 文件
  9. 聊一聊js中的null、undefined与NaN
  10. iOS编程陷井2,模拟器不可靠