关于写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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值