轻量级数据库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>.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的使用相关推荐
- 【牛角书】轻量级数据库SQLite与H2比较
对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松.自容器.无配置.无独立服务的数据库环境,所有数据保存在一个文件里.当使用 MySQL 作为最终生产平台时,SQLite 是不可 ...
- 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)
spring boot+sqlite的配置,及成功运行详解 sqlite数据库的安装与调试 首先,通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/downloa ...
- 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)
轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...
- 轻量级数据库sqlite的编译
sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...
- Android学习之轻量级数据库SQLite
Android中对数据的存储有很多种方式,Google为Andriod中较大的数据处理提供了SQLite数据库,SQLite是一款轻型的数据库,它在管理.使用和维护上非常强大.当然最主要的特点还是它的 ...
- c#中使用轻量级数据库sqlite开发总结
首先简单说明下含义,sqlite数据库是一种轻量级的数据库,主要特点是免安装.免配置.简单小巧,在程序中的开发基本和sql数据库一致. 准备工具:system.data.sqlite.dll和sqli ...
- SQLite轻量级数据库jar包链接
轻量级数据库-SQLite 最新版sqlite-jdbc-3.23.1.jar下载 链接:https://pan.baidu.com/s/1NjwQzx0o0LrQbAjbYt7uyA 提取码:c2z ...
- 大数据入门(SQLite手机本地轻量级数据库增删改查)
SQLite手机本地轻量级数据库 数据库分为: 1.关系型数据库(mysql主外键属于关系型) 2.对象型数据库(oracle) 3.嵌入式数据库 案例: 安卓控件(5个Button)访问Activi ...
- Java与嵌入式数据库SQLite的结合
为什么80%的码农都做不了架构师?>>> 最近研究了一下嵌入式数据库,并使用Java与一个叫做SQLite的轻量级数据库结合写了个小程序,这个过程中也获得了不少经验,下面来总结 ...
最新文章
- 矩阵特征分解介绍及雅克比(Jacobi)方法实现特征值和特征向量的求解(C++/OpenCV/Eigen)
- 如何优雅的关闭容器,看这一篇就够了
- PHP学习笔记-PHP语言基础1
- oracle connect by用法
- .Net Discovery 系列之六--深入浅出.Net实时编译机制(下)
- NLP技术路线详解:这是从数学到算法的艺术
- [网络] SOCKET, TCP/UDP, HTTP, FTP
- JS 限制input框的输入字数,并提示可输入字数
- 12.14-Linux系统优化
- 大数据 数据库 评测_为什么腾讯QQ的大数据平台选择了这款数据库?
- Winboard - X
- Daily Scrum 10.23
- ams1117-3.3v电源稳压芯片低压差线性稳压器
- 按亩补贴?新都区2022年中央财政农业生产发展资金社会化服务项目申报补贴、条件、时间、材料及流程
- 英特尔收购网络芯片创业公司Barefoot Networks
- SQLOS任务调度算法
- .net中对象名无效问题解决
- C语言程序结构的特点
- 在模拟与数字间,周而复始
- oracle参数open_cursors和session_cached_cursor详解
热门文章
- 实战tcpdump看RST
- 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
- 比特币多重签名机制使用篇
- jsp:请求转发和重定向
- 编程马拉松大赛试题及代码(C++实现)
- 成熟期滞后状态的云计算:应重视云存储及安全策略
- 应对电信劫持强行插入广告的处理
- Linux 终端訪问 FTP 及 上传下载 文件
- 聊一聊js中的null、undefined与NaN
- iOS编程陷井2,模拟器不可靠