广告
返回顶部
首页 > 资讯 > 数据库 >mysql学习笔记二 DQL
  • 461
分享到

mysql学习笔记二 DQL

mysql学习笔记二DQL 2018-07-25 03:07:49 461人浏览 绘本
摘要

-- 查询编号为1004的学生的姓名和生日 select name,birthday from student where id=1004; -- 查询年龄大于18的学生信息 select

mysql学习笔记二  DQL

-- 查询编号为1004的学生的姓名和生日  
    select name,birthday from student where id=1004;
-- 查询年龄大于18的学生信息  
    select * from student where age>18;
-- 查询小明的成绩  
	select name,score from student where name="小明";
-- 查询年龄在18到20之间的所有学生  
    select * from student where age>18 and age<20;
    select * from student where age between 18 and 20; 
-- 查询除了1003外的所有学生信息  
    select * from student where id != 1003;
    select * from student where id <> 1003;
-- 查询编号为1005或者年龄为18的学生信息  
    select * from student where id=1005 or age=18;
-- 查询编号为1003和编号为1005的学生信息  
    select * from student where id=1003 and id=1005;
    select * from student where id in(1003,1005);
-- 查询编号不是1003和1005的学生信息  
    select * from student where id not in(1003,1005);
-- 查询所有姓张的学生信息, 可以使用like关键字进行模糊查询  
   --like关键字需要配合通配符使用  
   --通配符有两个: %(任意个任意字符), _(任意一个字符)  
    select * from student where name like "张%";
-- 查询名字中带国的学生信息  
    select * from student where name like "%国%";
-- 查询名字第二个字符为明的学生信息  
    select * from student where name like "_明%";
-- 查询缺考学生的信息, score没有值, 不是为0  
    select * from student where score is null;
-- 查询没有缺考的学生信息  
    select * from student where score is not null;
    select * from student where not score is null;

2.select子句

select子句的作用是选择要查询的列,还包括以下功能:

  • 可以在select子句中进行运算;
  • 可以用distinct过滤重复的行数据;
  • 可以给列起别名。
-- 运算  
-- null不参与运算, 结果都是null  
   select name,score,scoer+10 from student;
-- 可以给列定义别名, 使用as关键字, 可以省略  
-- 别名最好不要出现特殊字符, 中文也不建议使用  
   select name, score, score+10 as new_score from student;  
   select name, score, score+10 new_score from student;  
   select name, score, score+10 "成绩" from student; 
-- ifnull函数,类似于java中的三目运算符,用于处理空值null,如果某个字段为null,则使用给定的值进行替换
   select name, score, IFNULL(score,0)+10 new_score from student;  
-- 查询所有学生的年龄  
   select distinct age from student;

3.排序

使用order by子句可以进行结果的排序,需要配合两个关键字一起使用:

            ASC ,升序 ,ascending ( 默认值 )

            DESC ,降序 , descending 。

--查询所有学生信息,按照id进行升序排序
  select * from student order by id asc;
--查看年龄为20的学生信息,按照id降序排序
  select * from student order by id desc;
--可以按照别名进行排序
--查询所有学生的新成绩,并按照新成绩排名
  select name,score+10 new_score from student order by new_score desc;
--order by 后可以写数字,代表第几列(一般不用) 
  select * from student order by 6;
--rand()函数,生成随机数,范围是[0,1)
--配合rand函数可以进行数据的随机排序,打乱数据,洗牌.
  select * from student order by rand();
--查询所有学生的信息,按照年龄降序排序,如果年龄相同,再按照id降序排序
  select * from student order by age desc,id desc;

4.分组函数

分组函数用于对查询结果进行统计,共有5个,返回结果是一个值。count() ,sum(),max(),min(),avg()。

--分组函数使用时,null值不进行统计
--统计所有学生的人数
  select count(*) from student;
  select count(id) from student;
--查询总分,最低分数和最高分数及平均分数
  select sum(score),min(score),max(score),avg(score) from student;

5.分组查询

分组查询使用group by子句实现,分组查询后需要注意以下几点:

        1.select子句只能查询分组字段和分组函数。

        2.可以使用where在分组前条件过滤。

        3.可以使用having在分组后进行条件过滤。

-- 按照性别进行分组, 分别统计男女同学的人数和平均成绩
   select gender,count(*) cnt,avg(score) avg_score from student group by gender;
-- 按照性别进行分组,分别统计男女同学的人数和平均成绩,排除成绩低于70的学生信息
   select gender,count(*) cnt,avg(score) avg_score from student where score>=70 group by gender; 
-- 按照年龄进行分组,分别统计不同年龄同学的人数和平均成绩,排除人数小于2的分组信息
-- where和having的区别在于where中无法使用分组函数,而having中可以使用
   select age, count(*) cnt, avg(score) avg_score from student group by age having count(*)>=2;
   select age, count(*) cnt, avg(score) avg_score from student group by age having cnt>=2;

6.分页查询

    Mysql中,可以通过limit关键词实现分页查询,limit是mysql的特有语法,limit后面需要跟两个参数,第一个参数是查询的起始索引(从0开始),第二个参数是查询的记录数,limit必须出现在sql的末尾。

 

--每页显示两条学生信息,完成分页显示
--page:第几页
--size:每页显示几条数据
  select * from student order by id limit (page-1) * size, size;
--第一页
  select * from student order by id limit 0,2;
--第二页
  select * from student order by id limit 2,2;
--第三页
  select * from student order by id limit 4,2;

 

您可能感兴趣的文档:

--结束END--

本文标题: mysql学习笔记二 DQL

本文链接: https://www.lsjlt.com/news/4106.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql学习笔记二 DQL
    -- 查询编号为1004的学生的姓名和生日 select name,birthday from student where id=1004; -- 查询年龄大于18的学生信息 select...
    99+
    2018-07-25
    mysql学习笔记二 DQL
  • Linux 学习笔记 二
    压缩解压缩压缩格式:gz bz2 xz zip z 压缩算法,算法不同,压缩比也不同compress: filename.Zuncompress: 不能压缩文件夹,会将文件夹内的文件单个...
    99+
    2022-10-18
  • Python学习笔记(二)
    学完了基础中的基础后,我们准备深入基础中的函数、类和对象。 function函数: 正如英文单词描述的,函数就是“功能”的意思,把完成一个功能所需要的代码打包起来放在一个函数下可以方便以后程序的重复调用,也能使整体代码条理清晰。正如前...
    99+
    2023-01-30
    学习笔记 Python
  • mysql学习笔记(二)--- MySQL数据类型
    【正文】上一章节中,我们学习了MySQL软件的安装,既然软件都装好了,现在就正式开始MySQL的基础知识的学习吧,即使是零基础,也要一步一个脚印。恩,首先要学习的就是MySQL的数据类型。一、数据类型:1、...
    99+
    2022-10-18
  • python scrapy学习笔记(二)
    使用scrapy批量抓取,参考http://python.jobbole.com/87155一、创建项目# scrapy startproject comics创建完成后的目录结构. ├── comics │   ├── __init__....
    99+
    2023-01-31
    学习笔记 python scrapy
  • MySQL学习笔记
    作者: Grey 原文地址:MySQL学习笔记 说明 注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。 关于DDL DDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了...
    99+
    2015-01-17
    MySQL学习笔记
  • MySQL 学习笔记
    😀😀😀创作不易,各位看官点赞收藏. 文章目录 MySQL 学习笔记1、`DQL` 查询语句1.1、基本查询1.2、函数查询1.2.1、单行函数1...
    99+
    2023-10-01
    mysql 学习 笔记
  • MySQL学习笔记(二):MyISAM 存储引擎
    MyISAM 存储引擎MyISAM 基于旧的 (不再可用) ISAM 存储引擎, 但有许多有用的扩展。每个 MyISAM 表都存储在三个文件中的磁盘上。这些文件具有以表名开头的名称, 并具有用于指示文件类型...
    99+
    2022-10-18
  • Redis学习笔记(二) 链表
    链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。 redis中链表应用广泛,如list中就使用了链表。 每一个链表节点使用listNode结构标识(双向链表): typedef...
    99+
    2017-01-27
    Redis学习笔记(二) 链表
  • Python学习笔记(二)Python基
    [root@kaibin ~]# ipython In [1]: import platform In [2]: print platform.uname() ('Linux', 'kaibin.test1', '2.6.32-431.el...
    99+
    2023-01-31
    学习笔记 Python
  • MySQL 学习笔记 (一)
    1.InnoDB and Online DDL ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; https://dev.mysql.c...
    99+
    2016-12-04
    MySQL 学习笔记 (一)
  • MySQL 学习笔记(五)
    mysqldump 与 --set-gtid-purged 设置 (1)  mysqldump The mysqldump client utility performs logical backups, producing a set ...
    99+
    2022-01-27
    MySQL 学习笔记(五)
  • MySQL学习笔记-day01
    1、数据库概述及数据准备 1.1、SQL概述 SQL,全称Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。(90%以上的SQL都是通用的)。 SQL:结构化语言,是一门标...
    99+
    2017-10-15
    MySQL学习笔记-day01
  • MySQL学习笔记-day03
    1、约束 1.1、唯一性约束(unique) 唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。 案例:给某一列添加unique drop table if exists t_user; create table t_...
    99+
    2020-11-18
    MySQL学习笔记-day03
  • Python第二周 学习笔记(3)
    1.运用数组实现求10万以内质数: prime = [2] for i in range(3,100000,2): flag = False up = int(i**0.5)+1 for j in prime: ...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记(二):使用Pyth
    1.目的: 2.安装XlsxWriter 3.xlsxwriter常用功能: 4.在Excel中写数据: 4.1 一维表格生成 1.目的: 用xlwt来生成excel的,生成的后缀名为xls,在x...
    99+
    2023-01-31
    学习笔记 Python Pyth
  • Android学习笔记——Menu介绍(二)
    知识点: 这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)。 上下文菜单 上下文菜单提供对UI界面上的特定...
    99+
    2022-06-06
    android学习 Android
  • Python学习笔记整理(二)pytho
    一、Python的数字类型 1、数字常量 python数字类型在程序中如何显示(换句话说,作为常量) 数字            常量 1234,-23,0        一般整数 9999...
    99+
    2023-01-31
    学习笔记 Python pytho
  • python学习笔记字符串(二)
    字符串类型(string)字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就...
    99+
    2023-01-31
    字符串 学习笔记 python
  • Python学习笔记—第二章—IPyth
    书目:Python(Unix和Linux系统管理指南)学习日期:20130807知识点总结:安装IPython:源码安装:tar zxvf ipython-0.13.2.tar.gz python setup.py install...
    99+
    2023-01-31
    第二章 学习笔记 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作