MySQL-DQL(Data Query Language)数据查询语言

news2024/11/15 23:35:39

文章目录

    • 1. DQL定义
    • 2. 基础查询
    • 3. 条件查询(WHERE)
    • 4. 分组查询(GROUP BY)
    • 5. 过滤分组(HAVING)
    • 6. 排序(ORDER BY)
    • 7. 限制查询结果的条数(LIMIT)
    • 8. 多表查询
      • 8.1 多表关系
        • 8.1.1 一对多
        • 8.1.2 多对多
        • 8.1.3 一对一
      • 8.2 连接
        • 8.2.1 交叉连接(CROSS JOIN)
        • 8.2.2 内连接(INNER JOIN)
        • 8.2.3 外连接(OUTER JOIN)
          • 8.2.3.1 左外连接(LEFT OUTER JOIN)
          • 8.2.3.2 右外连接(RIGHT OUTER JOIN)
        • 8.2.4 自连接
        • 8.2.5 联合查询(UNION)
      • 8.3 子查询
        • 8.3.1 标量子查询
        • 8.3.2 列子查询
        • 8.3.3 行子查询
        • 8.3.4 表子查询
      • 8.4 探讨表连接与子查询

1. DQL定义

  • DQL(Data Query Language):数据查询语言,用来查询表中的记录,主要包含 SELECT 命令,来查询表中的数据。

  • DQL完整语法:

    SELECT
    DISTINCT <select_list> #去重
    FROM <left_table><join_type> JOIN <right_table> #表连接
    ON <join_condition> #连接条件
    WHERE <where_condition> #条件查询
    GROUP BY <group_by_list> #分组
    HAVING <having_condition> #对分组后的结果进行聚合筛选
    ORDER BY <order_by_condition> #排序
    LIMIT <limit_number> #行数限制
    
  • DQL语句执行顺序:

    但是在实际应用中,数据库不一定会按照 JOIN、 WHERE、 GROUP BY 的顺序来执行查询。因为它们会进行一系列优化,在不改变查询结果的前提下,把执行顺序打乱,从而让查询执行得更快

2. 基础查询

  1. 查询多个字段:

    select  字段1, 字段2, 字段3  from   表名;
    
  2. 查询所有字段:

    select  *  from   表名;
    
  3. 设置别名:

    select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ]  from  表名;
    

    表别名只在执行查询时使用,并不在返回结果中显示。而字段定义别名之后,会返回给客户端显示,显示的字段为字段的别名

  4. 去除重复记录:

    select distinct 字段列表 from  表名;
    

    使用DISTINCT关键字的注意事项:

    1. DISTINCT 关键字只能在 SELECT 语句中使用。

    2. 在对一个或多个字段去重时DISTINCT 关键字必须在所有字段的最前面

    3. 如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重

    4. 因为 DISTINCT 只能返回它的目标字段,而无法返回其它字段,所以在实际情况中,我们经常使用 DISTINCT 关键字来返回不重复字段的条数。

      SELECT COUNT(DISTINCT name,age) FROM student;
      

3. 条件查询(WHERE)

  • 在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。

    WHERE 查询条件
    
  • 查询条件可以是:

    • 带比较运算符和逻辑运算符的查询条件
    • 带 BETWEEN AND 关键字的查询条件
    • 带 IS NULL 关键字的查询条件
    • 带 IN 关键字的查询条件
    • 带 LIKE 关键字的查询条件
    比较运算符功能
    >大于
    >=大于等于
    <小于
    <=小于等于
    =等于
    <> 或 !=不等于
    between … and …在某个范围之内(含最小、最大值)
    in(…)在in之后的列表中的值,多选一
    like 占位符模糊匹配(_匹配单个字符, %匹配任意个字符)
    is null是null
逻辑运算符功能
and 或 &&并且 (多个条件同时成立)
or 或 ||或者 (多个条件任意一个成立)
not 或 !非 , 不是
  • 模糊匹配查询(like 占位符)的注意事项:

    1. 默认情况下,LIKE 关键字匹配字符的时候是不区分大小写的。如果需要区分大小写,可以加入 BINARY 关键字。

       SELECT name FROM tb_students_info WHERE name LIKE BINARY 't%';
      
    2. “%”通配符可以到匹配任意字符,但是不能匹配 NULL。也就是说 “%”匹配不到 tb_students_info 数据表中值为 NULL 的记录。

  • 范围查询(between and)的注意事项:

    1. 在 MySQL 中,BETWEEN AND 能匹配指定范围内的所有值,包括起始值和终止值。
    2. 起始值和终止值的顺序不能颠倒。
  • 空值查询(is null)的注意事项:

    1. IS NULL 是一个整体,不能将 IS 换成“=”。
    2. 空值不同于 0,也不同于空字符串。

4. 分组查询(GROUP BY)

  • 在 MySQL 中,GROUP BY 关键字可以根据一个或多个字段对查询结果进行分组。多个字段分组查询时,会先按照第一个字段进行分组。如果第一个字段中有相同的值,MySQL 才会按照第二个字段进行分组。如果第一个字段中的数据都是唯一的,那么 MySQL 将不再对第二个字段进行分组。

    GROUP BY  <字段名>
    
  • 使用场景:

    1. GROUP BY 关键字可以和 GROUP_CONCAT() 函数一起使用。GROUP_CONCAT() 函数会把每个分组的字段值都显示出来。

      mysql> SELECT `sex`, GROUP_CONCAT(name) FROM tb_students_info 
          -> GROUP BY sex;
      +------+----------------------------+
      | sex  | GROUP_CONCAT(name)         |
      +------+----------------------------+
      | 女   | Henry,Jim,John,Thomas,Tom  |
      | 男   | Dany,Green,Jane,Lily,Susan |
      +------+----------------------------+
      2 rows in set (0.00 sec)
      
    2. 在数据统计时,GROUP BY 关键字经常和聚合函数一起使用。

      mysql> SELECT sex,COUNT(sex) FROM tb_students_info 
          -> GROUP BY sex;
      +------+------------+
      | sex  | COUNT(sex) |
      +------+------------+
      | 女   |          5 |
      | 男   |          5 |
      +------+------------+
      2 rows in set (0.00 sec)
      
    3. WITH POLLUP 关键字用来在所有记录的最后加上一条记录,这条记录是上面所有记录的总和,即统计记录数量。

      mysql> SELECT sex,GROUP_CONCAT(name) FROM tb_students_info 
          ->GROUP BY sex WITH ROLLUP;
      +------+------------------------------------------------------+
      | sex  | GROUP_CONCAT(name)                                   |
      +------+------------------------------------------------------+
      | 女   | Henry,Jim,John,Thomas,Tom                            |
      | 男   | Dany,Green,Jane,Lily,Susan                           |
      | NULL | Henry,Jim,John,Thomas,Tom,Dany,Green,Jane,Lily,Susan |
      +------+------------------------------------------------------+
      3 rows in set (0.00 sec)
      

5. 过滤分组(HAVING)

  • 在 MySQL 中,可以使用 HAVING 关键字对分组后的数据进行过滤。

    HAVING <查询条件>
    
  • HAVING 关键字和 WHERE 关键字都可以用来过滤数据,且 HAVING 支持 WHERE 关键字中所有的操作符和语法。

  • 但是 WHERE 和 HAVING 关键字也存在以下几点差异:

    1. 一般情况下,WHERE 用于过滤数据行,而 HAVING 用于过滤分组。
    2. WHERE 查询条件中不可以使用聚合函数,而 HAVING 查询条件中可以使用聚合函数
    3. WHERE 在数据分组前进行过滤,而 HAVING 在数据分组后进行过滤 。
    4. 执行顺序: where > 聚合函数 > having 。

6. 排序(ORDER BY)

  • MySQL 提供了 ORDER BY 关键字来对查询结果进行排序。

    ORDER BY <字段名> [ASC|DESC]
    
  • 注意事项:

    1. 当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。
    2. ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。

7. 限制查询结果的条数(LIMIT)

  • LIMIT 是 MySQL 中的一个特殊关键字,用于指定查询结果从哪条记录开始显示,一共显示多少条记录。

    LIMIT 初始位置,记录数
    LIMIT 记录数 OFFSET 初始位置
    
  • 注意事项:

    1. LIMIT 后的两个参数必须都是正整数。
    2. “LIMIT n”与“LIMIT 0,n”返回结果相同。
    3. 如果是分页查询,起始索引 = (查询页码 - 1) 每页显示记录数*。

8. 多表查询

  • 在关系型数据库中,表与表之间是有联系的,所以在实际应用中,经常使用多表查询。多表查询就是同时查询两个或两个以上的表。

8.1 多表关系

  • 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一对多(多对一)多对多一对一
8.1.1 一对多

案例: 部门 与 员工的关系
关系: 一个部门对应多个员工,一个员工对应一个部门
实现: 在多的一方建立外键,指向一的一方的主键

8.1.2 多对多

案例: 学生 与 课程的关系
关系: 一个学生可以选修多门课程,一门课程也可以供多个学生选择
实现: 建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

8.1.3 一对一

案例: 用户 与 用户详情的关系
关系: 一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率
实现: 在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的(UNIQUE)

在这里插入图片描述

8.2 连接

  • 在 MySQL 中,连接查询主要有交叉连接内连接外连接自连接
8.2.1 交叉连接(CROSS JOIN)
  • 定义:交叉连接(CROSS JOIN)一般用来返回连接表的笛卡尔积。

  • 语法:

    # SELECT <字段名> FROM <表1> CROSS JOIN <表2> [WHERE子句]
    # SELECT <字段名> FROM <表1>, <表2> [WHERE子句] 
    SELECT * FROM tb_course CROSS JOIN tb_students_info WHERE tb_students_info.course_id = tb_course.id;
    
  • 注意事项:

    1. 如果在交叉连接时使用 WHERE 子句,MySQL 会先生成两个表的笛卡尔积,然后再选择满足 WHERE 条件的记录。因此,表的数量较多时,交叉连接会非常非常慢。一般情况下不建议使用交叉连接
    2. 在 MySQL 中,多表查询一般使用内连接和外连接,它们的效率要高于交叉连接
8.2.2 内连接(INNER JOIN)
  • 定义:内连接(INNER JOIN)主要通过设置连接条件的方式,来移除查询结果中某些数据行的交叉连接。简单来说,就是利用条件表达式来消除交叉连接的某些数据行。内连接使用 INNER JOIN 关键字连接两张表,并使用 ON 子句来设置连接条件。

  • 语法:

    # SELECT <字段名> FROM <表1> INNER JOIN <表2> [ON子句]
    SELECT s.name,c.course_name FROM tb_students_info s INNER JOIN tb_course c ON s.course_id = c.id;
    
  • 注意事项:

    1. 如果没有连接条件,INNER JOIN 和 CROSS JOIN 在语法上是等同的,两者可以互换
8.2.3 外连接(OUTER JOIN)
  • 内连接的查询结果都是符合连接条件的记录,而外连接会先将连接的表分为基表参考表,再以基表为依据返回满足和不满足条件的记录。外连接可以分为左外连接和右外连接,下面根据实例分别介绍左外连接和右外连接。

  • 注意事项:

    1. 多个表左/右连接时,在 ON 子句后连续使用 LEFT/RIGHT OUTER JOIN 或 LEFT/RIGHT JOIN 即可。
    2. 使用外连接查询时,一定要分清需要查询的结果,是需要显示左表的全部记录还是右表的全部记录,然后选择相应的左连接和右连接。
8.2.3.1 左外连接(LEFT OUTER JOIN)
  • 定义:左外连接又称为左连接,使用 LEFT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。

  • 语法:下述语法中,“表1”为基表,“表2”为参考表。左连接查询时,可以查询出“表1”中的所有记录和“表2”中匹配连接条件的记录。如果“表1”的某行在“表2”中没有匹配行,那么在返回结果中,“表2”的字段值均为空值(NULL)。

    SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2> <ON子句>
    
  • 案例:

    mysql> SELECT * FROM tb_course;
    +----+-------------+
    | id | course_name |
    +----+-------------+
    |  1 | Java        |
    |  2 | MySQL       |
    |  3 | Python      |
    |  4 | Go          |
    |  5 | C++         |
    |  6 | HTML        |
    +----+-------------+
    6 rows in set (0.00 sec)
    
    mysql> SELECT * FROM tb_students_info;
    +----+--------+------+------+--------+-----------+
    | id | name   | age  | sex  | height | course_id |
    +----+--------+------+------+--------+-----------+
    |  1 | Dany   |   25 | 男   |    160 |         1 |
    |  2 | Green  |   23 | 男   |    158 |         2 |
    |  3 | Henry  |   23 | 女   |    185 |         1 |
    |  4 | Jane   |   22 | 男   |    162 |         3 |
    |  5 | Jim    |   24 | 女   |    175 |         2 |
    |  6 | John   |   21 | 女   |    172 |         4 |
    |  7 | Lily   |   22 | 男   |    165 |         4 |
    |  8 | Susan  |   23 | 男   |    170 |         5 |
    |  9 | Thomas |   22 | 女   |    178 |         5 |
    | 10 | Tom    |   23 | 女   |    165 |         5 |
    | 11 | LiMing |   22 | 男   |    180 |         7 |
    +----+--------+------+------+--------+-----------+
    11 rows in set (0.00 sec)
    
    mysql> SELECT s.name,c.course_name FROM tb_students_info s LEFT OUTER JOIN tb_course c 
        -> ON s.`course_id`=c.`id`;
    +--------+-------------+
    | name   | course_name |
    +--------+-------------+
    | Dany   | Java        |
    | Henry  | Java        |
    | NULL   | Java        |
    | Green  | MySQL       |
    | Jim    | MySQL       |
    | Jane   | Python      |
    | John   | Go          |
    | Lily   | Go          |
    | Susan  | C++         |
    | Thomas | C++         |
    | Tom    | C++         |
    | LiMing | NULL        |
    +--------+-------------+
    12 rows in set (0.00 sec)
    
8.2.3.2 右外连接(RIGHT OUTER JOIN)
  • 定义:右外连接又称为右连接,右连接是左连接的反向连接。使用 RIGHT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。

  • 语法:与左连接相反,右连接以“表2”为基表,“表1”为参考表。右连接查询时,可以查询出“表2”中的所有记录和“表1”中匹配连接条件的记录。如果“表2”的某行在“表1”中没有匹配行,那么在返回结果中,“表1”的字段值均为空值(NULL)。

    SELECT <字段名> FROM <表1> RIGHT OUTER JOIN <表2> <ON子句>
    
  • 案例:

    mysql> SELECT s.name,c.course_name FROM tb_students_info s RIGHT OUTER JOIN tb_course c 
        -> ON s.`course_id`=c.`id`;
    +--------+-------------+
    | name   | course_name |
    +--------+-------------+
    | Dany   | Java        |
    | Green  | MySQL       |
    | Henry  | Java        |
    | Jane   | Python      |
    | Jim    | MySQL       |
    | John   | Go          |
    | Lily   | Go          |
    | Susan  | C++         |
    | Thomas | C++         |
    | Tom    | C++         |
    | NULL   | HTML        |
    +--------+-------------+
    11 rows in set (0.00 sec)
    
8.2.4 自连接
  • 自连接查询,顾名思义,就是自己连接自己,也就是把一张表连接查询多次。而对于自连接查询,可以是内连接查询,也可以是外连接查询

  • 语法:

    # SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件 ... ;
    select a.name '员工', b.name '领导' from emp a left join emp b on a.managerid =b.id;
    
8.2.5 联合查询(UNION)
  • 对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集。

  • 语法:

    SELECT 字段列表 FROM 表A  UNION [ ALL ] SELECT 字段列表 FROM 表B ;
    
  • 注意事项:

    1. 对于联合查询的多张表的列数必须保持一致,字段类型也需要保持一致

    2. union all 会将全部的数据直接合并在一起,union 会对合并之后的数据去重。

8.3 子查询

  • 子查询是 MySQL 中比较常用的查询方法,通过子查询可以实现多表查询。子查询指将一个查询语句嵌套在另一个查询语句中。子查询可以在 SELECT、UPDATE 和 DELETE 语句中使用,而且可以进行多层嵌套。在实际开发时,子查询经常出现在 WHERE 子句中

  • 语法:其中,操作符可以是比较运算符INNOT INEXISTSNOT EXISTS 等关键字。

    WHERE <表达式> <操作符> (子查询)
    
  • 注意事项:

    1. 在 SELECT 语句中,子查询可以被嵌套在 SELECT 语句的列、表和查询条件中,即 SELECT 子句,FROM 子句、WHERE 子句、GROUP BY 子句和 HAVING 子句。
8.3.1 标量子查询
  • 子查询返回的结果是单个值(数字、字符串、日期等),最简单的形式,这种子查询称为标量子查询。

  • 常用的操作符:= <> > >= < <=

select * from emp where dept_id = (select id from dept where name = '销售部');
select * from emp where entrydate > (select entrydate from emp where name = '方东白');
8.3.2 列子查询
  • 子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。

  • 常用的操作符:IN 、NOT IN 、 ANY 、SOME 、 ALL

    操作符描述
    IN在指定的集合范围之内,多选一
    NOT IN不在指定的集合范围之内
    ANY子查询返回列表中,有任意一个满足即可
    SOME与ANY等同,使用SOME的地方都可以使用ANY
    ALL子查询返回列表的所有值都必须满足
    select * from emp where dept_id in (select id from dept where name = '销售部' or name = '市场部');
    select * from emp where salary > all ( select salary from emp where dept_id =(select id from dept where name = '财务部') );
    
8.3.3 行子查询
  • 子查询返回的结果是一行(可以是多列),这种子查询称为行子查询。

  • 常用的操作符:= 、<> 、IN 、NOT IN

    select * from emp where (salary,managerid) = (select salary, managerid from emp where name = '张无忌');
    
8.3.4 表子查询
  • 子查询返回的结果是多行多列,这种子查询称为表子查询。

  • 常用的操作符:IN

    select * from emp where (job,salary) in ( select job, salary from emp where name ='鹿杖客' or name = '宋远桥' );
    

8.4 探讨表连接与子查询

  1. 子查询的功能也可以通过表连接完成,但是子查询会使 SQL 语句更容易阅读和编写
  2. 一般来说,表连接(内连接和外连接等)都可以用子查询替换,但反过来却不一定,有的子查询不能用表连接来替换。
  3. 子查询比较灵活、方便、形式多样,适合作为查询的筛选条件,而表连接更适合于查看连接表的数据。
  4. 一般情况下,子查询会产生笛卡儿积,表连接的效率要高于子查询。因此在编写 SQL 语句时应尽量使用连接查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1423968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OG Trade在ZKX揭幕:一家基于Starknet的游戏化永续合约交易所

ZKX的 OG Trade通过内置游戏化和30分钟交易竞赛&#xff0c;为所有交易者创造机会&#xff0c;革新了永续合约交易模式。 2024年1月30日 — ZKX宣布推出OG Trade&#xff0c;这是一家基于Starknet的游戏化永续合约交易所&#xff0c;旨在满足短期交易者、高水平交易者和波段交易…

数据可视化工具之选,三选一?

在数据可视化的世界中&#xff0c;选择一款合适的工具对于提升工作效率和洞察力至关重要。本文将对三款主流数据可视化工具进行详细比较&#xff0c;包括山海鲸可视化、Echarts和D3.js&#xff0c;以帮助您做出明智的选择。 山海鲸可视化 山海鲸可视化是一款免费且功能强大的…

全面掌握Django的web框架Django Rest_Framework(一)

文章目录 Django Rest_Framework1. DRF介绍2.DRF特点3.环境安装与配置&#xff08;1&#xff09;DRF需要以下依赖&#xff08;2&#xff09;创建django项目 4.序列化器的使用&#xff08;1&#xff09;创建序列化器 5. 反序列化器使用 Django Rest_Framework 1. DRF介绍 Djan…

phar反序列化漏洞

基础&#xff1a; Phar是一种PHP文件归档格式&#xff0c;它类似于ZIP或JAR文件格式&#xff0c;可以将多个PHP文件打包成一个单独的文件&#xff08;即Phar文件&#xff09;。 打包后的Phar文件可以像普通的PHP文件一样执行&#xff0c;可以包含PHP代码、文本文件、图像等各…

Web中的转发与重定向

转发与重定向 一、转发和重定向的概念1.转发2.重定向 二、JavaWeb 中的转发和重定向三、SpringMVC 中的转发和重定向1.转发(1) 默认的方式(2) 完整的方式 2.重定向 四、总结 一、转发和重定向的概念 在 Web 应用中&#xff0c;转发和重定向都是用于将请求从一个页面传递到另一…

asp.net吃了么销售系统

asp.net吃了么销售系统 用户功能有首页购买商品 购物车 我的订单 后台管理员可以进行用户管理 菜品管理 订单管理 销售统计 asp.net吃了么销售系统是一个功能完善的在线购物平台&#xff0c;用户可以在首页浏览并购买各类商品。通过购物车功能&#xff0c;用户可以方便地管理…

ElasticSearch 应用实践 笔记

概述 介绍 ES 是一个开源的高扩展的分布式全文搜索引擎&#xff0c;是整个Elastic Stack技术栈的核心。它可以近乎实时的存储&#xff0c;检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。ElasticSearch的底层是开源库Lu…

什么样的评论更容易得到别人的关注

要发表吸引人的评论&#xff0c;可以注意这些个方面&#xff1a; 合适的软件&#xff1a;用DT浏览器的笔记本写文本&#xff0c;保存为图片&#xff0c;用图片的方式评论更容易得到别人的关注。 特别的观点&#xff1a;发表与众不同的观点&#xff0c;或者从不同的角度看待问…

上岸国考有多难?

国考笔试成绩已于2024年1月13日公布&#xff0c;听说宇宙的尽头是编制&#xff0c;今天用一份2024国考的数据帮大家探探路。数据来自和鲸平台&#xff0c;数据主要包括招考省市和部门、专业和学历要求、招考和报考人数。 经过一番探索&#xff0c;我发现一个上岸密码&#xff1…

成功解决AttributeError: ‘str‘ object has no attribute ‘keys‘

成功解决AttributeError: ‘str’ object has no attribute ‘keys’。 &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;报错分析及解决方案&#x1f333;&#x1f333;字典对象的keys方法&#x1f333;&#x1f333;结尾&#x1f333; &…

01、全文检索 ------ 反向索引库 与 Lucene 的介绍

目录 全文检索 ------ 反向索引库 与 LuceneSQL模糊查询的问题反向索引库反向索引库的查询 Lucene&#xff08;全文检索技术&#xff09;Lucene能做什么Lucene存在的问题Solr 和 Elasticsearch 与 Lucene 的关系 全文检索 ------ 反向索引库 与 Lucene MySQL一些索引词汇解释 …

MIMIC-IV-ED数据集介绍

MIMIC-IV-ED v2.2 Abstract MIMIC-IV-ED 是一个大型的免费数据库&#xff0c;记录了2011年至2019年间急诊部门(ED)贝斯以色列女执事医疗中心的入院情况。该数据库包含约425,000个 ED 停留。生命体征&#xff0c;分类信息&#xff0c;药物协调&#xff0c;药物管理和出院诊断是…

android 自定义下拉框

一、 简介&#xff1a; 原生Android 提供的spinner下拉框不怎么方便&#xff0c;样式有点丑。修改起来麻烦&#xff0c;于是就自己动手写了一下拉列表。 实现原理使用的是&#xff0c;popwindow弹框&#xff0c;可实现宽高自定义&#xff0c;下拉列表使用listview. 二、pop弹框…

python爬虫2

1.table 是表格&#xff0c;tr是行&#xff0c;td是列 ul li是无序列标签用的较多&#xff0c;ol li是有序列标签 最基本的结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title> Title </title>…

《区块链简易速速上手小册》第6章:区块链在金融服务领域的应用(2024 最新版)

文章目录 6.1 金融服务中的区块链6.1.1 金融服务中区块链的基础6.1.2 主要案例&#xff1a;跨境支付6.1.3 拓展案例 1&#xff1a;去中心化金融&#xff08;DeFi&#xff09;6.1.4 拓展案例 2&#xff1a;代币化资产 6.2 区块链在支付系统中的作用6.2.1 支付系统中区块链的基础…

2024-02-01 Unity Shader 开发入门4 —— ShaderLab 语法

文章目录 1 材质和 Shader1.1 Unity Shader 和 Shader 的区别1.2 Unity 中的材质和 Shader1.3 创建材质1.4 创建 Shader 2 ShaderLab 的基本结构2.1 什么是 ShaderLab2.2 ShaderLab 的基本结构 3 Shader 名称4 Shader 属性4.1 Shader 属性的作用4.2 Shader 属性的基本语法4.3 数…

飞桨paddlespeech语音唤醒推理C INT8 定点实现

前面的文章&#xff08;飞桨paddlespeech语音唤醒推理C定点实现&#xff09;讲了INT16的定点实现。因为目前商用的语音唤醒方案推理几乎都是INT8的定点实现&#xff0c;于是我又做了INT8的定点实现。 实现前做了一番调研。量化主要包括权重值量化和激活值量化。权重值由于较小且…

操作方法:将 PDF 转换为 Word 文档的 7 种方法

只要您有合适的工具&#xff0c;将 PDF 另存为 Word 文档就是小菜一碟。为了简化 PDF 转 Word 的转换&#xff0c;从而提高工作效率&#xff0c;这篇文章将围绕 Windows、Mac 和在线上的几个免费 PDF 转 Word 转换器&#xff0c;轻松帮助您学习如何将 PDF转换为 Word。 Windows…

AIGC,ChatGPT4 实际需求效办公自动化函数应用

用实际需求来给大家演示一下ChatGPT如何助力办应用。 首先我们来提取年份值 我们将公式复制到表格即可。 接下来进行向下填充。 就得到了所有年份&#xff0c; 接下来我们完成第二个需求&#xff0c;按年份统计销售额。 Prompt&#xff1a;有一个表格C列是年份&#xff0c;D列…

java+springboot电影订票选座及评论网站影评系统ssm+vue

广大观影消费者需要知道自己的空闲时间&#xff0c;在自己可以接受的地理距离范围内&#xff0c;是否有感兴趣的影片可供观看&#xff0c;也需要清楚哪家影院在销售自己需要的电影票&#xff1b;同时手握电影排期及上映信息的电影院的运营者也急需根据消费者的观影需求实时调整…