C#操作SQLite數(shù)據(jù)庫(kù)方法小結(jié)
一、SQLite介紹
1、SQLite 簡(jiǎn)介
SQLite是一個(gè)開(kāi)源、免費(fèi)的小型RDBMS(關(guān)系型數(shù)據(jù)庫(kù)),能獨(dú)立運(yùn)行、無(wú)服務(wù)器、零配置、支持事物,用C實(shí)現(xiàn),內(nèi)存占用較小,支持絕大數(shù)的SQL92標(biāo)準(zhǔn)。
這意味著與其他數(shù)據(jù)庫(kù)一樣,您不需要在系統(tǒng)中配置。SQLite 引擎不是一個(gè)獨(dú)立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動(dòng)態(tài)連接。SQLite 直接訪(fǎng)問(wèn)其存儲(chǔ)文件。
SQLite 源代碼不受版權(quán)限制。SQLite數(shù)據(jù)庫(kù)官方主頁(yè):http://www.sqlite.org/index.html

2、為什么要用 SQLite?
- 不需要一個(gè)單獨(dú)的服務(wù)器進(jìn)程或操作的系統(tǒng)(無(wú)服務(wù)器的)。
- SQLite 不需要配置,這意味著不需要安裝或管理。
- 一個(gè)完整的 SQLite 數(shù)據(jù)庫(kù)是存儲(chǔ)在一個(gè)單一的跨平臺(tái)的磁盤(pán)文件。
- SQLite 是非常小的,是輕量級(jí)的,完全配置時(shí)小于 400KiB,省略可選功能配置時(shí)小于250KiB。
- SQLite 是自給自足的,這意味著不需要任何外部的依賴(lài)。
- SQLite 事務(wù)是完全兼容 ACID 的,允許從多個(gè)進(jìn)程或線(xiàn)程安全訪(fǎng)問(wèn)。
- SQLite 支持 SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢(xún)語(yǔ)言的功能。
- SQLite 使用 ANSI-C 編寫(xiě)的,并提供了簡(jiǎn)單和易于使用的 API。
- SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運(yùn)行。
3、SQLite 局限性
在 SQLite 中,SQL92 不支持的特性如下所示:

4、SQLite GUI客戶(hù)端列表:
- SQLite Expert :SQLite administration | SQLite Expert
- SQLite Administrator:SQLite Administrator v0.8.3.2 綠色中文版
- SQLiteStudio:SQLite數(shù)據(jù)庫(kù)管理工具(SQLiteStudio) v3.1.1 多語(yǔ)中文綠色免費(fèi)版
- SQLite Database Browser:sqlite database browser(可視化數(shù)據(jù)庫(kù)瀏覽器) v3.7.0 最新中文安裝版
- Navicat Premium :Navicat | 下載 Navicat for SQLite 14 天免費(fèi) Windows、macOS 和 Linux 的試用版

二、C#操作數(shù)據(jù)庫(kù)
1、關(guān)于SQLite的connection string:
http://www.connectionstrings.com/sqlite/
基本方式:Data Source=c:\mydb.db;Version=3;
2、C#下SQLite操作
驅(qū)動(dòng)dll下載:System.Data.SQLite
也Nuget 直接搜索安裝:System.Data.SQLite.Core

C#使用SQLite步驟:
(1)新建一個(gè)project
(2)添加SQLite操作驅(qū)動(dòng)dll引用:System.Data.SQLite.dll
(3)使用API操作SQLite DataBase
using System;
using System.Data.SQLite;
namespace SQLiteSamples
{
class Program
{
//數(shù)據(jù)庫(kù)連接
SQLiteConnection m_dbConnection;
static void Main(string[] args)
{
Program p = new Program();
}
public Program()
{
createNewDatabase();
connectToDatabase();
createTable();
fillTable();
printHighscores();
}
//創(chuàng)建一個(gè)空的數(shù)據(jù)庫(kù)
void createNewDatabase()
{
SQLiteConnection.CreateFile("MyDatabase.db");//可以不要此句
}
//創(chuàng)建一個(gè)連接到指定數(shù)據(jù)庫(kù)
void connectToDatabase()
{
m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.db;Version=3;");//沒(méi)有數(shù)據(jù)庫(kù)則自動(dòng)創(chuàng)建
m_dbConnection.Open();
}
//在指定數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)table
void createTable()
{
string sql = "create table if not exists highscores (name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
}
//插入一些數(shù)據(jù)
void fillTable()
{
string sql = "insert into highscores (name, score) values ('Me', 3000)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql = "insert into highscores (name, score) values ('Myself', 6000)";
command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql = "insert into highscores (name, score) values ('And I', 9001)";
command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
}
//使用sql查詢(xún)語(yǔ)句,并顯示結(jié)果
void printHighscores()
{
string sql = "select * from highscores order by score desc";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]);
Console.ReadLine();
}
}
}
到此這篇關(guān)于C#操作SQLite數(shù)據(jù)庫(kù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#中使用SQLite數(shù)據(jù)庫(kù)的方法介紹
- C#操作SQLite方法實(shí)例詳解
- C#簡(jiǎn)單訪(fǎng)問(wèn)SQLite數(shù)據(jù)庫(kù)的方法(安裝,連接,查詢(xún)等)
- C#操作SQLite數(shù)據(jù)庫(kù)方法小結(jié)(創(chuàng)建,連接,插入,查詢(xún),刪除等)
- C#操作SQLite數(shù)據(jù)庫(kù)之讀寫(xiě)數(shù)據(jù)庫(kù)的方法
- C#操作SQLite數(shù)據(jù)庫(kù)幫助類(lèi)詳解
- C#連接加密的Sqlite數(shù)據(jù)庫(kù)的方法
- C#操作SQLite實(shí)現(xiàn)數(shù)據(jù)的增刪改查
- C#調(diào)用SQLite的詳細(xì)代碼舉例
相關(guān)文章
C#使用SqlDataAdapter對(duì)象獲取數(shù)據(jù)的方法
這篇文章主要介紹了C#使用SqlDataAdapter對(duì)象獲取數(shù)據(jù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了SqlDataAdapter對(duì)象獲取數(shù)據(jù)具體步驟與相關(guān)使用技巧,需要的朋友可以參考下2016-02-02
C#實(shí)現(xiàn)繪制隨機(jī)噪點(diǎn)和直線(xiàn)
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)繪制隨機(jī)噪點(diǎn)和直線(xiàn),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2023-01-01
c#實(shí)現(xiàn)KTV點(diǎn)歌系統(tǒng)
這篇文章主要用C#語(yǔ)言編寫(xiě)的KTV點(diǎn)歌系統(tǒng),需要的朋友可以參考下2015-07-07
C#?Winform消息通知之系統(tǒng)本地通知local?toast?notification
這篇文章主要為大家介紹了C#?Winform消息通知之系統(tǒng)本地通知local?toast?notification使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
探討:關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行
本篇文章是對(duì)關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
C#中實(shí)現(xiàn)抽象類(lèi)里建立靜態(tài)方法
這篇文章主要介紹了C#中實(shí)現(xiàn)抽象類(lèi)里建立靜態(tài)方法,需要的朋友可以參考下2014-07-07

