公众号「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. Unity的IPreprocessShaders:深入解析与实用案例

    Unity IPreprocessShaders Unity IPreprocessShaders是Unity引擎中的一个非常有用的功能,它可以让开发者在编译Shader时自定义哪些操作需要被执行.这 ...

  2. 一文理解GIT的代码冲突

    对于GIT,不知道有没有人和我一样,很长时间都是小心翼翼.紧张兮兮,生怕一不小心,自己辛苦写的代码没了. 特别是代码冲突,更是难到我无法理解,每次都要求助于百度,跟着人家的教程一步步解决,下一次还是这 ...

  3. PE文件结构2(实现PE文件载入)

    现在我们已经学完了PE文件格式,但是尚还停留在纸上谈兵的阶段,作为Windows系统上的可执行文件格式,PE文件结构总是和结构体,指针等紧密联系在一起的.理解它的最好方法就是通过写一个类似LordPE ...

  4. Java日志系列:Log4j使用和原理分析

    目录 一.简介 二.使用 三.日志级别 四.组件说明 Loggers Appenders Layouts 五.配置 加载初始化配置 配置文件加载 查看日志记录器的详细信息 六.Layout的格式 七. ...

  5. 接到一个新需求应该怎么做?(V1.0)

    接到一个新需求应该怎么做?(V1.0) 1 背景 在做业务研发的时候,经常会接到一些 产品需求/技术需求, 无论需求大小,都需要一套可以重复使用的方法论,来保证整个项目的正常交付,这篇思考就是总结梳理 ...

  6. python列表的增删

    list = [1, 2, 3, 4]# 打印后两位print(list[-2:])# 打印前2位print(list[:2])# 修改列表元素list[0] = 5print(list)# 添加元素 ...

  7. vue3+ts Axios封装—重复请求拦截

    创建好vue3项目 1.安装Axios与Element Plus Axios安装 npm install axios Element Plus 安装 官网入口:https://element-plus ...

  8. 触动精灵生成的APK文件如何加固保护

    触动精灵是一款模拟手机触摸.按键操作的软件,通过制作脚本,可以让触动精灵代替双手,自动执行一系列触摸.按键操作, 深受一些极客开发者喜爱. 触动精灵生成的APK文件自带了一些基础的加密,可以保护APK ...

  9. 基于Protege的知识建模实战

    一.Protege简介.用途和特点 1.Protege简介 Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件.这个软件 ...

  10. [SDR] SDR 教程实战 —— 利用 GNU Radio + HackRF 手把手深入了解蓝牙协议栈(从电磁波 -> 01数据流 -> 蓝牙数据包)

    目录 0.前言 1.体验 2.代码解析 2.1 目录结构 2.2 main.py 2.3 grc gnu radio 流程图 2.4 如何从 01 数据流中解析出 BLE 广播包 2.4.1 物理层 ...