【C#】.Net Framework框架下使用SQLike以及基本概念

这篇具有很好参考价值的文章主要介绍了【C#】.Net Framework框架下使用SQLike以及基本概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023年,第32周,第2篇文章。给自己一个目标,然后坚持总会有收货,不信你试试!
在C#的.NET Framework框架下,有很多轻量级数据库选择,比如:SQLike就是其中一款,一起来了解SQLike的简单使用吧。

一、轻量级数据库

【C#】.Net Framework框架下使用SQLike以及基本概念,C#,c#,.net,开发语言,SQLike

1.1、基本概念

轻量级数据库是指具有较小的存储需求、资源消耗较低、易于部署和使用的数据库系统。
它们通常专注于提供基本的数据存储和查询功能,适用于小型应用、嵌入式系统或具有临时性存储需求的项目。

1.2、SQLite

SQLite 是一个自包含、无服务器、零配置、事务性的关系型数据库引擎。
它的特点是文件级别的存储,可以直接使用单个文件作为数据库。
SQLite 被广泛应用于各种平台和编程语言,包括移动应用开发、桌面应用开发和嵌入式系统等。

1.2、Berkeley DB

Berkeley DB 是一个用于嵌入式系统的数据库引擎。
它提供了快速、可靠的键值对存储和查询功能,支持 ACID 事务操作。
Berkeley DB 非常灵活,可以用作持久化存储、缓存、日志文件等多种用途。

1.3、LevelDB

LevelDB 是一个键值对存储引擎,由 Google 开发。
它基于日志结构合并(Log-Structured Merge,LSM)树的数据结构,拥有快速写入和查询性能。
LevelDB 是开源的,并且支持多种编程语言的绑定。

1.4、Redis

Redis 是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息中间件等多种用途。
它支持多种数据结构(如字符串、哈希表、列表、集合、有序集合等),具有高性能、高并发和可扩展性。

1.5、H2 Database

H2 是一个用 Java 编写的嵌入式关系型数据库引擎。
它支持 SQL 数据库标准和 JDBC API,并提供了丰富的功能,包括内存数据库、持久数据库、集群数据库等。

这些轻量级数据库各有特点,可以根据项目的具体需求选择适合的数据库。
它们通常易于部署、配置和使用,适用于小型应用或具有资源限制的环境。
请注意,虽然这些数据库可以处理较小规模的数据存储需求,但在大规模和高并发场景下,可能需要使用更强大的数据库系统。
因此,在选择数据库时,需要根据项目的规模、性能要求和可扩展性等因素进行评估。

【C#】.Net Framework框架下使用SQLike以及基本概念,C#,c#,.net,开发语言,SQLike

二、SQLike优点

SQLike 是一个轻量级的嵌入式 SQL 数据库引擎,它具有以下一些特点:

2.1、简单易用

SQLike 的语法与标准的 SQL 语法相似,使得它易于学习和使用。它提供了常见的 SQL 操作,例如 SELECT、INSERT、UPDATE 和 DELETE,以及多表连接、聚合函数等功能。

2.2、小巧轻量

SQLike 的核心代码相对较小,仅依赖少量的外部库。这使得它对系统资源的消耗较低,并且适合在资源受限的环境中使用,如嵌入式设备或移动应用中。

2.3、嵌入式支持

SQLike 可以作为嵌入式数据库引擎直接嵌入到应用程序中。这样,它可以与应用程序一起发布,无需单独的数据库服务器,并且没有独立的数据库管理系统(DBMS)的配置和维护工作。

2.4、平台无关性

SQLike 是使用 C 语言编写的,可以在多个操作系统和平台上运行,如 Windows、Linux、macOS 等。这使得它具有较好的跨平台兼容性。

三、SQLike缺点

3.1、功能有限

由于 SQLike 的主要目标是提供一个简单的 SQL 数据库引擎,它可能在一些高级功能和扩展性方面有所限制。例如,它的支持某些复杂查询和优化技术的能力可能相对较弱。

3.2、性能有限

由于 SQLike 的设计着重于轻量级和简单性,它的性能可能不如一些专门设计用于高性能的数据库引擎。对于高并发、大数据量或复杂查询等场景,SQLike 的性能可能较弱。

3.3、缺少高级特性

相比于一些成熟的数据库系统,SQLike 可能缺乏高级特性,如事务处理、存储过程、触发器等。这些特性在某些应用场景下是必需的,但在 SQLike 中可能不可用。

总的来说,SQLike 是一个方便、易于使用和部署的轻量级嵌入式数据库引擎,适用于简单的数据存储和查询需求。但在复杂、高性能和高可扩展性的数据库场景中,可能需要考虑其他更为功能强大的数据库解决方案。

四、SQLike操作

3.1、创建数据库文件

默认可以使用database命名数据库名称,当然也可以根据自己业务情况命名。
默认数据库文件创建在程序员运行同一目录下,可以指定路径输出

string connectionString = "Data Source=database.db;Version=3;";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
    connection.Open();
    // 判断数据库文件
    string databasePath = "database.db";

    if (!File.Exists(databasePath))
    {
        SQLiteConnection.CreateFile(databasePath);
    }
}

【C#】.Net Framework框架下使用SQLike以及基本概念,C#,c#,.net,开发语言,SQLike

3.2、创建表

这里可以加一个逻辑判断,表不存在则创建表,否则不作操作

// 判断表
bool isTable = true;
string tableName = "MyTableName";
string query = $"SELECT name FROM sqlite_master WHERE type='table' AND name='{tableName}'";
using (SQLiteCommand command = new SQLiteCommand(query, connection))
{
    var result = command.ExecuteScalar();
    if (result == null)
    {
        isTable = false;
    }
}
// 创建表
if (!isTable)
{
    string createTableQuery = $"CREATE TABLE {tableName} (Id INTEGER PRIMARY KEY, countValue int,name Text)";
    using (SQLiteCommand command = new SQLiteCommand(createTableQuery, connection))
    {
        command.ExecuteNonQuery();
    }
}

3.3、添加表记录

根据上一步判断,都会确保存在表
// 并添加一条记录
if (!isTable)
{
    string insertDataQuery = $"INSERT INTO {tableName} (countValue,name) VALUES (99,'张三')";
    using (SQLiteCommand command = new SQLiteCommand(insertDataQuery, connection))
    {
        command.ExecuteNonQuery();
    }
}

3.4、查询表记录

// 查询表
string tableName = "MyTableName";
string queryText = $"SELECT * FROM {tableName}";
using (SQLiteCommand command = new SQLiteCommand(queryText, connection))
{
    using (SQLiteDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            // 获取每行的数据
            int id = reader.GetInt32(0);

            int CountValue = reader.GetInt32(1);
            string name = reader.GetString(2);
        }
    }
}

3.5、更新表记录

添加或者更新表记录时,同样是可以通过参数化进行操作

string databasePath = "database.db";
string connectionString = $"Data Source={databasePath};Version=3;";

using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
    connection.Open();

    // 创建 UPDATE 语句
    string updateQuery = "UPDATE MyTableName SET CountValue = @CountValue WHERE Id = @Id";

    using (SQLiteCommand command = new SQLiteCommand(updateQuery, connection))
    {
        // 设置 UPDATE 语句中的参数
        command.Parameters.AddWithValue("@CountValue", CountValue);
        command.Parameters.AddWithValue("@Id", IdValue);

        // 执行 SQL 语句
        int rowsAffected = command.ExecuteNonQuery();

        if (rowsAffected > 0)
        {
            // 更新成功
        }
        else
        {
            // 更新失败            
        }
    }

    connection.Close();
}

五、可视化管理工具

SQLike 并没有官方提供的可视化工具,因为它是一个轻量级的嵌入式 SQL 数据库引擎。
SQLike 更适合作为嵌入式数据库引擎直接嵌入到 C# 应用程序中使用,而不是作为一个独立的数据库服务器运行。

然而,你可以借助其他第三方可视化工具来管理和操作 SQLike 数据库。
这些工具可以提供类似于在其他数据库系统中使用的可视化界面和功能,如查询编辑器、数据视图、表格视图、图表展示等。

以下是一些常用的 SQL 数据库管理工具,可以与 SQLike 一起使用

5.1、DBeaver

DBeaver 是一款免费、开源的通用 SQL 数据库管理工具,支持多种数据库引擎。你可以通过 DBeaver 连接和管理 SQLike 数据库,并使用其提供的可视化界面进行数据操作和查询。

5.2、HeidiSQL

HeidiSQL 是一款专为 MySQL、MariaDB、SQL Server 和 PostgreSQL 等数据库引擎设计的可视化工具。虽然它的主要定位是关系型数据库,但你也可以尝试使用 HeidiSQL 连接和管理 SQLike 数据库。

5.3、Navicat(推荐)

Navicat 是一款商业数据库管理工具,支持多种数据库引擎,包括 MySQL、SQL Server、SQLite 和 PostgreSQL 等。你可以借助 Navicat 提供的界面和功能来管理 SQLike 数据库。

这些工具都提供了可视化、用户友好的界面,可以帮助你更方便地管理数据库、执行查询和操作数据。
你可以选择适合自己的工具,并通过连接 SQLike 数据库来使用。
需要注意的是,这些工具通常是为关系型数据库设计的,可能不会提供特定于 SQLike 的功能或优化。
因此,在使用这些工具时,可能会有一些功能限制或兼容性问题。文章来源地址https://www.toymoban.com/news/detail-667972.html

到了这里,关于【C#】.Net Framework框架下使用SQLike以及基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Visual Studio更改并下载.Net Framework目标框架以及Nuget包下载

    🌀当使用.net进行开发时,开发的项目与.net framework目标框架会非常密切相关的,所以当vs本地使用的.net framework框架与该项目工程的框架不一致的时候,就可能打开不了当前项目,解决这个问题的方法有: 第一种:要更改目标框架以适应当前VS的; 第二种:或者根据目标框架

    2024年02月05日
    浏览(53)
  • ASP.Net Core Web API结合Entity Framework Core框架(API的创建使用,接口前端权限设置,前端获取API的Get,post方法)(程序包引用以及导入数据库)

    目录 1. Web Api 程序包引用 2. Web Api 的创建与Http类型的介绍 2.1 ASP.Net Core Web API项目的创建 2 .2  API接口的创建 2.3 HttpGet和HttpPost类型的区别 3.接口权限设置 4.HttpGet方法和HttpPOst方法 5.前端中用HttpGet/Poset获取接口数据 6.EF框架——配置数据库链接字符串(即将数据库中的表导入项

    2024年02月08日
    浏览(56)
  • 【C# .NET 】使用 Entity Framework Core 操作sqlite数据库

    添加包 EF Core design package   NuGet Gallery | Home 使用用于 EF Core 迁移和现有数据库中的反向工程(基架)的工具需要安装相应的工具包: 可在 Visual Studio 包管理器控制台中使用的 PowerShell 工具的 Microsoft.EntityFrameworkCore.Tools 跨平台命令行工具的 dotnet-ef 和 Microsoft.EntityFramewor

    2024年02月14日
    浏览(46)
  • 切换.net Framework 版本后,出现NuGet 包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装

    由于添加新的dll文件,依赖的.NET Framework版本与当前的不一致,在vs 中切换了目标框架版本后,运行程序,出现以下的warnning信息: 一些 NuGet 包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装。有关详细信息,请访问 https://docs.nuget.org/docs/workflows/reinstalling

    2024年02月16日
    浏览(40)
  • Node.js基本概念、特点、用途和常用模块,以及Express框架开发一个web应用

    目录 一、Node.js的基本概念和特点 二、Node.js的用途 三、Node.js的常用模块 四、使用Node.js进行Web开发 1. 安装Node.js 2. PyCharm配置Node.js 3. 使用http库编写一个web服务 4. 使用Express框架构建Web应用程序 5. 调试代码 6. 发布应用程序 参考文章  Node.js系列文章推荐阅读: JavaScript匿名函

    2024年02月07日
    浏览(82)
  • C#和.NET FrameWork概述

    .NET FrameWork是由微软开发的一种面相对象的环境框架,特点如下: ①多平台:可在各种计算机、服务器、手机上运行。 ②标准化通讯协议:如XML、HTTP、JSON等。 ③安全性:CLR检查并确保参数及数据对象的类型安全。 ④简化部署:.NET程序不需要使用注册表注册 和 允许不同D

    2024年02月09日
    浏览(32)
  • C#核心笔记——(一)C#和.NET Framework

    C#是一种通用的,类型安全的面向对象编程语言。其目标是提高程序员生产力。 C#实现了丰富的面向对象范式,包括封装、继承、多态。 C#面向对象特性包括: 统一的类型系统 类与接口 属性、方法、事件 C#支持纯函数模式 C#是一门类型安全的语言。例如:C#不允许将字符串类

    2024年02月08日
    浏览(50)
  • 解决Unity游戏开发使用Visual Studio Enterprise 2022提示未找到目标框架.net framework4.7.1问题

    采用Visual Studio Installer安装Visual Studio Enterprise 2022,安装中勾选游戏下Unity游戏开发。 单个组件中确保勾选.NET Framework 4.7.1目标包 安装位置自定义修改至F盘后使用Visual Studio Enterprise 2022登录,在Unity设置使用Visual Studio Enterprise 2022并打开对应项目文件,提示未找到目标框架.net

    2024年02月10日
    浏览(49)
  • ASP.NET Website 项目 .NET Framework 4.0 ~ .NET Framework 4.8支持c#哪些版本(Website)

    本文讲的是Website网站项目,由于维护老项目Website .net framework4.0,遇到c#6.0语法不支持。便做了点记录 下面是关于 ASP.NET Website 项目在不同版本的 .NET Framework 下支持的 C# 版本的总结: ASP.NET Website 项目在 .NET Framework 4.0 中,默认使用 C# 4.0 版本。该版本不支持 C# 6.0 及更高版本

    2024年02月16日
    浏览(31)
  • .Net FrameWork 框架下使用System.Net.Mail封装类 发送邮件失败:服务器响应:5.7.1 Client was not authenticated 解决方案

    偶然兴起,想做一个后台监控PLC状态的服务。功能如下:监控到PLC状态值异常后触发邮件推送,状态改变后只推送一次。开始使用的是.net6.0开发框架开发,一切都很顺利,邮件也能正常推送。但由于现场工控机系统不是WIN10 20H2的最新版本,导致系统未安装.Net6.0 Runtime。而我

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包