当前位置: 首页 > news >正文

MYSQL-SQL-03-DQL(Data Query Language,数据查询语言)(单表查询)

DQL(数据查询语言)

  1. DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。
    • 查询关键字: SELECT
  2. 在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站,在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能还会涉及到条件、排序、分页等操作。
  3. 数据准备:
CREATE TABLE emp(id INT COMMENT '编号',workno VARCHAR(10) COMMENT '工号',NAME VARCHAR(10) COMMENT '姓名',gender CHAR(1) COMMENT '性别',age TINYINT UNSIGNED COMMENT '年龄',idcard CHAR(18) COMMENT '身份证号',workaddress VARCHAR(50) COMMENT '工作地址',entrydate DATE COMMENT '入职时间')COMMENT '员工表';
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (1, '00001', '柳岩666', '女', 20, '123456789012345678', '北京', '2000-01-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (2, '00002', '张无忌', '男', 18, '123456789012345670', '北京', '2005-09-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (3, '00003', '韦一笑', '男', 38, '123456789712345670', '上海', '2005-08-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (4, '00004', '赵敏', '女', 18, '123456757123845670', '北京', '2009-12-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (6, '00006', '杨逍', '男', 28, '12345678931234567X', '北京', '2006-01-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (7, '00007', '范瑶', '男', 40, '123456789212345670', '北京', '2005-05-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (8, '00008', '黛绮丝', '女', 38, '123456157123645670', '天津', '2015-05-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (9, '00009', '范凉凉', '女', 45, '123156789012345678', '北京', '2010-04-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (10, '00010', '陈友谅', '男', 53, '123456789012345670', '上海', '2011-01-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (11, '00011', '张士诚', '男', 55, '123567897123465670', '江苏', '2015-05-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (13, '00013', '张三丰', '男', 88, '123656789012345678', '江苏', '2020-11-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (14, '00014', '灭绝', '女', 65, '123456719012345670', '西安', '2019-05-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate) VALUES (15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-01');
INSERT INTO emp (id, workno, NAME, gender, age, idcard, workaddress, entrydate)  VALUES (16, '00016', '周芷若', '女', 18, NULL, '北京', '2012-06-01');

一、基本语法

SELECT字段列表
FROM表名列表
WHERE条件列表
GROUP  BY分组字段列表
HAVING分组后条件列表
ORDER BY排序字段列表
LIMIT分页参数

1、基础查询(不带任何条件)—查询多个字段

-- 查询指定字段SELECT  字段1, 字段2, 字段3 ...  FROM   表名 ;-- 查询所有字段SELECT  *  FROM   表名 ;

注意 : * 号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)

--  查询emp表的id字段
select id from emp;

在这里插入图片描述

--  查询emp表的所有字段
select * from emp;

在这里插入图片描述

2、基础查询(不带任何条件)—设置字段别名

-- 设置别名可以使用as关键字也可以省略as
SELECT   字段1  [ AS  别名1 ] , 字段2  [ AS  别名2 ]   ...  FROM   表名; -- 省略asSELECT   字段1  [ 别名1 ] , 字段2  [ 别名2 ]   ...  FROM   表名;

as可以省略

select id as eid from emp;-- 这个和上面的作用一样的,省略了as
select id eid from emp;

在这里插入图片描述

3、基础查询(不带任何条件)—去除重复记录

  • DISTINCT关键字:用于从查询结果中删除重复的行,确保返回的每一行都是唯一的。它通常用于 SELECT 语句中,以获取不同(唯一)的记录集合
    • DISTINCT 可以单列使用
    • DISTINCT 也可以与多个列一起使用,以返回基于这些列组合的唯一行
 SELECT  DISTINCT 字段列表  FROM   表名;
  • distinct单列
-- 查询公司员工的上班地址有哪些(不要重复),'工作地址'是别名
select distinct workaddress '工作地址' from emp;

在这里插入图片描述

  • distinct多列
-- 查询公司男员工的上班地址有哪些(不要重复),'工作地址'是别名
select distinct gender '性别', workaddress '工作地址' from emp;

在这里插入图片描述

  • DISTINCT 是一个有用的关键字,用于从查询结果中去除重复的行。然而,它可能会增加查询的复杂性,并可能影响性能,因此在使用时需要谨慎

4、条件查询

  1. 语法:
SELECT  字段列表  FROM   表名   WHERE   条件列表 ;

4.1、常用的比较运算符

在这里插入图片描述

  • 判断字段是不是null的时候,就可以使用is null或者是is not null来进行条件判断,而不是用=null或!=null。
-- 查询身份证号码为null的数据
select * from emp where idcard is null;
  • = 运算符不能用于检查 NULL 值,因为 NULL 表示未知,而未知与任何值(包括它自己)都不相等。因此,column = NULL 总是返回 FALSE。

  • 同样地,<> 运算符也不能用于检查 NULL 值,因为 NULL 不等于任何值,包括它自己。因此,column <> NULL 也总是返回 FALSE。

  • is null和 is not null的影响——索引和性能:

    • 在某些情况下,使用 IS NULL 或 IS NOT NULL 条件可能会影响查询性能,特别是当涉及到大表或索引时。因此,在设计数据库和编写查询时,应考虑到这一点。
      • 默认值:在创建表时,可以为列指定默认值。如果未为列提供值,则MySQL将使用默认值(如果已指定)。如果未指定默认值且列允许 NULL,则MySQL将插入 NULL 值。

4.2、常用的的逻辑运算符

在这里插入图片描述

--  查询没有身份证号的员工信息select * from emp where idcard is null;-- 查询有身份证号的员工信息
select * from emp where idcard is not null;-- 查询年龄不等于 28 的员工信息select * from emp where age != 28;select * from emp where age <> 28;-- 查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
select * from emp where age >= 15 && age <= 20;select * from emp where age >= 15 and age <= 20;select * from emp where age between 15 and 20;-- 查询年龄等于18 或 20 或 40 的员工信息select * from emp where age = 18 or age = 20 or age =40;select * from emp where age in(18,20,40);-- 查询姓名为两个字的员工信息(_表示一个占位符,%表示匹配任意个字符)
select * from emp where name like '__';-- 查询身份证号最后一位是X的员工信息(%表示前面可以有n个字符)select * from emp where idcard like '%X';

5、聚合函数

  1. 聚合函数:将一列数据作为一个整体,进行纵向计算 。
    在这里插入图片描述
SELECT  聚合函数(字段列表)  FROM   表名 ;

注意 : NULL值是不参与所有聚合函数运算的。

-- 统计的是总记录数(常用)
select count(*) from emp; -- 统计的是idcard字段不为null的记录数
select count(idcard) from emp; -- 统计该企业员工的平均年龄
select avg(age) from emp;-- 统计该企业员工的最大年龄
select max(age) from emp;--  统计该企业员工的最小年龄select min(age) from emp;--  统计西安地区员工的年龄之和select sum(age) from emp where workaddress = '西安';

6、分组查询

 SELECT  字段列表  FROM   表名  [ WHERE   条件 ]  GROUP   BY  分组字段名  [ HAVING  分组后过滤条件 ];
  1. where与having区别:
    • 执行时机不同where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
    • 判断条件不同where不能对聚合函数进行判断,而having可以。
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
  • 执行顺序: where > 聚合函数 > having 。
  • 支持多字段分组, 具体语法为 : group by columnA,columnB,…
-- 根据性别分组 , 统计男性员工 和 女性员工的数量
select gender, count(*) from emp group by gender ;

在这里插入图片描述


-- 查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
select workaddress, count(*) address_count from emp where age < 45 group by 
workaddress having address_count >= 3;

在这里插入图片描述

7、排序查询

  1. 排序在日常开发中是非常常见的一个操作,有升序排序(ASC,默认升序),也有降序排序(DESC)。
  2. 语法:
SELECT  字段列表  FROM   表名  ORDER  BY  字段1  排序方式1 , 字段2  排序方式2 ;
  1. 排序方式:

    • ASC(ascend) : 升序(默认值)
    • DESC(descend): 降序
  2. 注意事项:

    • 如果是升序, 可以不指定排序方式ASC ;
    • 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;
-- 根据年龄对公司的员工进行升序排序select * from emp order by age asc;select * from emp order by age;-- 根据入职时间, 对员工进行降序排序
select * from emp order by entrydate desc;-- 根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序select * from emp order by age asc , entrydate desc;

8、分页查询

  1. 分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台都需要借助于数据库的分页操作。
  2. 语法:
SELECT  字段列表  FROM   表名  LIMIT  起始索引, 查询记录数 ;
  1. 注意事项:
    • 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
    • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
    • 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。
-- 查询第1页员工数据, 每页展示10条记录select * from emp limit 0,10;select * from emp limit 10; -- 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10-- 查询第2页员工数据, 每页展示10条记录 --------> (页码-1)*页展示记录数select * from emp limit 10,10;

9、DQL语句在执行时的执行顺序

在这里插入图片描述

  • 1、证明from比where和select先执行
select e.age from emp e where e.id = 1; -- 这里使用表的别名可以说明是from先执行的,而where和select是后执行的,因为如果from不限执行,表别名e就无法使用了
  • 2、证明where比select先执行
select e.age a from emp e where e.id = 1 and a = 1; 

在这里插入图片描述

  • 3、证明select比order by 先执行
    在这里插入图片描述

  • 4、因为group by是对where条件过滤后的数据进行分组,而select是从分组的数据中选择需要的列,所以group by先执行

  • 5、limit是对最后的结果限制返回的行数,所以limit是最后执行的。

  • 总结select的执行顺序为

    • 执行第一:FROM:首先确定数据源,即表或视图。
    • 执行第二:WHERE:对数据源进行过滤,只保留符合条件的行。
    • 执行第三:GROUP BY:对过滤后的数据进行分组。
    • 执行第四:HAVING:对分组后的数据进行进一步过滤(如果有 HAVING 子句)。
    • 执行第五:SELECT:选择需要返回的列,并计算表达式(包括聚合函数)。
    • 执行第六:ORDER BY:对结果进行排序(如果有 ORDER BY 子句)。
    • 执行第七:LIMIT:限制返回的行数(如果有 LIMIT 子句)。

相关文章:

MYSQL-SQL-03-DQL(Data Query Language,数据查询语言)(单表查询)

DQL&#xff08;数据查询语言&#xff09; DQL英文全称是Data Query Language(数据查询语言)&#xff0c;数据查询语言&#xff0c;用来查询数据库中表的记录。 查询关键字: SELECT 在一个正常的业务系统中&#xff0c;查询操作的频次是要远高于增删改的&#xff0c;当我们去访…...

【数据结构和算法】三、动态规划原理讲解与实战演练

目录 1、什么是动态规划&#xff1f; 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 &#xff08;1&#xff09;解题思路1: &#xff08;2&#xff09;解题思路2: &#xff08;3&#xff09;动态规划&#xff08;DP&#xff09;&#xff1a;解题思路 &#xff08;4&#x…...

交叉编译 perl-5.40.0(riscv64)

交叉编译 perl-5.40.0&#xff08;riscv64&#xff09; https://arsv.github.io/perl-cross/usage.html https://github.com/arsv/perl-cross 借助 perl-cross 进行交叉编译 https://www.perl.org/get.html#unix_like 这里获取 perl-5.40.0 的源码 https://github.com/arsv/pe…...

Leetcode 搜索旋转排序数组

这段代码是用于解决LeetCode第33题“搜索旋转排序数组”的Java解法。以下是对该算法思想的中文解释&#xff1a; 算法思想 二分查找的基本思路&#xff1a; 由于数组是部分有序的&#xff08;被旋转过&#xff09;&#xff0c;我们可以利用二分查找的思想&#xff0c;逐步缩小…...

Spring Task—定时任务

Spring Task 是 Spring 提供的一种轻量级定时任务调度功能&#xff0c;内置在 Spring 框架中。与 Quartz 等重量级调度框架相比&#xff0c;Spring Task 使用简便&#xff0c;无需额外依赖&#xff0c;适合在简单的调度任务场景中使用。通过注解配置方式&#xff0c;开发者可以…...

Spring Boot 应用开发概述

目录 Spring Boot 应用开发概述 Spring Boot 的核心特性 Spring Boot 的开发模式 Spring Boot 在企业应用开发中的优势 结论 Spring Boot 应用开发概述 Spring Boot 是由 Pivotal 团队开发的一个框架&#xff0c;基于 Spring 框架&#xff0c;旨在简化和加速基于 Spring …...

Chrome谷歌浏览器加载ActiveX控件之allWebDesktop控件介绍

背景 allWebDesktop控件是一款方便用户在线打开各类文档的OA办公控件。它设计比较轻巧&#xff0c;充分利用计算机程序资源打开文档&#xff0c;并将程序窗口嵌入到allWebDesktop控件区域内&#xff0c;从而实现浏览器内打开各类文档效果。 allWebPlugin中间件是一款为用户提供…...

GitHub Star 数量前 5 的开源应用程序生成器

欢迎来的 GitHub Star 数量排名系列文章的第 7 篇——最受欢迎的应用程序生成器。 之前我们已经详细探讨过&#xff1a;在 GitHub 上最受欢迎的——无代码工具、低代码项目、内部工具、CRUD项目、自部署项目和 Airtable 开源替代品。累计超过 50 个优质项目&#xff01;&#…...

DBC文件当中新建CANFD等类型的报文

同学最近有添加CANFD报文的需求&#xff0c;需要用到CANFD类型报文的DBC文件&#xff0c;这下就难住我了&#xff0c;我之前用的DBC文件只有“CAN Standard”“CAN Extended”两种类型&#xff0c;压根没见过FD的。 后来他找到了项目之前的DBC&#xff0c;打开来看&#xff0c…...

基于SpringBoot的房地产销售管理系统【附源码】

基于SpringBoot的房地产销售管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1用户登录功能的详细实现 4.2管理员权限的功能实现 4.2.1客户信息管理功能的详细实现 4.2.2房产管理功能的详细实现 4.2.3预约看房功能的详细实现 4.2.4论…...

圆点虚线 Android

参考 https://blog.csdn.net/l_o_s/article/details/73550876 <com.xxx.wwww.weight.PointDividerViewandroid:layout_width"match_parent"android:layout_height"wrap_content"app:PDbackgroundColor"color/white"app:dotColor"color/…...

贵州鑫宏远农业-始终致力于推动现代农业的科技创新与发展

贵州鑫宏远农业科技有限公司&#xff0c;是一家在高科技农业领域深耕细作、锐意进取的企业。自成立以来&#xff0c;我们始终致力于推动现代农业的科技创新与发展&#xff0c;业务全面覆盖农业科学研发、组织培养生产、专业育苗培植、半成品及成品精细化养护、市场销售以及全方…...

程序员做销售,从代码到客户的逆袭之路

大家好&#xff0c;我是小悟。 在这个互联网风起云涌、技术迭代日新月异的时代&#xff0c;“跨界”已然成为一种新潮流。就好似那从天而降的大侠&#xff0c;一不小心就可能横跨了数个充满奇遇与挑战的领域。 想象一下&#xff0c;一个平日里只跟代码打交道的程序员&#xf…...

Flink CDC系列之:理解学习Kubernetes模式

Flink CDC系列之&#xff1a;理解学习Kubernetes模式 准备会话模式启动会话集群设置 Flink CDC提交 Flink CDC Job Kubernetes 是一种流行的容器编排系统&#xff0c;用于自动化计算机应用程序的部署、扩展和管理。Flink 的原生 Kubernetes 集成允许您直接在正在运行的 Kuberne…...

git合并相关操作详解

在使用Git进行分支管理时,合并(merge)操作是非常常见的。下面是Git合并相关的详细步骤和一些常见的场景及注意事项。 一、 基本合并操作 假设我们有两个分支:main 和 feature,希望将 feature 合并到 main 上。 切换到目标分支 首先需要切换到你想合并到的分支。例如,切…...

前端经典【面试题】持续更新HTML、CSS、JS、VUE、FLUTTER、性能优化等

HTML/CSS 面试题 什么是语义化 HTML&#xff1f; 说明&#xff1a;语义化 HTML 使用 HTML 标签来描述内容的含义&#xff0c;而不仅仅是其外观。使用语义化标签可以提高可读性和可访问性&#xff0c;并对 SEO 友好。示例&#xff1a; <header><h1>网站标题</h1&…...

【Linux知识】linux磁盘管理深入了解

文章目录 常见磁盘管理命令行磁盘分区NASNAS 磁盘挂载&#x1f510; 如何设置NAS设备的访问权限&#xff1f; Mkfs&#x1f9d0; mkfs 命令支持哪些文件系统类型&#xff1f; Mount&#x1f511; 在Linux中&#xff0c;如何安全地卸载挂载的文件系统&#xff1f; 常见磁盘管理命…...

Qt Essential Classes

目录 QVariant QFlags QRandomGenerator 经典的Qt容器 QVector QList QMap QMultiMap QSet QHash QVariant 同std::variant是一样的&#xff0c;他是一个更加高级的union。在一个时间下&#xff0c;它虽然实际上只能是一种类型&#xff0c;但是一个variant可以hold住…...

小小猫棒onu替换家用光猫,薅运营商带宽羊毛,突破1000M

小小猫棒onu 一、总体步骤 1 记录原来光猫信息 主要包括SN&#xff0c;ploam密码&#xff0c;loid、loid密码、 mac、上网的vlan id等 一般gpon采用SN、ploam密码、SNploam密码三种中的一种认证方式 一般Epon采用loid&#xff08;逻辑id&#xff09;、mac、loid mac三种中…...

软件测试学习笔记丨Selenium学习笔记:css定位

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/22511 本文为霍格沃兹测试开发学社的学习经历分享&#xff0c;写出来分享给大家&#xff0c;希望有志同道合的小伙伴可以一起交流技术&#xff0c;一起进步~ 说明&#xff1a;本篇博客基于sel…...

python数据处理常用操作

数据处理是机器学习中非常重要的一步&#xff0c;以下是一些常用的操作和示例代码&#xff1a; 1. 数据清洗 处理缺失值&#xff1a; import pandas as pd# 读取数据 df pd.read_csv(data.csv)# 删除缺失值 df.dropna(inplaceTrue)# 用均值填充缺失值 df.fillna(df.mean(), i…...

解决minio跨域问题

MinIO 支持跨域资源共享(CORS)&#xff0c;允许你配置跨域请求的相关策略。以下是一个基本的CORS配置示例&#xff0c;你可以在MinIO的配置文件&#xff08;例如config.json&#xff09;中设置这些策略&#xff1a; 在Linux中 root/.minio 目录下如果没有就新建一个 config.jso…...

python 跳过当前循环

在 Python 中&#xff0c;可以使用 continue 语句来跳过当前循环的剩余部分&#xff0c;并继续下一次循环。continue 语句用于跳过循环体中剩余的语句&#xff0c;并立即开始下一次迭代。 以下是一个简单的示例&#xff0c;演示了如何在 for 循环中使用 continue 语句&#xf…...

数据库数据恢复—Oracle ASM磁盘组掉线 ,ASM实例无法挂载的数据恢复案例

Oracle数据库数据恢复环境&故障&#xff1a; Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 &#xff0c;ASM实例不能mount。 Oracle数据库故障分析&恢复方案&#xff1a; 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储…...

jupyter notebook改变默认启动路径

安装好Anaconda 3以后&#xff0c;就可以使用Jupyter notebook了&#xff0c;但是我们打开Jupyter notebook后&#xff0c;发现界面是一个默认的目录&#xff0c;这个目录在哪里&#xff1f;如果想把自己写的程序文件保存在自己新建的一个文件夹里&#xff0c;修改默认目录到自…...

libevent源码剖析-基本数据结构

1 简介 前面系列文章对libevent源码的主体结构&#xff0c;从reactor框架实现&#xff0c;到evbuffer和bufferevent实现原理&#xff0c;及libevent的例子进行了剖析&#xff0c;自此&#xff0c;我们便可基于libevent开发app了。 从本文开始&#xff0c;主要来介绍下libevent源…...

往期文章汇总——射频测量+无线通信+软件无线电+6G科普

本节目录 一、射频测量系列往期链接 二、无线通信系列往期链接 三、软件无线电系列往期链接 四、6G科普系列往期链接本节内容 一、射频测量系列往期链接 射频测量 | 滤波器的关注指标 射频测量 | 射频电路中的负载与滤波器 射频测量 | 射频衰减器的功率系数 射频测量 | 衰减…...

微信小程序 - 深 / 浅拷贝实现方法,微信小程序深拷贝与浅拷贝,函数方法封装直接调用使用,深拷贝cloneDeep和浅拷贝clone(深复制和浅复制)

前言 在微信小程序中,你无法 直接使用常规浏览器环境中的深浅拷贝方法。 但可以借助 utils.js 实现,下面是方法。 创建深浅拷贝函数 依次打开小程序目录【utils】→【utils.js】,写入深拷贝函数并暴露出去。 // utils.js// 对象深拷贝函数 const deepClone = function(in…...

Log4Net配置详解及输出自定义消息类示例代码

1.简单使用实例 1.1 添加log4net.dll的引用。 在NuGet程序包中搜索log4net并添加&#xff0c;此次我所用版本为2.0.17。如下图&#xff1a; 1.2 添加配置文件 右键项目&#xff0c;添加新建项&#xff0c;搜索选择应用程序配置文件&#xff0c;命名为log4net.config&#xff0c…...

C++在实际项目中的应用第二节:C++与区块链

第五章&#xff1a;C在实际项目中的应用 第二课&#xff1a;C与区块链 区块链技术因其去中心化、不可篡改和透明性而受到广泛关注。在这门课程中&#xff0c;我们将深入探讨区块链的基本原理、智能合约的开发以及实际应用的案例分析&#xff0c;重点使用 C 作为实现语言&…...

西海岸城市建设局网站/近期新闻热点事件简短

Ockam发布了一个基于Google Go语言的开源SDK&#xff0c;以允许开发人员将标识服务构建到其物联网应用程序中。 身份服务将由公司的“去中心化”云服务平台Ockam Network提供。 [ 什么是云计算&#xff1f; 您现在需要知道的一切 。 | 另外&#xff1a;InfoWorld的David Linth…...

天津市建设银行租房网站/东莞关键词seo优化

〖Array王锐大神力作〗osg与PhysX结合系列内容——地形碰撞体“烘焙”物理碰撞体HeightField与TriangleMesh物理材质的概念与使用直接读取高度图数据与osg::HeightField结合使用Pvd调试环境构建测试场景并运行“烘焙”物理碰撞体 在上一篇文章中&#xff0c;我们介绍了多种不同…...

休闲食品网站模板/媒体发稿推广

Demo详见GitHub&#xff1a;JXTMarkLabel 镂空文字 - JXTHollowOutLabel 镂空文字效果的实现基于drawRect重绘&#xff0c;具体参考了两篇帖子&#xff1a; Drawing a path with subtracted text using Core GraphicsdrawRect drawing ‘transparent’ text? 想了解原理的可以…...

古风网站建设模板/seo入门基础教程

一、什么是序列化 在我们存储数据或者网络传输数据的时候&#xff0c;需要对我们的对象进行处理&#xff0c;把对象处理成方便存储和传输的数据格式。这个过程叫序列化&#xff0c;不同的序列化结果也不同&#xff0c;但目的是一样的&#xff0c;都是为了存储和传输 在Python中…...

要修改wordpress目录下的文件权限/北京百度竞价托管公司

问题如题&#xff1a;安装方法参考 http://www.cnblogs.com/shengulong/p/7887586.html &#xff0c;安装完后&#xff0c;使用时出现如题的错误 解决办法&#xff1a; 1、zerorpc本身依赖很多三方包&#xff0c;请注意版本的兼容性&#xff0c;因此最佳方案是&#xff0c;把这…...

怎么选择合肥网站建设/福州百度快速优化

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1811 思路&#xff1a;先处理‘‘&#xff0c;全部合并为同一个节点&#xff0c;然后在拓扑排序就可以了。。。 拓扑排序知识&#xff1a; *如果一次入队入度为零的点大于1则说明拓扑排序序列不唯一*如果排序的…...