mysql进阶及基础练习

一、select命令

1.查询语句中你可以使用一个或者多个表,表之间使用逗号分隔,并使用Where语句来设定查询条件.

2.select命令可以读取一条或者多条记录.

3.*是通配符,如果select * from table1.  会得到所有的数据.

4.可以使用limit属性来设定返回的记录数.

5.可以通过offset指定selelct语句查询数据的偏移量.默认情况下偏移量为0,如果偏移为1,那么数据会从第2条开始查询.

6.通常情况下offset是和limit语句一起使用的.

7.查询过后的结果可以使用order by (id)/(-id) ,进行查询. 如果是正的是按id的降序进行排列,负号为升序排列

    例:    1.select id,name from student where name='coco' ordey by (-id);

            2.select id,name from student where name='coco' limit 1 offset 1;

二、外键与主键

1.外键用于关联两个表.

2.主键是唯一的,一个数据表中只能包换一个主键, 可以使用主键来查询数据.

使用如下:

    例:    create table student(id int auto_increment, s_name varchar(10) not null, s_tel varchar(11), g_id int default null, primary key(id), foreign key(g_id) references grades(id));

    这样就设置了外键了,通过外键g_id=grades.id 就可以将两个表关联起来进行查询.

    注意:    1. 外键的设置必须对应设置,否则无效或者得不到想要的关联效果.

               2. 在进行关联之前,必须先建立被关联的表,否则外键将设置不了.

3.根据外键关联查询

    例:select * from student s join grade g on g.id=s.g_id where g.g_name='python';

    注意:    1.其中的grade g 和 student s 都是别名,相当于 grade as g 和student as s,别名以后使用起来更加方便

             2.上面语句的查询效果是: 将student表和grade表关联起来进行查询,要满足条件grade表的g_name字段要等于'python', 并将查询到的数据全部字段显示出来.

4.聚合函数

    上面是聚合函数: 对统计的结果进行二次筛选,分组,排序,求和,求最大值与最小值,求平均值等.

    有如下字段:

    1.group by 字段: 按字段将记录分组,通常和其他的函数联合使用, group by操作后, 返回每一组的第一条记录.

    2.order by根据指定字段进行排序, 默认升序排序, 可以指定多个排序字段,按照字段先后分别排序.

    3.sum(expr) 求和

    4.avg(expr)   求平均数

    5.count(expr) 计数器,返回select语句检索到的行中非null值的数目

    6.max(expr) 获取最大值

    7.min(expr) 获取最小值

    例: 1.select s.s_name as '学生姓名', g.g_name as '班级名称' from student s join grade g on s.g_id=g.id group by (g.id);

         2.select count(*) as '学生个数', g.g_name as '班级名称' from student s join grade g on s.g_id=g.id group by(g.id);

         3.select max(s_price) from student;

         4.select min(s_price) from student;

         5.select avg(s_price) from student;





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值