|
前言
前一篇说了NOSQL的增删改查,今天来说说SQL数据库MySQL的增删改查。虽然本人已大部分是NOSQL数据库,但是SQL类数据库有些功能,比如查询还是比起NOSQL还是有优势的。
如查询产量大于100,SQL是这样的“xxx>100”,而NOSQL,是这样的“{xxx:{ $gt: 100} }”。要是条件复杂点,像统计,几个JSON嵌套下来,直接打消了好多人学下去的欲望。
话不多说,现在切入正题
让我一步一步带你增删改查。
安装
Install-Package DbCRUD.Mysql 安装包
数据库连接及初始化
- //数据库连接
- IDbCRUD testdb = new MysqlCRUD(@"Server=127.0.0.1;Database=testdb;Uid=root;Pwd=;");
复制代码 插入数据
- //获取最大ID,用于ID编号
- int dbcount = testdb.TableExists(tb_custormer) ? testdb?.Count(tb_custormer) ?? 0 : 0;
- //**同步插入对象数据
- var customer = new CrudTestModel
- {
- ID = dbcount + 1, //如果要使用DB自身编号功能,ID不要赋值即可
- Name = "对象插入",
- Phones = new string[] { "80000", "90000" },
- IsActive = true,
- };
- var result = testdb.Insert(tb_custormer, customer);
复制代码- //**同步插入字典数据
- var dic1 = new Dictionary<string, object>
- {
- //{ "ID", 1 },//***如果不指定ID,插入时会自动编一个int的唯一ID
- { "Name", "mysql自动编号插入" },
- { "Qty", 19},
- { "DDate", DateTime.Now }
- };
- var result11 = testdb.Insert(autoIDData, dic1);
- //**批量插入列表
- List<Dictionary<string, object>> listdata = new List<Dictionary<string, object>>();
- int maxid = testdb.Max<int>(dictable);
- for (int i = 0; i < 10; i++)
- {
- maxid++;
- var dic2 = new Dictionary<string, object>
- {
- { "ID",maxid },
- { "Name", $"批量插入{i}" },
- { "Qty", 19+maxid},
- { "DDate", DateTime.Now }
- };
- listdata.Add(dic2);
- }
- var listResult= testdb.Insert(dictable, listdata);
复制代码 更新数据
- //更新前
- var updatepre = testdb.Find<Dictionary<string, object>>(dictable, "ID=2")?.FirstOrDefault();
-
- var updata = new Dictionary<string, object>
- {
- { "Name", "更新指定字段数据" },
- { "Qty", 600}
- };
- var upresult = testdb.UpDate(dictable, updata, "ID=2"); //更新ID=2的数据
- Assert.IsTrue(upresult.Stutas);
- //更新后
- var getupdata = testdb.Find<Dictionary<string, object>>(dictable, "ID=2")?.FirstOrDefault();
- Assert.AreEqual(300, getupdata.GetValueOrDefault("Qty", 0));
复制代码
更新及插入数据(数据存在更新,不存在插入)
- //** 更新或插入数据
- var dic1 = new Dictionary<string, object>
- {
- { "ID", 2 },
- { "Name", "插入或更新单条数据" },
- { "Qty", 200},
- { "DDate", DateTime.Now }
- };
- var result= testdb.Upsert(dictable, dic1);
- //** 批量插入或更新
- var dic3 = new Dictionary<string, object>
- {
- { "ID", 3 },
- { "Name", "批量插入或更新" },
- { "Qty", 300},
- { "DDATE", DateTime.Now }
- };
- List<Dictionary<string,object>> listdata=new List<Dictionary<string, object>> { dic3,dic1};
- var listresult = testdb.Upsert(dictable, listdata);
复制代码 查询数据
- //查找id=2的数据
- var databyid = testdb.FindByID<Dictionary<string, object>>(dictable,2);
- //查找Qty>10的数据
- var wheredata = testdb.Find<Dictionary<string, object>>(dictable, "Qty>10");
- //sql语句查找的数据
- string sqlcmd = $"select * from {dictable}";
- var sqldata = testdb.Find<Dictionary<string, object>>(sqlcmd);
- //分页查找的数据
- var pagedata = testdb.GetPagingData<Dictionary<string, object>>(dictable, "Qty>10",pageindex:1,pagenumber:10);
复制代码
删除数据
[code] //**删除_id=3的数据 var result = testdb.Delete(dictable,3); //**删除qty |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|