[MySQL] MySQL学习笔记:数据处理之查询

MySQL数据处理之查询

  • 数据库概述
    • 数据库相关概念
    • 数据库存储数据的特点
  • MySQL的使用
    • 启动退出
    • MySQL常用命令
    • MySQL语法规范
  • 数据处理之查询
    • 基础查询
      • 小练习
    • 条件查询
      • 小练习
    • 排序查询
      • 小练习
    • 常见函数
      • 单行函数
        • 小练习
      • 分组函数
        • 小练习
    • 分组查询
      • 小练习
    • 连接查询
      • sql92标准
        • 等值连接
          • 小结
        • 非等值连接
        • 自连接
        • 练习

视频链接:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷.

数据库概述

数据库相关概念

  • DB:数据库(database),存储数据的仓库,保存了一系列有组织的数据。
  • DBMS:数据库管理系统(Datebase Management System), 又称为数据库软件或数据库产品,用于创建或管理DB
  • SQL:结构化查询语言(Structure Query Language),用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

数据库存储数据的特点

  • 将数据放到中,表再放到
  • 一个数据库可以有多张表,每个表都有一个名字,表名具有唯一
  • 表由组成,也称为字段
  • 表中的数据是按存储的
  1. DML(Data Manipulation Language):数据操纵语言,用于添加、删除、修改、查询数据库记录,并查找数据完整性。
  2. DDL(Data Definition Language):数据定义语言,用于库和表的创建、修改、删除。
  3. DCL(Data Control Language):数据控制语言,用于定义用户的访问权限和安全级别。

MySQL的使用

启动退出

MySQL软件的服务器端必须先启动,客户端才可以连接和使用数据库。

启动MySQL:管理员身份运行命令提示符,输入(也可以通过”服务”开关)
停止

客户端登录:命令行
例如:

注意

  • 与密码之间不能有空格,其他参数之间的空格可有可无
  • 密码建议在下一行输入
  • 如果是连本机:可以省略;如果端口 没改,也可以省,简写为:

连接成功后,会出现MySQL Server 服务版本的信息,还有第几次链接的id标识,也可通过命令行查看(没有登录MySQL服务端):
或者
或登录后,通过以下方式查看:

命令行以分 (;)结束

退出客户端: 或者

MySQL常用命令

  1. 显示有哪些数据库
  2. 进入某个库: sys库名
  3. 查看库内的表:

现在已经进入到库内,要查看另一个库内的表:,此时还在库
查看当前在哪个库:

  1. 创建表:
  1. 查看表的结构: desc+表名
  2. 查看表内数据:
  3. 插入数据:
  4. 修改:
  5. 删除:

MySQL语法规范

  1. 不区分大小写,但建议关键字大写,表名、列名小写
  2. 每条命令最好用分 结尾
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释:
    单行注释:
    单行注释: 中间有空格
    多行注释:

数据处理之查询

基础查询

语法:

特点:

  • 查询列表可以是:表中的字段、常量值、表达式、函数,也可以是多个
  • 查询的结果是虚拟的表格

先打开库:

  1. 查询表中的单个字段:
  2. 查询表中的多个字段:
  3. 查询表中所有的字段:用此方法可规定输出表的顺序
    全选按F12可以格式化(我下的普通版,不能用)
    或者

为区别关键字和字段,可使用着重 `
若这个字段名容易跟关键字混淆还可以使用着重 将其括起来

  1. 查询常量值

    不区分字符和字符串
    注意:字符型和日期型的常量值必须用单引 引起来,数值型不需要

  2. 查询表达式

  3. 查询函数
    select 函数名(实参列表);

  4. 起别名
    ①便于理解
    ②如果眼查询的字段有重名的情况,使用的别名可以区分开来
    方式一

    逗 是英文
    方式二:省略as

案例:查询salary, 显示结果为 out put
out为关键字,将重命名用双引 括起来,着重 也可以

  1. 去重
    只能查询一个信息
    案例:查询员工表中涉及到的所有的部门编

  2. + 的作用:运算符(加法运算)
    两个操作数都为数值型,则做加法运算
    只要其中一方为字符型,试图将字符型转换为数值;如果转换成功,则继续做加法运算;若果转换失败,则将字符型转换为0. 返回90
    只要其中一方为null,则结果肯定为null

案例 :查询员工名和姓连接成一个字段,并显示为 姓名
拼接

小练习

  1. 以下语句可以执行成功:
  2. 查询表departments的结构,并查询其中的全部数据:
  3. 显示出表employees中的全部job_id(不能重复):
  4. 显示出表employees的全部列,各个列之间用逗 连接,列头显示out_put:

部分员工commission_pct为null,它与任何字符拼接后最终结果都为null,在此引入一个函数

ifnull函数:判断某字段或表达式是否为null,如果为null返回指定值,否则返回原本的值

第一个参数是可能显示null的变量,第二个参数为当它为null时要返回的值,则语句可以改成:

isnull函数:判断某字或表达式是否为null,如果是,则返回1;否则返回0

返回布尔值,是null返回1

条件查询

  1. 语法
  1. 分类

①. 按条件表达式筛选
条件运算符: <, >, =, 不等于<>,!=也支持 ,>=, <=,<=>安全等于

案例1:查询工资>12000的员工信息

案例2:查询部门编 不等于90 的员工名和部门编

②. 按逻辑表达式筛选
作用:用于连接条件表达式
逻辑运算符:
① 与 and(&&) 如果两个条件都为true,结果为true,反之为false,
② 或 or(| |),只要一个条件为true, 结果为true,反之为false,
③ 非 not(!), 如果连接的条件本身为false,结果为true,反之为false

案例1:查询工资在10000和20000之间的员工名、工资以及奖金

案例2:查询部门编 不是在90到110之间,或者工资高于15000的员工信息

③. 模糊查询
like, between and, in, is null, is not null

1)like一般和通配符搭配使用,可以判断字符型或数值型

通配符:
% 任意多个字符
_ 任意单个字符

案例1:查询员工名中包含字符a的信息

案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资

案例3:查询出员工名中第二个字符为_的员工名

案例4:查询数值型,部门编 为100-199的(100多的)

2)between and
a. 使用between and 可以提高语句的简洁度
b. 包含临界值
c. between 小数 and 大数

案例1:查询员工编 在100到120之间的员工信息

或者使用between and

3)in
含义:判断某字段的值是否属于in列表中的某一项
特点:
a. 使用in提高语句简洁度
b. in列表中的值类型必须统一或兼容(‘123’可以转换为123)
c. 不支持通配符

案例:查询员工的工种编 是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编

4)is null
=或者<>不能用于判断null值
is null 或 is not null 可以判断null值

案例1:查询没有奖金的员工名和奖金率

安全等于

可以查询null值;
可以查询数值

案例1:查询没有奖金的员工名和奖金率

案例2:查询工资为12000的员工信息

比较is null 和 <=>:
is null :仅仅可以判断null值,可读性较高,建议使用
<=>: 既可以判断null值,又可以判断普通的数值,可读性较差

小练习

例1:查询员工 为176的员工名和部门 和年薪

例2:查询没有奖金,且工资小于18000的salary, last_name

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月10日
下一篇 2020年8月10日

相关推荐