Mysql数据库入门—数据查询

Author:qyan.li

Date:2022.2.21


文章目录

  • ``Mysql``数据库入门---数据查询
    • 1. ``select``关键字
    • 2.条件查询
    • 3.排序查询

1. select关键字

select意为选择之意,可以借助于select关键字完成数据库内容的查询

  • 借助于关键字查询

    基本用法:select 查询列表 from 表名

    # 数据查询
    select 100; # 查询变量100
    select 1000 + 100; # 查询表达式# 数据库字段查询
    select owner from student_information.pet # 查询单个字段
    slelect owner,name from student_information.pet # 查询多个字段
    select * from student_information.pet # 查询所有字段
    
  • 借助于查询函数查询

    查询函数可以辅助用户完成数据库、用户基本情况的查询

    select now(); # 显示当前时间
    select user(); # 用户名和ip
    select version(); # 显示Mysql版本
    select database(); # 显示数据库
    
  • 小Tips:

    1. 字段别名:

      select name as 姓名 from student_information.pet;上述语句表明为name起别名为姓名

      • 此处的as可以简略,直接表示为select name 姓名 from student_information.pet;

      • 别名可以与其他sql结合形成更加复杂的语句

        select now() as 当前时间

        select name 宠物名,owner as 主人 from student_information.pet;

    2. 去除重复数据:

      数据库应用中,某些时刻会需要提炼出某字段中所有不相重复的数据,此时需要distinct关键字tinct

      select name from student_information.pet;
      select distinct name from student_information.pet;
      

2.条件查询

数据库查询过程中,经常会遇到筛选出满足特定条件的数据,此时会需要where关键字,后加筛选条件完成数据的查询,一般形式为select 字段名 from 数据表名称 where 筛选条件

  • Mysql运算符:

    Mysql中运算符一般包括 1. 算术运算符 2.比较运算符 3. 逻辑运算符 4.位运算符

    • 算术运算符:

      加减乘除(除法借助于/或者div表示)、取余(%或者mod表示)比较运算符:

    • 比较运算符:

      小于、大于、小于等于、大于等于较为常规

      不等于(借助于<>或者!=表示)

      为空或者不为空(is null 或者 is not null)

      在两值之间(between a and b)

      是否在集合中(in 或者 not in)

      是否模糊匹配(like或者not like)

      正则表达式匹配regexp

    • 逻辑运算符:

      与或非(and(&&) or(||) not(!))

      异或(xor)

    • 位运算符:

      应用并不是非常广泛,不做讨论

    简单示例:

    select owner from student_information.pet where name = 'liqiyan';
    select gnp/gnpold,name from country where gnp/gnpold > 1.1;
    select * from student_information.pet where not(name = 'liqiyan' and sex = 'm');
    
  • 运算符筛选查询:

    运算符筛选种类、组合多样,可根据需要自行组合,此处仅介绍重难点筛选方法

    • 模糊匹配查询

      模糊匹配查询一般借助于like(not like)和通配符进行实现

      通配符主要包含两种_表示任意单个字符%表示任意多个字符

      简单示例:

      # 查询国家名称中包含字母INA
      select * from world.country where name like '&INA%'
      # 查询国家名称中最后一个字母为IA
      select name from world.country where name like '%IA'
      # 查询国家名称中第一个字母为CH
      select * from world.country where name like 'CH%'
      # 查询国家名称中第三个字母为_的记录(借助于转义字符完成)
      select name from world.country where name like '__\_%'
      # 转义字符一般借助于\进行表示,但是该字符可以自定义,借助于escape关键字
      select name from world.country where name like '__#_%' escape '#';
      
    • 关键字查询

      此处提及的关键字,主要包含上述运算符介绍中提及的between and 和 is null 和 in(not in)等等

      1. between and关键字

        # 查询预期寿命在80-85岁之间的国家和地区
        select name,LifeExpectancy from world.country where LifeExpectancy >= 80 and LifeExpectancy <= 85;
        select name,LifeExpectancy from world.country where LifeExpectancy between 80 and 85;
        
      2. 集合查询in(not in)关键字

        # 查询独立年份在1971,1981和1991年的国家
        select name,IndepYear from world.country where IndepYear = 1971 or IndepYear = 1981 or IndepYear = 1991;
        select name,IndepYear from world.country where IndepYear in (1971,981,1991);
        
      3. 判断是否为空(is null或者is not null)

        select * from world.country where IndepYear is null;
        

        此处需要提及null和空字符串的区别:

        二者是不等价的两个概念,null更像是一个占位,表示什么都没有,而空字符串表示此处包含有内容,只不过内容为空而已。

        select name,HeadOfState from world.country where HeadOfState = '';
        select name,HeadOfState from world.country where HeadOfState is null;
        
        • 安全等号(<=>不必区分is和普通等号的区别,即在此处空字符串和null可以混用)

          select name,HeadOfState from world.country where HeadOfState <=> '';
          select name,HeadOfState from world.country where HeadOfState <=> null;
          

3.排序查询

在数据库查询操作中,经常会遇到数据需要按照一定的规则进行排序,此时会应用到sql语句中的排序查询关键字order by,结合asc和desc可以实现降序、升序的排列,一般语法规则为select <查询列表> from <数据表名称> where <筛选条件> order by 排序列表

在排序中,存在asc和desc两种排序规则,分别为升序和降序,默认情况下为降序

简单示例:

# 按照人口进行降序排列,显示国家名称
select name,population from world.country order by population desc;
# 按照GDP增长的比例升序排列
select name,GNP,GNPOld,GNP/GNPOld GNP增长率 from world.country order by GNP增长率 asc;
  • 小Tips:

    1. 结合函数可以实现更高级别的排序

      select name,length(name) as 字符个数 from world.country order by 字符个数;

    2. 排序过程中可以限制多条件完成排序

      select name,length(name) as 字符个数 from world.country order by 字符个数,Population desc;

    3. 排序可以直接指定列号进行排序

      select * from world.country order by 2 desc;

Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)相关推荐

  1. pythonmysql数据分析_Python操作Mysql数据库入门——数据导入pandas(数据分析准备)...

    原标题:Python操作Mysql数据库入门--数据导入pandas(数据分析准备) 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求 ...

  2. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  3. mysql数据库入门教程(6):数据的增删改

    前面两篇博文介绍了数据库的查询 mysql数据库入门教程(4):查询讲解大全 mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询) 今天介绍下数据库的增删改. 数据库基本操 ...

  4. mysql数据库入门教程(11):视图讲解大全

    一.视图的介绍 含义:虚拟表,和普通表一样使用 mysql5.1版本出现的新特性,是通过表动态生成的数据 举例说明什么是视图:假设一个年级有10个班,上面有领导来啦,说要检查舞蹈功底,学校为了应付检查 ...

  5. MySQL数据库入门(三)--- 查询、权限、join语法、外键、备份

    MySQL数据库入门(三) 文章目录 MySQL数据库入门(三) @[toc] MySQL回顾 查询: 查看字段 权限管理 查询权限 授权查询 多表查询 join语法 外键 备份: 指定时间段备份: ...

  6. MySql数据库入门

    1.数据库入门 ​ 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,其本身可看作电子化的文件柜.用户可以对文件中的数据进行增加.删除.修改查找等操作. 1.1. 基础概念 1.1 ...

  7. mysql数据库入门 3 +每日一问

    mysql数据库入门 3 ++++++++++++DAB1_day03 一.数据导入导出 修改搜索路径 ]# mkdir /myload ]# chown mysql /myload ]# vim / ...

  8. Python连接Mysql数据库入门

    Python 连接mysql数据库入门教程 直接上代码 数据库建表省略 要执行哪段代码把#去掉即可:有文字解释 难度 : ⭐⭐(全星5颗星的情况下) import pymysql # 导入模块 根据P ...

  9. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

    binlog日志简介: binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间. b ...

最新文章

  1. asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决
  2. spring转发和重定向
  3. 乘基取整法是什么_十进制小数转二进制小数乘2取整法的直观理解
  4. pb预览状态下的pagecount_QuickLook高效文件预览神器,方便到令你意想不到
  5. RedHat Linux 5企业版开启VNCSERVER远程桌面功能[转]
  6. 4k微型计算机接口,单片微型计算机原理与接口技术:基于STC15W4K32S4单片机
  7. 读《Redis入门指南》2
  8. 在Global Mapper中导入点的文本格式
  9. c语言结构体stamp是什么意思,stamp是什么意思
  10. 单片机通过串口与电脑通信
  11. 火箭发射:点击率预估界的“神算子”是如何炼成的?...
  12. apache ii评分怎么评_APACHEII评分说明
  13. 高效并发:Synchornized的锁优化详解
  14. NVR(网络硬盘录像机)以及其他相近名词DVR、DVS、NVS
  15. 用断点续存实现视频快速上传
  16. 微信网页怎么用电脑打开
  17. linux(xshell的安装与使用)
  18. 关于数字证书,数字签名,CA证书,Https都在这里了
  19. OA系统高性能部署方案
  20. excel如何数据汇总之多工作簿

热门文章

  1. 王者服务器维护段位掉了,王者荣耀段位继承表s22:2021新赛季掉段掉星规则
  2. 【附源码】Java计算机毕业设计防疫物资捐赠(程序+LW+部署)
  3. Quicker |无法调用chrome浏览器
  4. 一款免费又好用的视频播放器iina for mac
  5. 强迫症患者装机过程。。。
  6. Typora常用的快捷键
  7. 黑苹果关机变重启_「技巧」手机黑屏死机咋整?重启是王道
  8. ElementUI的使用
  9. Java苹果手机缩略图旋转_Java实例使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)...
  10. ParrotSec 中文社区 QQ群认证 Openssl解密