公众号「DotNet学习交流」,分享学习DotNet的点滴。

SqlSugar简介

SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队

维护和更新 ,开箱即用最易上手的.NET ORM框架 。生态圈丰富,目前开源生态仅次于EF Core,但是在需要多库兼容的项目或产品中更加偏爱SqlSugar。

官网:SqlSugar .Net ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网 (donet5.com)

MySQL简介

MySQL 是一个开源的关系型数据库管理系统(RDBMS),它是一种流行的数据库管理系统,广泛用于开发各种类型的应用程序,从小型网站到大型企业级应用,以及嵌入式系统等。

官网:MySQL

基础用法示例

打开NuGet解决方案

所用.NET框架如果是.NET Framework则选择SqlSugar

所用.NET框架如果是.NET Core则选择SqlSugarCore

本示例使用的是.NET 6,因此选择安装SqlSugarCore

为项目安装SqlSugarCore

数据库中Student表的设计如下所示:

id为主键并设置为自增

项目右键——添加——类

新建Student类代码如下所示:

    class Student
  {
      [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
       public int Id { get; set; }
       public string? Name { get; set; }
       public int Age { get; set; }
       public string? Home { get; set; }
  }

在Id属性上加[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]是因为在数据库中Id是主键并且自增,需要与数据库中一致。

连接到MySQL数据库

        //SqlSugar连接到MySQL数据库
       SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
      {
           DbType = SqlSugar.DbType.MySql,
           ConnectionString = "你的MySQL连接字符串",
           IsAutoCloseConnection = true
      });

为了便于演示,在窗体上添加四个按钮,分别为插入、查询、修改、删除按钮,如下图所示:

插入功能的演示

插入可以插入单条和多条

单条插入示例

 private void button1_Click(object sender, EventArgs e)
{
           Student student = new Student();
           student.Name = "小明";
           student.Age = 20;
           student.Home = "湖北武汉";
           db.Insertable(student).ExecuteCommand();
}

点击之后,查看数据库,如下图所示:

已成功插入

多条插入示例

 private void button1_Click(object sender, EventArgs e)
{
           List<Student> students = new List<Student>();
           students.Add(new Student() { Name = "小红", Age = 25, Home = "福建福州"});
           students.Add(new Student() { Name = "小钢", Age = 25, Home = "福建厦门" });
           students.Add(new Student() { Name = "小王", Age = 25, Home = "福建泉州" });
           students.Add(new Student() { Name = "小绿", Age = 25, Home = "江西南昌" });
           students.Add(new Student() { Name = "小吴", Age = 25, Home = "湖北襄阳" });

           db.Insertable(students).ExecuteCommand();
}

点击之后,查看数据库,如下图所示:

成功插入了多条数据

查询功能的演示

查询表中所有数据

 var list = db.Queryable<Student>().ToList();

运行结果如下图所示:

条件查询,以年龄大于20岁为例

db.Queryable<Student>().Where(it => it.Age > 20).ToList();

运行结果如下图所示:

查单条

 var single = db.Queryable<Student>().Single(it => it.Id == 1);

运行结果如下图所示:

查字段,以Name为例

var list3 = db.Queryable<Student>().Select(it => it.Name).ToList(); 

运行结果如下图所示:

修改功能的演示

以修改id=3的学生的home为“广东珠海”为例

            var single = db.Queryable<Student>().Single(it => it.Id == 3);
           single.Home = "广东珠海";
           db.Updateable(single).ExecuteCommand();

点击之后,查看数据库,如下图所示:

删除功能的演示

条件删除,以删除id=1为例

  db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();

根据主键数组删除,以删除id=2和3为例

  db.Deleteable<Student>().In(new int[] {2, 3}).ExecuteCommand();

点击之后,查看数据库,如下图所示:

总结

本文简单介绍了C#使用SqlSugar操作MySQL数据库实现简单的增删改查。

C#使用SqlSugar操作MySQL数据库实现简单的增删改查的更多相关文章

  1. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  2. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  3. Python操作MySQL数据库完成简易的增删改查功能

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...

  4. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  5. 数据库中简单的增删改查(CRUD)

    一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...

  6. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  7. 用JDBC连接 数据库 进行简单的增删改查

    JDBC为java的基础.用jdbc实现对数据库的增删改查的功能是程序员的基本要求.本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包. ...

  8. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  9. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  10. Java连接MySQL数据库,并进行增删改查

    1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...

随机推荐

  1. cockpit--一款开源的适用于单主机的Linux监控面板

    在搜索Linux监控时,偶然发现一款还不错的监控面板,该面板为red hat开发,适用于各种Linux发行版,部署也非常方便,官方文档Running Cockpit - Cockpit Project ...

  2. 使用 docker 打包构建部署 Vue 项目,一劳永逸解决node-sass安装问题

    文章源于 Jenkins 构建 Vue 项目失败,然后就把 node_modules 删了重新构建发现 node-sass 安装不上了,折腾一天终于可以稳定构建了. 犹记得从学 node 的第一天,就 ...

  3. 三维模型OSGB格式轻量化的数据压缩与性能平衡分析

    三维模型OSGB格式轻量化的数据压缩与性能平衡分析 在三维模型应用中,OSGB格式轻量化处理是一种常见的技术手段,它可以通过数据压缩.简化.滤波等操作,降低三维模型数据的存储空间和传输带宽需求,提高应 ...

  4. AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成

    写在前面的话 近期在小红书发现了许多极其可爱.美观的萌宠图片,对这些美妙的图像深深着迷 于是想着看看利用AI绘画StableDiffusion以下简称(SD)做出来. 以下是详细实操的全过程,包括所有 ...

  5. 《CTFshow-Web入门》05. Web 41~50

    @ 目录 web41 题解 原理 web42 题解 原理 web43 题解 原理 web44 题解 原理 web45 题解 原理 web46 题解 原理 web47 题解 web48 题解 web49 ...

  6. Jenkins持续集成入门到精通(入门篇)

    1. 什么是持续集成 持续集成(Continuous integration,简称CI)指的是频繁将代码集成到主干.它的目的,就是让产品可以快速迭代,同时保持高质量.核心措施,代码集成到主干之前,必须 ...

  7. @Validated指定校验顺序

    在Java中,使用@NotNull注解时,可以指定多个参数的顺序.为了指定顺序,你可以使用@GroupSequence注解. 首先,为每个需要校验的参数定义一个接口,并在接口上添加@GroupSequ ...

  8. Record -「Tricks」记录

    曼哈顿距离 \(\text{dist}(A,B)=|x_{A}-x_{B}|+|y_{A}-y_{B}|\) 可以拆成 \(\max\{x_{A}-x_{B}+y_{A}-y_{B},x_{A}-x_ ...

  9. Solution Set -「ABC 183」

    本来十分抗拒,但 GM 强制. 「ABC 183A」ReLU Link. 略. #include<cstdio> int main() { long long n; scanf(" ...

  10. 开源.NetCore通用工具库Xmtool使用连载 - 扩展动态对象篇

    [Github源码] <上一篇> 介绍了Xmtool工具库中的图形验证码类库,今天我们继续为大家介绍其中的扩展动态对象类库. 扩展动态对象是整个工具库中最重要的一个设计.在软件开发过程中, ...