mysql学习总结(二)

本文详细介绍了SQL的基本操作,包括唯一索引、联合唯一索引的创建,数据的增删改查,以及闭区间查询、通配符查询、排序查询、分组查询、分页查询和连表操作等高级查询技巧。

1.索引

       唯一索引和联合唯一索引

          唯一索引:unique(列名) :有添加unique关键字的列名在列名下的数据不会重复,添加unique关键字的列表能够提高查询效率

         联合唯一索引: unique(列名1,列名2,....) 特性是在括号内存在多个列名,它的规则是同表下不能出现相同的一行数据,可以用来建立多对多的数据表

       增:

         copy数据的sql语句:insert into 表名(列名) select 列名 from 另一个表名;

       删:

           delete from 表名 where id =表id and / or   name='xxxxxx';根据条件删除数据

      改:

             update 表名 set name='xxxxx',age='xxxxx'  where  id =表id;

    查询:(重点)

              1.闭区间查询

                        select * from 表名  where id  between 9 and 35; 查询id 9到35之间的数据 

              2.通配符查询:

                           select * from 表名 name like '李%';

              3.排序查询

                      降序: select * from 表名 order by 列名  desc; 

                      升序: select*from 表名 order by 列名  asc;

                       多列升序降序: select * from 表名 order by 列名 desc, 列名 asc;

               4.分组查询:把一组中相同的数据进行排序

                  select age, count(num) from 表名 as 别名 group by age; 

                 select age,count(num) as cnt from 表名 group by age  having cnt >1;

                    having的=实现二次查询;

                   where 和having的区别:

                           1.having与where类似,可以筛选数据

                            2.where针对表中的列表发会作用,查询数据

                            3.having针对查询结果中的列表发挥作用,二次筛选数据,和group by 配合使用

              5.分页查询:

                         select * from 表名 limit (page-1)*offset, offset;

             6.连表操作:

                         左连接:

                               select * from 表1 left join 表2 on 表1.id=表2.id;

                         右连接:

                               select * from 表1 right join 表2  on 表1.id=表2.id

                        内连接:

                                   select * friom 表1 inner join 表2  on 表1.id=表2.id;

 

查询顺序:

      select name,sum(score) from 表     

              1.where id > 10   

              2.group by    score 

              3.having     age> 12     

              4.order by age   desc

              5.limit 2, 10 

 

转载于:https://www.cnblogs.com/xzcvblogs/p/11019587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值