Sqlite 安装操作使用

一、什么是 SQLite 数据库
SQLite 是嵌入式SQL数据库引擎 。与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程 。SQLite 直接读取和写入普通磁盘文件 。具有多个表,索引,触发器和视图的完整 SQL 数据库包含在单个磁盘文件中 。数据库文件格式是跨平台的-您可以在32位和64位系统之间或在big-endian和 little-endian 体系结构之间自由复制数据库。这些功能使SQLite成为应用程序文件格式的流行选择 。
它还是一个本地数据库,在本地生成一个数据库文件,不需要借助网络就能访问 。
二、SQLite 的下载安装
官网下载地址:https://www.sqlite.org/download.html

Sqlite 安装操作使用

文章插图
找到你所对应的版本,我这里以 windows 为例,下载 sqlite-tools-win32-x86-3390400.zip 和 sqlite-dll-win64-x64-3390400.zip 两个文件,将文件解压放置单独的文件夹,解压后一共是 5 个文件
Sqlite 安装操作使用

文章插图
然后在电脑的环境变量中去配置这个文件夹的路径
Sqlite 安装操作使用

文章插图
到这一步,安装和配置已经完成了,接下来就要验证是否安装成功了 。打开 CMD 命令版,输入 sqlite3,出现版本信息,则表示安装成功
如果输入出现提示 sqlite3 不是内部命令,那就是环境变量没有生效,配置环境变量后要重新启动电脑才能生效
Sqlite 安装操作使用

文章插图
三、SQLite在程序中使用
这里以 .Net Framework 的项目为例演示
1、引用 SQLite 相关的包即可,NuGet 搜索 System.Data.SQLite,点击安装,会自动下载所依赖的其他包
注意:不要在官网下载 System.Data.SQLite.dll,如果你在官网下载这个 dll,直接添加引用,运行代码时会报错,无法加载“DLL “SQLite.Interop.dll”:找不带指定模块”,很难解决
Sqlite 安装操作使用

文章插图
2、新建一个文本将文件扩展名改为 db,这样我们就能本地访问这个数据库
Sqlite 安装操作使用

文章插图
3、访问查看 SQLite 数据库,有多种方式
可以使用官方提供的工具 SQLiteStudio :https://sqlitestudio.pl/
也可以使用其他的数据库链接工具(这里使用的是 Navicat),如下,选择连接数据库的类型为 SQLite,添加链接,选择现有的数据库文件就行,不需要账号和密码
Sqlite 安装操作使用

文章插图
4、写 SQLite 帮助类
我这里写的比较简单,只有 3 个方法
因为 SQLite 可以本地读取的数据库,所以数据库链接要写成 绝对路径,如:C:\数据库\xx.db
Sqlite 安装操作使用

文章插图
Sqlite 安装操作使用

文章插图
1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SQLite; 5 using System.Linq; 6 using System.Web; 7 8 namespace WebApplication1.DBhelper 9 {10public static class SqliteHelper11{12/// <summary>13/// 获取连接字符串14/// </summary>15/// <returns>连接字符串</returns>16public static string GetSqlConnectionString()17{18//return ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;19return "data source=C:\\TestProject\\DB\\sqliteDb.db";//xx.db 用绝对路径20}2122/// <summary>23/// 执行查询语句,返回DataSet24/// </summary>25/// <param name="SQLString">查询语句</param>26/// <returns>DataSet</returns>27public static DataSet GetDataSet(string SQLString)28{29using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))30{31DataSet ds = new DataSet();32try33{34connection.Open();35SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);36command.Fill(ds, "ds");37}38catch (System.Data.SQLite.SQLiteException ex)39{40throw new Exception(ex.Message);41}42return ds;43}44}4546/// <summary>47/// 执行查询语句,返回DataTable48/// </summary>49/// <param name="SQLString"></param>50/// <returns></returns>51/// <exception cref="Exception"></exception>52public static DataTable GetDataTable(string SQLString)53{54using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))55{56DataTable dt = new DataTable();57try58{59connection.Open();60SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);61command.Fill(dt);62}63catch (System.Data.SQLite.SQLiteException ex)64{65throw new Exception(ex.Message);66}67return dt;68}69}7071/// <summary>72/// 执行操作语句,返回成功与否73/// </summary>74/// <param name="SQLString"></param>75/// <returns></returns>76public static bool RunSQL(string SQLString)77{78using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))79{80try81{82connection.Open();83SQLiteCommand cmd = connection.CreateCommand();84cmd.CommandText = SQLString;85cmd.ExecuteNonQuery();86return true;87}88catch (Exception ex)89{90return false;91}92}93}94}95 }

经验总结扩展阅读