【C#】创建和使用 SQLite 内存数据库
				
									
					
					
						 | 
						
							
							admin 
							
							
								2025年5月10日 9:34
								本文热度 2051
							
							 
						 | 
					
					
				 
				
SQLite 是一个轻量级的关系型数据库管理系统,广泛应用于许多应用程序中。它的内存数据库功能允许在内存中运行数据库,这对于需要快速访问和处理数据的场景非常有用。本文将详细介绍如何在 C# 中使用 SQLite 创建和操作内存数据库,并通过示例进行讲解。
什么是 SQLite 内存数据库?
SQLite 内存数据库与常规 SQLite 数据库的主要区别在于它们存储数据的位置。内存数据库在 RAM 中创建,数据存取速度快。而常规数据库则存储在磁盘上,读写速度较慢。内存数据库的创建方式为 :memory:。
使用 C# 操作 SQLite 内存数据库
1. 准备工作
首先,确保你的 C# 项目中已经安装了 System.Data.SQLite 库。如果还没有安装,可以通过 NuGet 包管理器运行以下命令:
Install-Package System.Data.SQLite
2. 创建内存数据库并进行操作
下面是一个简单的示例,演示如何在 C# 中创建SQLite内存数据库,并进行基本的增、查、改、删操作。
using System.Data.SQLite;
namespace AppMemory
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 连接到内存数据库
            using (var connection = new SQLiteConnection("Data Source=:memory:"))
            {
                // 打开连接
                connection.Open();
                // 创建表
                string createTableQuery = @"
                    CREATE TABLE Users (
                        Id INTEGER PRIMARY KEY AUTOINCREMENT,
                        Name TEXT NOT NULL,
                        Age INTEGER NOT NULL
                    );";
                using (var command = new SQLiteCommand(createTableQuery, connection))
                {
                    command.ExecuteNonQuery();
                }
                // 插入数据
                string insertDataQuery = @"
                    INSERT INTO Users (Name, Age) VALUES ('Alice', 30);
                    INSERT INTO Users (Name, Age) VALUES ('Bob', 25);";
                using (var command = new SQLiteCommand(insertDataQuery, connection))
                {
                    command.ExecuteNonQuery();
                }
                // 查询数据
                string selectDataQuery = "SELECT * FROM Users;";
                using (var command = new SQLiteCommand(selectDataQuery, connection))
                {
                    using (var reader = command.ExecuteReader())
                    {
                        Console.WriteLine("用户列表:");
                        while (reader.Read())
                        {
                            Console.WriteLine($"ID: {reader["Id"]}, 名称: {reader["Name"]}, 年龄: {reader["Age"]}");
                        }
                    }
                }
                // 更新数据
                string updateDataQuery = "UPDATE Users SET Age = 31 WHERE Name = 'Alice';";
                using (var command = new SQLiteCommand(updateDataQuery, connection))
                {
                    command.ExecuteNonQuery();
                }
                // 删除数据
                string deleteDataQuery = "DELETE FROM Users WHERE Name = 'Bob';";
                using (var command = new SQLiteCommand(deleteDataQuery, connection))
                {
                    command.ExecuteNonQuery();
                }
                // 再次查询数据
                using (var command = new SQLiteCommand(selectDataQuery, connection))
                {
                    using (var reader = command.ExecuteReader())
                    {
                        Console.WriteLine("更新后的用户列表:");
                        while (reader.Read())
                        {
                            Console.WriteLine($"ID: {reader["Id"]}, 名称: {reader["Name"]}, 年龄: {reader["Age"]}");
                        }
                    }
                }
            }
        }
    }
}
代码详解
- 连接数据库使用 
SQLiteConnection 类创建连接,该连接指向内存数据库 Data Source=:memory:。 - 创建表使用 
CREATE TABLE SQL 语句创建一个名为 Users 的表,其中包含 id、name 和 age 字段。 - 插入数据使用 
INSERT INTO SQL 语句向 Users 表中插入数据。 - 查询数据使用 
SELECT SQL 语句查询所有用户,并通过 SQLiteDataReader 逐行读取数据。 - 更新数据
 - 删除数据
 
总结
通过以上示例,你已经学会了如何在 C# 中使用 SQLite 内存数据库进行基本的 CRUD 操作。内存数据库适用于临时存储和快速数据访问的场景,非常适合性能要求较高的应用程序。
希望这篇文章能够帮助你更好地理解和使用 SQLite 内存数据库!
阅读原文:原文链接
该文章在 2025/5/10 10:31:55 编辑过