C#使用SqlSugar操作MySQL数据库实现简单的增删改查
公众号「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数据库实现简单的增删改查的更多相关文章
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- Python操作MySQL数据库完成简易的增删改查功能
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- 数据库中简单的增删改查(CRUD)
一切都是基于数据,而对数据的管理都离不开数据库.最近学到数据库的简单操作,所以写下这篇文章,总结一下学习到的知识.浅陋之处,多多见谅. 补充一下:一直弄不清SQL Server,Mysql ,以及Or ...
- Mysql数据库和表的增删改查以及数据备份&恢复
数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...
- 用JDBC连接 数据库 进行简单的增删改查
JDBC为java的基础.用jdbc实现对数据库的增删改查的功能是程序员的基本要求.本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包. ...
- MySQL数据库 | 数据表的增删改查
MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...
- 在python中连接mysql数据库,并进行增删改查
数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...
- Java连接MySQL数据库,并进行增删改查
1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...
随机推荐
- 基于 Habana Gaudi 的 Transformers 入门
几周前,我们很高兴地 宣布 Habana Labs 和 Hugging Face 将开展加速 transformer 模型的训练方面的合作. 与最新的基于 GPU 的 Amazon Web Servi ...
- Cilium系列-14-Cilium NetworkPolicy 简介
系列文章 Cilium 系列文章 前言 今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容. 网络策略(N ...
- 基于proxysql实现MySQL读写分离
前言 环境: 系统版本:CentOS 7 MySQL版本:5.7.35 MySQL主从配置略过. 安装 # 安装 yum localinstall -y ./proxysql-2.2.0-1-cent ...
- Unity的IPreprocessComputeShaders:深入解析与实用案例
Unity IPreprocessComputeShaders Unity IPreprocessComputeShaders是Unity引擎中的一个非常有用的功能,它可以让开发者编译Compute ...
- 《深入理解Java虚拟机》读书笔记:Class类文件的结构
Class类文件的结构 Sun公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的的程序存储格式--字节码(ByteCode),从而实现了程序 ...
- Minio 安装部署
minio 入门 简介 简介 自己看官网 https://min.io/docs/minio/kubernetes/upstream/ 安装部署 (1)Linux服务器安装 minio 可以采用以下几 ...
- 通过Nginx权限认证拦截资源
nginx认证转发模块 Module ngx_http_auth_request_module 详细参考官网 ngx_http_auth_request_module (nginx.org) 模块 ...
- LeetCode 周赛上分之旅 #43 计算机科学本质上是数学吗?
️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...
- WPF开发必备
类库 1.XamlFlair The goal of the XamlFlair library is to ease the implementation of common animations ...
- DHorse v1.4.0 发布,基于 k8s 的发布平台
版本说明 新增特性 提供Fabric8客户端操作k8s(预览)的功能,可以通过指定-Dkubernetes-client=fabric8参数开启: Vue.React应用增加Pnpm.Yarn的构建方 ...