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 }

推薦閱讀