关于写mysql的心得(1)

1 篇文章 0 订阅
1 篇文章 0 订阅

在使用mysql.data的时候.net4.0只能使用mysql.data6.9.12版本及以下版本,且所有的版本mysql的连接语句都基本相同。数据库都是可以不设置密码进行访问的

如果在连接失败时,查看报错信息,有可能是数据库损坏导致,而非版本使用不兼容导致。本人遇到过数据库信息损坏,可以使用.net4.52及以上版本和mysql.data6.10.9及以上版本进行连接访问,在使用.net4.0和mysql.data6.9.12版本时报错,身份验证失败。

关于AS命名的用法:使用AS命名时,可以将整个查询结果作为一个对象,用AS字符来实例化对象和重新命名。例如:(SELECT SerNo,JobName FROM TBJobInfo WHERE SerNo = (SELECT JobIndex FROM TBBoard  WHERE EndTime BETWEEN "2020-11-24 10:30:00" AND "2020-11-24 11:30:00" LIMIT 1)) AS t2。  这里是将前面的查询结果的表重新命名为t2的意思。多用于SQL数据库表之间的内连接,外连接,全连接上等。                                                                                                                                                                                                                                              并且AS还可以用于重新命名查询结果的列名中。例如:SELECT (MAX(PosYmm)+MIN(PosYmm))/2 AS PosYmm FROM TBSimplePad WHERE JobIndex=(SELECT JobIndex FROM TBBoard  WHERE EndTime BETWEEN '2021-1-7 8:30:00' AND '2021-1-7 9:00:00' LIMIT 1) AND FovNo!=-1     这里是将最后的查询结果列名 (MAX(PosYmm)+MIN(PosYmm))/2 重新命名为Posymm,不然的话该参数无法传递给前面的PosYmm,例如:PosYmm>(SELECT (MAX(PosYmm)+MIN(PosYmm))/2 AS PosYmm FROM TBSimplePad WHERE JobIndex=(SELECT JobIndex FROM TBBoard  WHERE EndTime BETWEEN '2021-1-7 8:30:00' AND '2021-1-7 9:00:00' LIMIT 1) AND FovNo!=-1)  只有当表的列名为PosYmm时才能与前面的PosYmm想对比参数。

在使用SQL语句查询的时候需要使用到变量时,形参与字符串的连接方式为:' "+形参+" '(单引号,双引号,加号)  的方式  例如: string Sql = "SELECT PerHeight FROM TBPadMeasure WHERE PCBID = (SELECT PCBID FROM TBBoard WHERE EndTime BETWEEN '" + TimeStart + "' AND '" + TimeEnd + "' LIMIT 1) AND PadID IN ('" + PadId + "')";

C#在输出表内信息方式:每行读取完后,判断当前行是否为最后一行逻辑。例如:

 while (reader.Read())               //读取mysql一行中每一列的数据,
                {
                                                //数据保存在reader[i]中,i代表的是第几列中给的数据
                    if (reader.HasRows)
                    {
                        //Console.Write(reader[10]);
                        for (int i = 0 ; i < j-1; ++i)
                        {
                            //Console.Write(reader[i]);
                            //Console.Write("\t");

                            Form1.TableHeight[num] = Convert.ToSingle(reader[i]); //int.parse强制转换为int类型    
                            
                           

具体可以参考(https://www.cnblogs.com/void0/p/4230986.html

mysql的管理可以使用Navicat 来进行可视化管理,可以的操作包括:查看用户信息,增加用户等。

mysql查询语句标准格式:SELECT  PadID(需要查询的字段)  FROM TBPadMeasure(要查绚的表) WHERE  PCBID=50(需要给的条件);

其中如果想要有多个相同的条件可以使用  IN字段;例如:SELECT PerHeight FROM TBPadMeasure WHERE PCBID IN (500,600,800);

如果是想多个条件一起判断,可以在条件里面使用and连接语句来判断。 例如:SELECT JobIndex FROM TBBoard  WHERE EndTime BETWEEN '2020-11-24 10:30:00' AND  '2020-11-24 11:30:00' LIMIT 1

想要对查询结果排序可以使用 DESC(倒序)  和  ASC(升序)  ,来找出最大最小值。例如:SELECT JobIndex FROM TBBoard  WHERE EndTime BETWEEN '2020-11-24 10:30:00' AND  '2020-11-24 11:30:00' LIMIT 1

表的连接方式:内连接,外连接,全连接的使用方法和语句。

具体详细可参考(https://blog.csdn.net/zjt980452483/article/details/82945663?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160829190816780277884191%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=160829190816780277884191&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-3-82945663.first_rank_v2_pc_rank_v29&utm_term=%E5%86%85%E8%BF%9E%E6%8E%A5%E5%92%8C%E5%A4%96%E8%BF%9E%E6%8E%A5%E6%9F%A5%E8%AF%A2

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL Connector/Net 版本所需的 .Net Framework 版本 不同的版本 MySQL Connector/Net 所需的 .Net Framework 版本也是不同的: MySQL Connector/Net 6.9.12 需要 .Net Framework 4.0 或更高版本支持。(2018-04-30, General Availability) MySQL Connector/Ne 6.10.1 需要 .Net Framework 4.5.1 或更高版本支持。 MySQL Connector Net 6.10.2 到最新的 MySQL Connector Net 8.0.20 需要 .Net Framework 4.5.2 或更高版本MySQL Connector/NET 6.9.12 支持与 MySQL Server 8.0.3 以及之前版本MySQL Server连接。 从官方网站下载mysql-connector-net-8.20.0.msi安装之后,安装目录下的Assemblies中只有v4.5.2的MySql.Data.dll,也就是说它需要 v4.5.2 以上版本的 .Net Framework 支持。如果VS项目的目标框架是.NET Framework 4.5.2或更高版本,则引用正常;将项目的目标框架改为.NET Framework 4 再进行编译就会报错,提示“ 未能解析主引用“MySql.Data, Version=...... 该程序集是针对 .NETFramework,Version=v4.5.2 框架生成的......该框架版本高于当前目标框架 .NETFramework,Version=v4.0”。这表明这个 MySQL Connector/Net 的 MySql.Data.dll 需要 .Net Framework v4.5.2 的支持。 如果项目的目标框架是 .Net Framework v4.0 则最高只能使用 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 。而需要注意的是 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 是在2018-04-30发布的,官方文档显示支持与 MySQL Server 8.0.3 及之前的版本MySQL Server连接。 C#通过MySql.Data.dll连接MySql数据库 在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里就看你表演了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值