SQL-DML、DQL查询数据

这篇具有很好参考价值的文章主要介绍了SQL-DML、DQL查询数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SQL-DML、DQL查询数据

SQL-DML、DQL查询数据

1 DML

DML主要是对数据进行insertdeleteupdate)操作。

1.1 添加数据
  • 给指定列添加数据

    INSERT INTO 表名(列名1,列名2,) VALUES(1,2,);
    
  • 给全部列添加数据

    INSERT INTO 表名 VALUES(1,2,);
    
  • 批量添加数据

    INSERT INTO 表名(列名1,列名2,) VALUES(1,2,),(1,2,),(1,2,);
    
    -- 给所有列添加数据,列名的列表可以省略的
    INSERT INTO 表名 VALUES(1,2,),(1,2,),(1,2,);
    
1.2 修改数据
  • 修改表数据
UPDATE 表名 SET 列名1=1,列名2=2,[WHERE 条件] ;

注意:

  1. 修改语句中如果不加条件,则将所有数据都修改
  2. 像上面的语句中的中括号,表示在写sql语句中可以省略这部分
  • 练习

    • 将张三的性别改为女

      update stu set sex = '女' where name = '张三';
      
    • 将张三的生日改为 1999-12-12 分数改为99.99

      update stu set birthday = '1999-12-12', score = 99.99 where name = '张三';
      
    • 注意:如果update语句没有加where条件,则会将表中所有数据全部修改!

      	update stu set sex = '女';
      
1.3 删除数据
  • 删除数据

    DELETE FROM 表名 [WHERE 条件] ;
    
  • 练习

    -- 删除张三记录
    delete from stu where name = '张三';
    
    -- 删除stu表中所有的数据
    delete from stu;
    

2 DQL

2.1 基础查询
  • 查询多个字段

    SELECT 字段列表 FROM 表名;
    SELECT * FROM 表名; -- 查询所有数据 但不建议使用
    
  • 去除重复记录(DISTINCT

    SELECT DISTINCT 字段列表 FROM 表名;
    
  • 起别名(AS

    AS: AS 也可以省略 但字段名与别名中间至少一个空格
    
2.2 条件查询 ( WHERE )
  • 语法

    SELECT 字段列表 FROM 表名 WHERE 条件列表;
    
  • 条件

    条件列表可以使用以下运算符

    符号 功能
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于
    = 等于
    <> 或 != 不等于
    BETWEEN … AND … 在某个范围之内(都包含)
    IN(…) 多选一
    LIKE 占位符 模糊查询 _单个任意字符 %多个任意字符
    IS NULL 是 NULL
    IS NOT NULL 不是 NULL
    AND 或 && 并且
    OR 或 || 或者
    NOT 或 ! 非,不是
  • 练习
  • 查询年龄大于20岁的学员信息

    select * from stu where age > 20;
    
  • 查询年龄大于等于20岁 并且 年龄 小于等于 30岁 的学员信息

    select * from stu where age >= 20 &&  age <= 30;
    select * from stu where age >= 20 and  age <= 30;
    

    上面语句中 &&and 都表示并且的意思。建议使用 and

    也可以使用 between … and 来实现上面需求

    select * from stu where age BETWEEN 20 and 30;
    
  • 查询年龄不等于18岁的学员信息

    select * from stu where age != 18;
    select * from stu where age <> 18;
    
  • 查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于22岁的学员信息

    select * from stu where age = 18 or age = 20 or age = 22;
    select * from stu where age in (18,20 ,22);
    
  • 查询英语成绩为 null的学员信息

    null值的比较不能使用 = 或者 != 。需要使用 is 或者 is not

    select * from stu where english = null; -- 这个语句是不行的
    select * from stu where english is null;
    select * from stu where english is not null;
    
2.3 模糊查询

模糊查询使用like关键字,可以使用通配符进行占位:

(1)_ : 代表单个任意字符

(2)% : 代表任意个数字符

  • 查询姓’马’的学员信息

    select * from stu where name like '马%';
    
  • 查询第二个字是’花’的学员信息

    select * from stu where name like '_花%';
    
  • 查询名字中包含 ‘德’ 的学员信息

    select * from stu where name like '%德%';
    
2.4 排序查询 ( ORDER BY )
  • 语法

    SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2];
    
  • 排序方式

    • ASC : 升序排列 (默认值)
    • DESC : 降序排列

    注意:
    如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

  • 练习

    • 查询学生信息,按照年龄升序排列

      select * from stu order by age ;
      
    • 查询学生信息,按照数学成绩降序排列

      select * from stu order by math desc ;
      
    • 查询学生信息,按照数学成绩降序排列,如果数学成绩一样,再按照英语成绩升序排列

      select * from stu order by math desc , english asc ;
      
2.5 聚合函数
  • 概念

    将一列数据作为一个整体,进行纵向计算。

  • 聚合函数分类

    函数名 功能
    count(列名) 统计数量(一般选用不为null的列)
    max(列名) 最大值
    min(列名) 最小值
    sum(列名) 求和
    avg(列名) 平均值
  • 语法

    SELECT 聚合函数名(列名) FROM;
    
  • 练习

    • 统计班级一共有多少个学生

      select count(id) from stu;
      

      上面语句根据某个字段进行统计,如果该字段某一行的值为null的话,将不会被统计。所以可以在count(*) 来实现。* 表示所有字段数据,一行中也不可能所有的数据都为null,所以建议使用 count(*)

      select count(*) from stu;
      
    • 查询数学成绩的最高分

      select max(math) from stu;
      
2.6 分组查询( GROUP BY )
  • 语法

    SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
    

    注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

  • wherehaving 区别

    • 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
    • 可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。
  • 练习

    • 查询男同学和女同学各自的数学平均分

      select sex, avg(math) from stu group by sex;
      
    • 查询男同学和女同学各自的数学平均分,以及各自人数

      select sex, avg(math),count(*) from stu group by sex;
      
    • 查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组

      select sex, avg(math),count(*) from stu where math > 70 group by sex;
      
    • 查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个的

      select sex, avg(math),count(*) from stu where math > 70 group by sex having count(*)  > 2;
      
2.7 分页查询( LIMIT )
  • 语法

    SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;
    

    注意: 上述语句中的起始索引是从0开始

  • 起始索引计算公式:

    起始索引 = (当前页码 - 1) * 每页显示的条数
    
  • 练习

    • 从0开始查询,查询3条数据

      select * from stu limit 0 , 3;
      
    • 每页显示10条数据,查询第1页数据

      select * from stu limit 0 , 10;
      select * from stu limit (1-1)*10 , 10;
      
    • 每页显示10条数据,查询第2页数据

      select * from stu limit 10 , 10;
      select * from stu limit (2-1)*10 , 10;
      
    • 每页显示10条数据,查询第3页数据文章来源地址https://www.toymoban.com/news/detail-476993.html

      select * from stu limit 20 , 10;
      select * from stu limit (3-1)*10 , 10;
      

到了这里,关于SQL-DML、DQL查询数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [JavaWeb]SQL介绍-DQL查询数据

    DQL查询基础的语法结构如下: 说明 语法 查询多个字段 SELECT 字段列表 FROM 表名; SELECT * FROM 表名; -- 查询所有数据 去除重复记录 SELECT DISTINCT 字段列表 FROM 表名; 起别名 列名 AS 别名 (AS也可以省略) 条件查询的语法很简单但是要结合不同的条件表达式去使用 SELECT 字段列表 FRO

    2024年02月14日
    浏览(46)
  • 【SQL中DDL DML DQL DCL所包含的命令】

    关于DDL、DML、DQL、DCL的定义和适用范围如下: 数据定义语言(Data Definition Language,DDL) : DDL用于创建、修改和删除数据库中的表、视图、索引等对象。它的主要命令包括CREATE、ALTER和DROP等。DDL语句用于定义数据库的结构,例如创建表、定义列和约束等。 注意:DDL是隐性提交

    2024年02月10日
    浏览(31)
  • 快速掌握SQL语言——数据查询语言DQL

    数据查询语言DQL是一种用于查询数据库中数据的语言,它是SQL的一部分,也是SQL中最常用的语言之一。 DQL(Data Query Language) 主要用于从数据库中检索数据,包括从一张表或多张表中检索数据、按特定条件检索数据、对数据进行排序、分组和聚合等操作。 DQL语句的基本结构包

    2024年02月08日
    浏览(46)
  • 第八篇:SQL语法-DQL-数据查询语言

    DQL英文全称是Data QueryLanguage(数据查询语言),用来查询数据库中表的记录 查询: select DQL主要包含以下操作 基本查询 条件查询 分组查询 在select之后指定字段名,如果有多个则用逗号分隔,用于查询表中指定字段的数据 在select之后使用【 通配符* 】,用于查询 同一

    2024年02月20日
    浏览(46)
  • SQL语句详解四-DQL(数据查询语言-多表查询二)

    接下来需要用到的表 查询语法 注意:多表查询要 消除无用的数据 内连接查询 隐式内连接 使用 where 条件消除无用数据 标准格式 示例代码 查询所有员工信息和对应的部门信息 查询员工表的名称、性别,部门表的名称 显示内连接 语法 示例代码 查询所有员工信息和对应的部

    2024年01月19日
    浏览(49)
  • SQL语句详解四-DQL(数据查询语言-约束)

    概述:对表中的数据进行限定,保证数据的正确性,有效性和完整性。 约束分类 约束 约束意思 primary key 主键约束 not null 非空约束 unique 唯一约束 foreign key 外键约束 例子:sname varchar(40) not null, – 代表 sname 这个字段不能为 NULL 非空约束 概述:NOT NULL ,某一列的值不能

    2024年01月16日
    浏览(50)
  • 【MySQL入门】-- MySQL的SQL分类:DDL、DML、DQL、DCL快速入门

    目录 一、SQL分类 二、讲解DDL、DML、DCL、DQL、TCL 1.常用的DDL(数据定义语言)的操作 2.常用的DML(数据操作语言)的操作 3.常用DCL(数据控制语言)的操作  4.常用DQL(数据查询语言)的操作 5.常用TCL(事务控制语言)的操作 前言: 前面我们已经简单介绍过了数据库的概述以及数据库的一些

    2024年02月13日
    浏览(37)
  • Mysql-------SQL:DDL数据定义语言、DDM数据操作语言、DQL数据库查询语言、DQL数据控制语言

    SQL语言可以分为: DDL(Data Definition Language)语言:数据定义语言,用于 创建或更改数据库中的表、视图、索引等对象 DML(Data Manipulation Language)语言:数据操作语言,用来对 数据库表中的数据进行增删改查操作; DQL(Data Query Language)语言: 数据查询语言,用来查询数据库

    2024年02月13日
    浏览(75)
  • 【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 内容有点多,建议大家先看目录。 建立在关系模型基础上,由多张相互连接的二维表组成的数据库 🏀使用表存储数据,格式统一,

    2024年02月09日
    浏览(58)
  • SQL学习(六)--DML(针对数据表记录的查询操作)

    目录 一、 单表查询 小拓展: 数据准备: 1.   查询整张表的数据

    2023年04月27日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包