Python学习之复习MySQL-Day3(DQL)
目录
- 文章声明⭐⭐⭐
- 让我们开始今天的学习吧!
- DQL简介
- 基本查询
- 查询多个/全部字段
- 设置别名
- 去除重复记录
- 条件查询
- 条件查询介绍
- 实例演示
- 聚合函数
- 什么是聚合函数?
- 常见的聚合函数
- 实例演示
- 分组查询
- 分组查询语法
- where 和 having 的区别
- 实例演示
- 排序查询
- 语法
- 实例演示
- 分页查询
- 语法
- 实例演示
- 综合练习
文章声明⭐⭐⭐
- 该文章为我(有编程语言基础,非编程小白)的 MySQL复习笔记
- 知识来源为 B站UP主(黑马程序员)的MySQL课程视频,归纳为自己的语言与理解记录于此并加以实践
- 此前我已经学习过了MySQL,现在是在复习阶段,所以不是面向小白的教学文章
- 不出意外的话,我大抵会 持续更新
- 想要了解前端开发(技术栈大致有:Vue2/3、微信小程序、uniapp、HarmonyOS、NodeJS、Typescript)与Python的小伙伴,可以关注我!谢谢大家!
让我们开始今天的学习吧!
DQL简介
DQL英文全称Data Query Language,即数据查询语言,用来查询表中数据
完整语法如下:
select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数
基本查询
查询多个/全部字段
mysql> select id,username from emp;
+------+----------+
| id | username |
+------+----------+
| 1 | Richie |
| 2 | Taylor |
| 3 | Mike |
+------+----------+
3 rows in set (0.00 sec)mysql> select * from emp; # 数据量大的时候尽量不要使用,因为效率比较低
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 3 | Mike | 45 | 男 |
+------+----------+------+--------+
3 rows in set (0.00 sec)
设置别名
设置别名的好处在于,我们可以自定义字段名,可以更直观的观察数据
mysql> select username as name,gender as sex from emp;
+--------+------+
| name | sex |
+--------+------+
| Richie | 男 |
| Taylor | 女 |
| Mike | 男 |
+--------+------+
3 rows in set (0.00 sec)mysql> select username name,gender sex from emp; # as可以省略
+--------+------+
| name | sex |
+--------+------+
| Richie | 男 |
| Taylor | 女 |
| Mike | 男 |
+--------+------+
3 rows in set (0.00 sec)
去除重复记录
mysql> select distinct gender '性别' from emp; # 使用关键字distinc来去除重复记录
+------+
| 性别 |
+------+
| 男 |
| 女 |
+------+
2 rows in set (0.00 sec)
条件查询
条件查询介绍
比较运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
between … and … | 在某个范围之内(含最大最小值) |
in(…) | 在in之后的列表中的值,就是多选一的意思 |
like 占位符 | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
is null | 是null |
逻辑运算符 | 功能 |
---|---|
and 或 && | 并且(多个条件同时成立) |
or 或 || | 或者(多个条件任意一个成立) |
not 或 ! | 非(不是) |
实例演示
mysql> select * from emp where age = 88; # 查询年龄等于88的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 5 | 张三 | 88 | |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where age < 30; # 查询年龄小于30的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 4 | | 25 | 女 |
+------+----------+------+--------+
2 rows in set (0.00 sec)mysql> select * from emp where age <= 25; # 查询年龄小于等于25的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 4 | | 25 | 女 |
+------+----------+------+--------+
2 rows in set (0.00 sec)mysql> select * from emp where username = '' or username is null; # 查询没有姓名的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 4 | | 25 | 女 |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where not (username = '' or username is null); # 查询有姓名的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 3 | Mike | 45 | 男 |
| 5 | 张三 | 88 | |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp where age != 45; # 查询年龄不等于45的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 4 | | 25 | 女 |
| 5 | 张三 | 88 | |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp where age between 20 and 40; # 查询年龄在20-40之间的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 4 | | 25 | 女 |
+------+----------+------+--------+
3 rows in set (0.00 sec)mysql> select * from emp where gender = '女' and age < 30; # 查询性别为女且年龄小于30的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 4 | | 25 | 女 |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where gender = '女' and age < 30; # 查询年龄为21或者25或者34的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 4 | | 25 | 女 |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where age in (21,25,34); # 查询年龄为21或者25或者34的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 4 | | 25 | 女 |
+------+----------+------+--------+
3 rows in set (0.00 sec)mysql> select * from emp where username like '__'; # 查询姓名为两个字的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 5 | 张三 | 88 | |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where username like '%e'; # 查询姓名最后是e的员工
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 3 | Mike | 45 | 男 |
+------+----------+------+--------+
2 rows in set (0.00 sec)
聚合函数
什么是聚合函数?
聚合函数用于将一列数据作为一个整体,进行纵向的计算
注意:null不参与聚合函数的运算
常见的聚合函数
函数 | 功能 |
---|---|
count | 统计数量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
实例演示
mysql> select * from emp;
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 34 | 女 |
| 3 | Mike | 45 | 男 |
| 4 | | 25 | 女 |
| 5 | 张三 | 88 | |
+------+----------+------+--------+
5 rows in set (0.00 sec)mysql> select count(id) from emp; # 统计有多少条包含id字段的记录,不统计null
+-----------+
| count(id) |
+-----------+
| 5 |
+-----------+
1 row in set (0.00 sec)mysql> select avg(age) from emp; # 统计员工的平均年龄
+----------+
| avg(age) |
+----------+
| 42.6000 |
+----------+
1 row in set (0.03 sec)mysql> select max(age) from emp; # 统计员工的最大年龄
+----------+
| max(age) |
+----------+
| 88 |
+----------+
1 row in set (0.00 sec)mysql> select min(age) from emp; # 统计员工的最小年龄
+----------+
| min(age) |
+----------+
| 21 |
+----------+
1 row in set (0.00 sec)mysql> select sum(age) from emp where gender = '男'; # 统计男员工的年龄之和
+----------+
| sum(age) |
+----------+
| 66 |
+----------+
1 row in set (0.00 sec)
分组查询
分组查询语法
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤的条件]
where 和 having 的区别
- 执行时机不同:where 是在 group by 分组之前进行过滤,不满足 where 条件的,不参与 group by 分组;而 having 则是在 group by 分组之后过滤的
- 判断条件不同:where 不能对聚合函数进行判断过滤,而 having 则可以
注意:执行顺序为 where > 聚合函数 > having
实例演示
mysql> select * from emp;
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 29 | 女 |
| 3 | Mike | 38 | 男 |
| 4 | Jack | 88 | 男 |
| 5 | Joker | 56 | 男 |
| 6 | Nancy | 18 | 女 |
+------+----------+------+--------+
6 rows in set (0.00 sec)mysql> select gender,count(*) from emp group by gender; # 根据性别分组,统计男员工和女员工的数量
+--------+----------+
| gender | count(*) |
+--------+----------+
| 男 | 4 |
| 女 | 2 |
+--------+----------+
2 rows in set (0.00 sec)mysql> select gender,avg(age) from emp group by gender; # 根据性别分组,统计男员工和女员工的平均年龄
+--------+----------+
| gender | avg(age) |
+--------+----------+
| 男 | 50.7500 |
| 女 | 23.5000 |
+--------+----------+
2 rows in set (0.03 sec)mysql> select gender,count(*) from emp where age < 60 group by gender having count(*) >= 3; # 查询年龄小于60的员工,并根据性别分组,获取员工数量大于等于3的性别
+--------+----------+
| gender | count(*) |
+--------+----------+
| 男 | 3 |
+--------+----------+
1 row in set (0.00 sec)mysql> select gender,count(*) num from emp where age < 60 group by gender having num >= 3; # 还可以在上一个例题中起别名
+--------+-----+
| gender | num |
+--------+-----+
| 男 | 3 |
+--------+-----+
1 row in set (0.03 sec)
排序查询
语法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2 ... ;
排序方式
- 升序:asc(ascend,此为默认值)
- 降序:desc(descend)
实例演示
mysql> select * from emp;
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 29 | 女 |
| 3 | Mike | 38 | 男 |
| 4 | Jack | 88 | 男 |
| 5 | Joker | 56 | 男 |
| 6 | Nancy | 18 | 女 |
+------+----------+------+--------+
6 rows in set (0.00 sec)mysql> select username '姓名',age '年龄',gender '性别' from emp where gender = '男' order by age; # 根据 年龄对男员工进行升序排序
+--------+------+------+
| 姓名 | 年龄 | 性别 |
+--------+------+------+
| Richie | 21 | 男 |
| Mike | 38 | 男 |
| Joker | 56 | 男 |
| Jack | 88 | 男 |
+--------+------+------+
4 rows in set (0.00 sec)
分页查询
语法
select 字段列表 from 表名 limit 起始索引 , 查询记录数;
注意:
- 起始索引从 0 开始计算,起始索引 = (要查询的页码数 - 1)* 每页显示记录数
- 如果查询的是第一页,起始索引可以省略
实例演示
mysql> select * from emp;
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 29 | 女 |
| 3 | Mike | 38 | 男 |
| 4 | Jack | 88 | 男 |
| 5 | Joker | 56 | 男 |
| 6 | Nancy | 18 | 女 |
| 7 | Linken | 57 | 男 |
+------+----------+------+--------+
7 rows in set (0.00 sec)mysql> select * from emp limit 0 , 4; # 查询第一页员工数据,每页展示4条数据
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 29 | 女 |
| 3 | Mike | 38 | 男 |
| 4 | Jack | 88 | 男 |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp limit 4; # 查询第一页数据时可以简写
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 1 | Richie | 21 | 男 |
| 2 | Taylor | 29 | 女 |
| 3 | Mike | 38 | 男 |
| 4 | Jack | 88 | 男 |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp limit 5,5; # 查询第二页数据,每页展示5条数据
+------+----------+------+--------+
| id | username | age | gender |
+------+----------+------+--------+
| 6 | Nancy | 18 | 女 |
| 7 | Linken | 57 | 男 |
+------+----------+------+--------+
2 rows in set (0.00 sec)
综合练习
# 查询年龄为20,21,22,23岁的女性员工信息
select * from emp where age in (20,21,22,23) && gender = '女';
# 查询性别为男,并且年龄在 20-40 (不包含20岁包含40岁)岁且姓名长度等于4的员工信息
select * from emp where gender = '男' && age between 21 and 40 && name like '____';
# 统计员工表中年龄小于60岁的男性员工和女性员工的人数
select gender , count(*) from emp where age < 60 group by gender
# 查询所有年龄小于等于35岁的员工姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序
select name,age from emp where age <= 35 order by age asc,entrytime desc;
# 查询性别为男,并且年龄在 20-40岁(包含20、40岁)以内的前五名员工信息
select * from emp where gender = '男' && age between 20 and 40 limit 5;
相关文章:
Python学习之复习MySQL-Day3(DQL)
目录 文章声明⭐⭐⭐让我们开始今天的学习吧!DQL简介基本查询查询多个/全部字段设置别名去除重复记录 条件查询条件查询介绍实例演示 聚合函数什么是聚合函数?常见的聚合函数实例演示 分组查询分组查询语法where 和 having 的区别实例演示 排序查询语法实…...

AI超级个体:ChatGPT与AIGC实战指南
目录 前言 一、ChatGPT在日常工作中的应用场景 1. 客户服务与支持 2. 内部沟通与协作 3. 创新与问题解决 二、巧用ChatGPT提升工作效率 1. 自动化工作流程 2. 信息整合与共享 3. 提高决策效率 三、巧用ChatGPT创造价值 1. 优化产品和服务 2. 提高员工满意度和留任率…...
SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍)
SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍) 文章目录 SpringBoot集成websocket(5)|(使用OkHttpClient实现websocket以及详细介绍)[TOC] 前言一、初始…...

Kafka-Kafka基本原理与集群快速搭建(实践)
Kafka单机搭建 下载Kafka Apache Download Mirrors 解压 tar -zxvf kafka_2.12-3.4.0.tgz -C /usr/local/src/software/kafkakafka内部bin目录下有个内置的zookeeper(用于单机) 启动zookeeper(在后台启动) nohup bin/zookeeper-server-start.sh conf…...

Elasticsearch 进阶(索引、类型、字段、分片、副本、集群等详细说明)-06
笔记来源:Elasticsearch Elasticsearch进阶 进阶-核心概念 索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字…...

hive的分区表和分桶表详解
分区表 Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录,每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区,这样的查询效率会提高很多。 静态分区表基本语法 创建分区表 create table dept_p…...

verilog语法进阶-分布式ram
概述: FPGA的LUT查找表是用RAM设计的,所以LUT可以当成ram来使用,也并不是所有的LUT都可以当成ram来使用,sliceM的ram可以当成分布式ram来使用,而sliceL的ram只能当成rom来使用,也就是只能读,不能写&#x…...

HarmonyOS使用HTTP访问网络
HTTP数据请求 1 概述 日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更加丰富、更加实用的体验。 那么要实现这样一种…...

GZ015 机器人系统集成应用技术样题1-学生赛
2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题1 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…...

计算机毕业设计 基于SpringBoot的日常办公用品直售推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

uniapp:使用fixed定位,iOS平台的安全区域问题解决
manifest.json > 添加节点 "safearea": { //iOS平台的安全区域"background": "#1C1E22","backgroundDark": "#1C1E22", // HX 3.1.19支持"bottom": {"offset": "auto"} },已解决ÿ…...

三层交换机原理与配置
文章目录 三层交换机原理与配置一、三层交换技术概述二、传统的 MLS三、基于CEF 的MLS1、转发信息库(FIB)2、邻接关系表3、工作原理: 四、三层交换机的配置1、三层交换机配置命令2、三层交换机配置步骤 三层交换机原理与配置 一、三层交换技…...

Linux-----5、文件系统
# 文件系统 # 终端的基本操作 ㈠ 打开多个终端 ㈡ 快速清屏 新建标签:command T 新建窗口:command N 关闭标签:command Q 关闭窗口:command W 放大:command 缩小:command - 清屏ÿ…...

电脑自动关机怎么设置?
电脑自动关机怎么设置?如果你是一名上班族,工作忙起来很多事情都会忘记做,有时候忙到很晚后紧急下班,就会忘记给电脑关机,电脑如果经常不关机,那么电脑就会超负荷的运转,大家都知道电脑的寿命是…...

MS5602视频 8 位数模转换器,可替代TLC5602
MS5602 是低功率、超高速视频数模转换器。 MS5602 以 DC 至 20MHz 的采样速率,将数字信号转换成模拟信号。由于高速工作 的特性, MS5602 适合于数字电视、电脑视频处理及雷达信号处 理等数字视频应用。 MS5602 工作在 -40C 至 85C 的温度范围内 …...

Logistic Regression——逻辑回归
1. 为什么需要逻辑回归 在前面学习的线性回归中,我们的预测值都是任意的连续值,例如预测房价。除此之外,还有一个常见的问题就是分类问题,而逻辑回归是一个解决分类问题的模型,其预测值是离散的。 分类问题又包括…...

跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)
本文为转载 原文链接: 采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发) 内容如下 QCustomPlot是一个开源的基于Qt的第三方绘图库,能…...

Todesk、向日葵等访问“无显示器”主机黑屏问题解决
我的环境是 ubuntu 22.04 安装 要安装 video dummy,请在终端中运行以下命令: sudo apt install xserver-xorg-video-dummy配置 video dummy 的配置文件请自行搜索 使用任何文本编辑器打开此文件。 我的是 /etc/X11/xorg.conf 默认配置文件包含以下内…...

maven打包插件maven-jar-plugin与spring-boot-maven-plugin
maven几种打包插件介绍 文章目录 🔊1.spring-boot-maven-plugin打包后效果 📕2.maven-jar-plugin打包后效果🖊️最后总结 🔊1.spring-boot-maven-plugin <plugins><plugin><groupId>org.springframework.boot&…...
uniapp微信小程序下载base64图片流或https图片
常规https的图片下载是这样的 const urlPath https://test/logo.png uni.downloadFile({url: urlPath,success(res){// 这时会产生一个临时路径,在应用本次启动期间可以正常使用。if (res.statusCode 200) {// 需要将图片保存到相册uni.saveImageToPhotosAlbum({…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...