MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)
天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
安能摧眉折腰事权贵,使我不得开心颜?
——《梦游天姥吟留别》
文章目录
- MySQL入门操作命令汇总
- 1. 数据库(create、show、drop、alter)
- 1.1 登录数据库
- 1.2 创建数据库(create)
- 1.3 查看所有数据库(show)
- 1.4 删除数据库(drop)
- 1.5 更改数据库字符集(alter)
- 2. 数据表(use、create、show、describe、drop、alter)
- 2.1 使用数据库(use)
- 2.2 创建数据表(create)
- 整数类型
- 浮点数类型
- 字符串类型
- 日期时间类型
- 二进制类型
- 2.3 查询数据表(show)
- 2.4 查看表结构(describe)
- 2.5 删除表(drop)
- 2.6 修改数据表名(alter)
- 3. 数据记录(insert、select、delete、update)
- 3.1 添加数据(insert)
- 3.2 查询数据(select)
- 3.2.1 去重查询(distinct)
- 3.2.2 模糊查询(like)
- 3.2.3 限制查询结果集(limit)
- 3.2.4 分组查询(group)
- 3.2.5 分组统计(count)
- 3.2.6 结果集过滤(having)
- 3.2.7 结果集排序(order)
- 3.2.7.1 单字段排序
- 3.2.7.2 多字段排序
- 3.2.7.3 限制排序
- 3.2.7.4 限制排序并选择区间(暂时未测通)
- 3.2 删除数据(delete)
- 3.3 更新数据(update)
- 4. 字段或者说表结构(show、select、alter、drop、modify、change)
- 4.1 显示表中所有字段(列)
- 4.2 显示表中所有数据
- 4.3 添加字段(列)
- 4.4 删除字段(列)
- 4.5 修改字段类型
- 4.6 修改字段名和类型
- 5. 统计(sum、count、max、min、avg)
- 5.1 sum求和
- 5.2 count统计数量
- 5.3 max最大值
- 5.4 min最小值
- 5.5 avg平均值
MySQL入门操作命令汇总
MySQL学习专栏
MySQL下载安装配置
时区修改
java使用jdbc导致时区问题,此时修改东八区
在mysql文件夹中找到my.ni文件
编辑器打开,在[mysqlId]下面添加一行
default-time_zone='+8:00'
然后重启mysql,打开任务管理器–服务–找到mysql,右键重新启动
1. 数据库(create、show、drop、alter)
1.1 登录数据库
mysql -u 账号 -p
回车后输入密码
密码不显示
1.2 创建数据库(create)
创建数据使用create语句
语法
create database 数据库名;
示例
如创建数据库test01
create database test01;
1.3 查看所有数据库(show)
查看数据库使用show语句
show databases;
1.4 删除数据库(drop)
删除数据库使用drop语句
语法
drop database 数据库名;
示例
如删除数据库test01
drop database test01;
1.5 更改数据库字符集(alter)
更改数据库的字符集,使用alter set进行设置
语法
alter database 数据库名 default character set 字符集名称;
示例
如将数据库test01的字符集修改为utf-8
alter database test01 default character set 'utf-8';
2. 数据表(use、create、show、describe、drop、alter)
2.1 使用数据库(use)
使用数据库表示接下来对数据库和表的操作都是在该数据库下进行
语法
use 数据库名;
在操作表之前需要先使用该命令选择数据库
示例
如使用数据库test01
use test01;
2.2 创建数据表(create)
创建数据表
语法
CREATE TABLE 表名 (字段1 数据类型 约束条件;字段2 数据类型 约束条件;
);
示例
如创建一个名为user的数据表,字段包含姓名年龄以及自增长的id
create table user(id int auto_increment not null comment "自增id",name varchar(255) not null default "" comment "姓名",age int not null default 0 comment "年龄",primary key (id)
);
拓展
关于mysql中常见的数据库表字段数据类型
整数类型
整数类型的内容如下表
数据类型 | 描述 |
---|---|
tinyint | 1字节,取值范围: -128~127 |
smallint | 2字节,取值范围:-32768~32767 |
mediumint | 3字节,取值范围:-8388608~8388607 |
int | 4字节,取值范围:-2147483648~2147483647 |
bigint | 8字节,取值范围:-9223372036854775808~9223372036854775807 |
浮点数类型
浮点数类型的内容如下表
数据类型 | 描述 |
---|---|
float(m,d) | 单精度浮点数,占用4个字节,m为总个数,d为小数位 |
double(m,d) | 双精度浮点数,占用8个字节,比FLOAT有更高的精度和更大的表示范围 |
decimal(m,d) | 精确数值类型,用于存储精确的雄安舒。可以指定精度和小数位数 |
字符串类型
字符串类型的内容如下表
数据类型 | 描述 |
---|---|
char | 固定长度的字符串,长度在创建时指定,不足指定长度时会用空格填充 |
varchar | 可变长度的字符串,长度在创建时指定,存储时只占用实际字符串长度的空间 |
text | 用于存储较长的文本数据,有TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT等不同的长度限制 |
日期时间类型
日期时间类型的内容如下表
数据类型 | 描述 |
---|---|
date | 用于存储日期,格式为YYYY-MM-DD |
time | 用于存储时间,格式为HH:MM:SS |
datetime | 用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS |
timestamp | 用于存储日期和时间,范围比DATETIME小,从1970-01-01 00:00:01到2038-01-19 03:14:07,并且在插入或更新记录时,TIMESTAMP列会自动更新为当前时间 |
二进制类型
二进制类型的内容如下表
数据类型 | 描述 |
---|---|
binary | 固定长度的二进制数据,类似于CHAR |
varbinary(M) | 可变长度的二进制数据,类似于VARCHAR |
blob | 用于存储大量的二进制数据,有TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB等不同的长度限制 |
2.3 查询数据表(show)
展示当前数据库的所有表(使用use 数据库名语句来确认展示指定数据库中的表)
语法
show tables;
示例
如展示test01数据库下的所有表
use test01;
show tables;
2.4 查看表结构(describe)
查看数据表结构
语法
describe 表名;
示例
如查看users表的表结构
describe users;
2.5 删除表(drop)
删除数据表
语法
drop table 表名;
示例
如删除users表
drop table users;
2.6 修改数据表名(alter)
修改数据表的名称
语法
alter table 旧数据表名 rename 新数据表名;
示例
如修改users表的表名,修改为users_info
alter table users rename users_info;
3. 数据记录(insert、select、delete、update)
3.1 添加数据(insert)
添加数据,即添加表字段对应的值
添加一条数据
语法
insert into 表名 (字段1,字段2,字段3,字段4...) values (值1,值2,值3,值4...);
示例
如在表users中添加name和age字段的数据
insert into users (name, age) value ("libai", 18);
插入多条数据
语法
insert into 表名 (字段1,字段2,字段3,字段4...) values (值11,值12,值13,值14...), (值21,值22,值23,值24...);
示例
如在表users中添加两条数据
insert into users (name, age) values ("格鲁特", 19), ("灭霸", 30);
3.2 查询数据(select)
查询使用select语句
可查询全部数据(*表示查询所有列的数据)
语法
select * from 表名;
示例
如查询users表的所有数据
select * from users;
查询满足条件的指定的字段的数据
语法
select 字段1,字段2,字段3... from 表名 where 条件;
示例
如查询users表中满足age值为18的name和age字段的数据
select name, age from users where age = 18;
3.2.1 去重查询(distinct)
指定字段去重(distinct)
语法
select distinct 字段名 from 数据表名;
示例
如去重查询users表中name字段的数据
select distinct name from users;
3.2.2 模糊查询(like)
like模糊查询(%表示通配符)
语法
select * from 表名 where 字段名 like '匹配内容的前缀%';
示例
如查询表名为users
字段名为name
以李开头的数据
select * from users where name like '李%';
3.2.3 限制查询结果集(limit)
对查询结果限制输出
语法
select * from users limit 需要保留的数据量的值;
示例
如查询users表中的数据,保留前十条展示
select * from users limit 10;
3.2.4 分组查询(group)
根据表中字段A进行查询结果分组
语法
select 字段A from 表名 group by 字段A;
示例
如查询users表中的数据按用户年龄分组
select age from users group by age;
3.2.5 分组统计(count)
根据表字段分组统计满足条件的数据,其中count中的字段名也可以是*表示统计所有字段
语法1
select 字段名,count(字段名或者自定义) from 表名 group by 字段名;
这样写可能不是很明确,可以如下,根据字段名分组,分组的后的数量起个别名进行展示
语法2
select 字段名, count(字段名) as num from 表名 group by 字段名;
其中括号中的字段名可自定义内容,当使用as设置别名时count(*)部分不会展示
语法3
select 字段名, count(*) as num from 表名 group by 字段名;
示例
如将用户表根据性别分组统计
select gender, count(*) as num from users group by gender;
3.2.6 结果集过滤(having)
根据字段名分组并过滤
语法
select 字段名, count(字段名) as result from 表名 group by 字段名 having 条件;
示例
如统计users表中性别为男的数据
select gender,count(*) as 同性别的人数 from users group by gender having gender = "男";
3.2.7 结果集排序(order)
3.2.7.1 单字段排序
根据某个字段升序或者降序排序所查询的数据
排序关键字:
asc
升序排序(默认)
desc
降序排序
语法
select 字段名 from 表名 order by 字段名 排序关键字;
示例
如查询users表所有数据,按照age字段升序排序
select * from users order by age asc;
3.2.7.2 多字段排序
根据多个字段升序或者降序排序所查询的数据
语法
select 字段名 from 表名 order by 字段名1 排序关键字, 字段名2 排序关键字;
示例
如查询users表数据,先按照age字段升序排序,(如果有age相同的数据)再按name字段降序排序
select * from users order by age asc, name desc;
3.2.7.3 限制排序
将查询的数据排序后限制数量展示
语法
select 字段名 from 表名 order by 字段名 排序关键字 limit 数量;
示例
如查看users表数据,根据age字段升序排序,输出前两条数据
select * from users order by age asc limit 2;
3.2.7.4 限制排序并选择区间(暂时未测通)
将查询的结果排序后限制数量,并选择区间来展示
语法
select 字段名 from 表名 order by 字段名 排序关键字 limit 偏移量 数量;
示例
如查询users表数据,根据age字段升序排序,从第三条数据后面(不包含第三条数据)取3条数据展示
select * from users order by age asc limit 3 3;
3.2 删除数据(delete)
使用delete删除数据
语法
delete from 表名 where 条件;
示例
如删除users表中name="杜甫"的数据
delete from users where name="杜甫";
3.3 更新数据(update)
使用update更新表数据
语法
update 表名 set 字段名=字段值 where 条件;
可以同时更新多个字段的值
语法2
update 表名 set 字段名1=字段值1, 字段名2=字段值2 where 条件;
示例
如更新users表中name="西施"的数据,将其age值改为16
update users set age=16 where name="西施";
4. 字段或者说表结构(show、select、alter、drop、modify、change)
4.1 显示表中所有字段(列)
使用show columns展示表中的所有字段
语法
show columns from 表名;
示例
如展示users表的所有字段数据
show columns from users;
4.2 显示表中所有数据
在添加、修改或删除字段之前可以先查看表数据
语法
select * from 表名;
4.3 添加字段(列)
通过alter和add添加新的表字段
语法
alter table 表名 add 字段 类型;
示例1
如在users表中添加height身高字段,类型为int
alter table users add height int;
示例2
再如添加addr地址字段,类型为varchar,大小为255
alter table users add addr varchar(255);
示例3
添加字段后该字段的值会变成NULL
如果想使用默认值可以使用default定义默认值
如下
alter table users add addr varchar(255) default "上海";
4.4 删除字段(列)
使用alter和drop删除
语法
alter table 表名 drop column 字段;
示例
如删除users表中height字段
alter table users drop column height;
4.5 修改字段类型
使用modify修改表字段
语法
alter table 表名 modify 字段名 类型;
示例
如修改users表中addr字段类型,由varchar改为text
alter table users modify addr text;
4.6 修改字段名和类型
使用change修改表字段名(这里需要注意,修改字段名时必须带上新字段的数据类型)
语法
alter table 表名 change 原字段名 新字段名 类型;
示例
如修改users表中addr字段,将其改为address,类型修改为varchar(255)
alter table users change addr address varchar(255);
如果想要只改名称,不改数据类型,则需要将原来的数据类型加上即可
5. 统计(sum、count、max、min、avg)
常用统计函数如下
5.1 sum求和
使用sum来获取某个字段统计的总和
语法
select sum(字段名) as 别名 from 表名;
示例
如统计users表中age字段的总和,将统计的总数使用别名allage表示
select sum(age) as allage from users;
5.2 count统计数量
使用count统计某个字段对应的数据条数
语法
select count(字段名或者*) as 别名 from 表名;
示例
如统计表中name的数据数量,别名为nameCount
select count(name) as nameCount from users;
以下name换成*结果相同
select count(*) as nameCount from users;
5.3 max最大值
使用max获取表中字段最大值
语法
select max(字段名) as 别名 from 表名;
示例
如获取users表中age最大的值
select max(age) as ageMax from users;
5.4 min最小值
使用min获取表中字段最小值
语法
select min(字段名) as 别名 from 表名;
示例
如获取users表中age最小的值
select min(age) as ageMin from users;
5.5 avg平均值
使用avg获取表中字段的平均值
语法
select avg(字段名) as 别名 from 表名;
示例
如获取users表中age字段的平均值
select avg(age) as ageAvg from users;
感谢阅读,祝君暴富!
版权声明:
- 作者:寒山李白
- 博客地址:https://hanshan.blog.csdn.net/
- 版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、、修改和创作衍生作品。
版权许可介绍:
本文采用CC BY-NC-SA许可证
此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。
更多信息请访问以下网址查看:
版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans
相关文章:
MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
AIGC视频扩散模型新星:Video 版本的SD模型
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍慕尼黑大学携手 NVIDIA 等共同推出视频生成模型 Video LDMs。NVIDIA 在 AI 领域的卓越成就家喻户晓,而慕尼黑大学同样不容小觑,…...
08-ArcGIS For JavaScript-通过Mesh绘制几何体(Cylinder,Circle,Box,Pyramid)
目录 概述代码实现1、Mesh.createBox2、createPyramid3、Mesh.createSphere4、Mesh.createCylinder 完整代码 概述 对于三维场景而言,二位的点、线、面,三维的圆、立方体、圆柱等都是比较常见的三维对象,在ArcGIS For JavaScript中我们知道点…...
在 Go 语言中如何高效地处理集合
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
Python的进程和线程
ref 讲个故事先 这就像一个舞台(CPU核心), 要供多个剧组演出多个剧目(进程), 剧目中有多个各自独立的角色(线程),有跑龙套的,有主角,第一…...
基于单片机的智能台灯设计
摘要: 方向和亮度,采用的是手动调节。而对于儿童来说,他们通常不知道如何调整以及调整到何种程度。本文设计了一款智能台灯,当有人的 台灯是用于阅读学习而设计使用的灯,一般台灯用的灯泡是白炽灯、节能灯泡以及市面上流行的护眼台灯,可以调节高度、光照的时候,可以根据…...
vue3案例:筛选部门、选择人员案例组件
可以控制可以选多人,或者只能选单人可以做部门筛选再选人,没有部门情景,直接显示全部人员,有输入框可以搜索人员 ✨一、实现功能 需求: 可以灵活控制,多选或者单选人员配合部门进行部门下的人员筛选 详细…...
Spring MVC:综合练习 - 深刻理解前后端交互过程
目录 1. Lombok 1.1 引入 lombok 依赖 1.1.1 通过 Maven 仓库引 lombok 依赖 1.1.2 通过插件引入 lombok 依赖 1.2 Data 1.3 其他注解 2. 接口文档 2.1 接口(api) 2.2 接口文档 3. 综合练习 - 加法计算器 3.1 定义接口文档 3.2 准备工作 - 前端代码 3.3 后端代码 …...
Debian常用命令
以下是完整的 Linux 命令大全,适用于 Debian、Ubuntu 及其衍生系统,涵盖系统管理、文件操作、磁盘管理、用户管理、网络调试、安全、进程管理等多个方面。 目录 基本命令关机与重启文件和目录管理文件搜索挂载文件系统磁盘空间管理用户和群组管理文件和…...
【FFmpeg】FLV 格式分析 ③ ( Tag Body 数据块体结构 - Vedio Data 视频数据 )
文章目录 一、Tag Body 数据块体结构 - Video Data 视频数据1、Vedio Data 视频数据 类型标识2、Vedio Data 视频数据 结构分析3、Composition Time Offset 字段涉及的时间计算4、AVC Packet Type 字段说明① AVC Sequence Header 类型② AVC NALU 类型③ AVC End of Sequence …...
开源鸿蒙开发者社区记录
lava鸿蒙社区可提问 Laval社区 开源鸿蒙项目 OpenHarmony 开源鸿蒙开发者论坛 OpenHarmony 开源鸿蒙开发者论坛...
MinIO的安装与使用
目录 1、安装MinIO 1.1 下载 MinIO 可执行文件 1.2 检查 MinIO 是否安装成功 1.3 设置数据存储目录 1.4 配置环境变量(可选) 1.5 编写启动的脚本 1.6 开放端口 1.7 访问 2、项目实战 2.1 引入依赖 2.2 配置yml文件 2.3 编写Minio配置类 2.4…...
【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...
Spring Boot/MVC
一、Spring Boot的创建 1.Spring Boot简化Spring程序的开发,使用注解和配置的方式开发 springboot内置了tomact服务器 tomact:web服务器,默认端口号8080,所以访问程序使用8080 src/main/java:Java源代码 src/main/resource:静态资源或配置文件,存放前端代码(js,css,html) s…...
uni-app连接EventSource
前言 uniapp默认是不支持event-source,这里是借助renderjs进行SSE连接 正文 引入event-source-polyfill 这里演示的是直接将代码下载到本地进行引入 下载地址 把里面的eventsource.min.js文件放到项目中的static文件夹 项目封装event-source.vue组件 <templ…...
[SCTF2019]babyre
[SCTF2019]babyre 一、查壳 无壳,64位 二、IDA分析 1.没有main,那就shifef12 点击: 再进: 都是花指令,所以要先解决花指令 三、解决花指令,得到完整的 main 往上面翻,注意看爆红的&#x…...
简洁实用的wordpress外贸模板
简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。 简洁实用的wordpress外贸模板 - 简站WordPress主题简洁、实用、大气的wordpress外贸模板,适合跨境电商搭建外贸B2B产品展示型网站。https://www.jianzhanpress.com/?p828…...
每日一题 414. 第三大的数
414. 第三大的数 简单 class Solution { public:int thirdMax(vector<int>& nums) {int n nums.size();long first , second,third;first second third LONG_MIN ;bool find false;for(auto num : nums){if(num > first){ third second;second first…...
TVM框架学习笔记
TVM是陈天齐等人一个开源的深度学习编译器栈,用于优化和部署机器学习模型到各种硬件后端。它支持多种前端框架,如TensorFlow、PyTorch、ONNX等,并且可以在不同的硬件平台上运行,包括CPU、GPU和专用加速器。官方文档: Apache TVM Documentation — tvm 0.20.dev0 documenta…...
Codeforces Round 998 (Div. 3)
文章目录 EF E 原题链接 思路: 题目要求对于 G 中存在路径的两个点,在 F 中也必须存在路径,不是两个点存在直连的边。 两个点存在路径,说明俩个点在同一个连通块。我们用并查集来维护图的连通块。 最终的要求就是把 F 的并查集通…...
Vue.js 渐进式增强:如何逐步为传统项目注入活力
Vue.js 是一个渐进式框架,这意味着你可以将它逐步引入到现有项目中,而无需彻底重构。渐进式增强特别适合那些已经在使用传统服务器渲染框架(如 PHP、Django、Laravel)的项目,为它们增加动态交互功能。本篇教程将介绍如…...
【算法】经典博弈论问题——巴什博弈 python
目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…...
【技术洞察】2024科技绘卷:浪潮、突破、未来
涌动与突破 2024年,科技的浪潮汹涌澎湃,人工智能、量子计算、脑机接口等前沿技术如同璀璨星辰,方便了大家的日常生活,也照亮了人类未来的道路。这一年,科技的突破与创新不断刷新着人们对未来的想象。那么回顾2024年的科…...
【0x06】HCI_Authentication_Complete事件详解
目录 一、事件概述 二、事件格式及参数 2.1. HCI_Authentication_Complete事件格式 2.2. Status 2.3. Connection_Handle 三、事件的生成于处理 3.1. 事件生成 3.2. 认证流程 3.2.1. 发送认证请求 3.2.2. 处理流程 3.2.3. 示例代码 四、应用场景 4.1. 设备配对与连…...
JS-Web API -day03
一、事件流 1.1 事件流与两个阶段说明 事件流 指的是事件完整执行过程中的流动路径 假设页面有个div标签,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段 捕获阶段:Document - Element html - Elementbody - Element div…...
电子应用设计方案103:智能家庭AI浴缸系统设计
智能家庭 AI 浴缸系统设计 一、引言 智能家庭 AI 浴缸系统旨在为用户提供更加舒适、便捷和个性化的沐浴体验,融合了人工智能技术和先进的水疗功能。 二、系统概述 1. 系统目标 - 实现水温、水位和水流的精确控制。 - 提供多种按摩模式和水疗功能。 - 具备智能清洁…...
linux静态库+嵌套makefile
linux静态库嵌套makefile 文章目录 linux静态库嵌套makefile1、概述2、代码结构3、代码1)main.c2)主makefile3)fun.c4)func.h5)静态库makefile 4、运行效果1)在main.c目录下执行make2)到output目…...
AIP-127 HTTP和gRPC转码
编号127原文链接AIP-127: HTTP and gRPC Transcoding状态批准创建日期2019-08-22更新日期2019-08-22 遵守面向资源设计的API使用RPC进行定义,但面向资源设计框架允许这些API表现为整体上符合REST/JSON约定的接口。这一点很重要,可以帮助开发者利用现有知…...
代码随想录算法训练营day32
代码随想录算法训练营 —day32 文章目录 代码随想录算法训练营前言一、动态规划理论基础二、509. 斐波那契数动态规划动态规划优化空间版递归法 三、70. 爬楼梯动态规划动态规划空间优化 746. 使用最小花费爬楼梯动态规划空间优化 总结 前言 今天是算法营的第32天,…...
设计模式的艺术-开闭原则
原则使用频率图(仅供参考) 1.如何理解开闭原则 简单来说,开闭原则指的是 “对扩展开放,对修改关闭”。 当软件系统需要增加新的功能时,应该通过扩展现有代码的方式来实现,而不是去修改已有的代码。 例如我…...
【易康eCognition实验教程】003:点云数据加载浏览与操作详解
文章目录 一、加载并创建点云数据二、三维浏览1. 点云模式2. 点云视图设置 三、使用点云 一、加载并创建点云数据 本实验点云数据位于专栏配套实验数据包中的data003.rar中的terrian.las,解压后进行以下实验操作。 打开ecognition软件,点击【File】→【…...
海外雅思备考经验
1.18号斯图雅思考试 第一次考雅思,第一次在国外考雅思! 最近在德国斯图加特联培,报考了1月18号的雅思机考,下面分享一些考试经验. ✌️考试地点 EZ Plus WEST Hasenbergstr. 31/1,, in the backyard of Hasenbergstrae 31, Stuttg…...
Oracle之Merge into函数使用
Merge into函数为Oracle 9i添加的语法,用来合并update和insert语句。所以也经常用于update语句的查询优化: 一、语法格式: merge into A using B on (A.a B.a) --注意on后面带括号,且不能更新join的字段 when matched then upd…...
Spring Boot 自定义属性
Spring Boot 自定义属性 在 Spring Boot 应用程序中,application.yml 是一个常用的配置文件格式。它允许我们以层次化的方式组织配置信息,并且比传统的 .properties 文件更加直观。 本文将介绍如何在 Spring Boot 中读取和使用 application.yml 中的配…...
前端面试题-问答篇-5万字!
1. 请描述CSS中的层叠(Cascade)和继承(Inheritance)规则,以及它们在实际开发中的应用。 在CSS中,层叠(Cascade)和继承(Inheritance)是两个关键的规则&#x…...
2025年1月21日(树莓派点亮呼吸灯第一次修改)
系统信息: Raspberry Pi Zero 2W 系统版本: 2024-10-22-raspios-bullseye-armhf Python 版本:Python 3.9.2 已安装 pip3 支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480) 已安装 vim 已安装 git 学习目标:…...
【Linux网络编程】传输层协议
目录 一,传输层的介绍 二,UDP协议 2-1,UDP的特点 2-2,UDP协议端格式 三,TCP协议 3-1,TCP报文格式 3-2,TCP三次握手 3-3,TCP四次挥手 3-4,滑动窗口 3-5…...
JavaScript系列(41)--状态管理实现详解
JavaScript状态管理实现详解 🔄 今天,让我们深入探讨JavaScript的状态管理实现。状态管理是现代前端应用中的核心概念,它帮助我们有效地管理和同步应用数据。 状态管理基础概念 🌟 💡 小知识:状态管理是一…...
flume和kafka整合 flume和kafka为什么一起用?
Flume和Kafka一起使用的主要原因是为了实现高效、可靠的数据采集和实时处理。12 实时流式日志处理的需求 Flume和Kafka结合使用的主要目的是为了完成实时流式的日志处理。Flume负责数据的采集和传输,而Kafka则作为消息缓存队列,能够有效地缓冲数据,防止数据堆积或丢…...
【深度学习】 自动微分
自动微分 正如上节所说,求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单,只需要一些基本的微积分。 但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错)。 深度学习框架通过自动…...
什么是三高架构?
大家好,我是锋哥。今天分享关于【什么是三高架构?】面试题。希望对大家有帮助; 什么是三高架构? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 “三高架构”通常是指高可用性(High Availability)、高性能ÿ…...
IOS 自定义代理协议Delegate
QuestionViewCell.h文件代码,定义代理协议 protocol QuestionViewCellDelegate <NSObject>- (void)cellIsOpenDidChangeAtIndexPath:(NSIndexPath *)indexPath;endinterface QuestionViewCell : UITableViewCellproperty (nonatomic, weak) id<QuestionVi…...
【flutter版本升级】【Nativeshell适配】nativeshell需要做哪些更改
flutter 从3.13.9 升级:3.27.2 nativeshell组合库中的 1、nativeshell_build库替换为github上的最新代码 可以解决两个问题: 一个是arg("--ExtraFrontEndOptions--no-sound-null-safety") 在新版flutter中这个构建参数不支持了导致的build错误…...
C#编程:List.ForEach与foreach循环的深度对比
在C#中,List<T>.ForEach 方法和传统的 foreach 循环都用于遍历列表中的元素并对每个元素执行操作,但它们之间有一些关键的区别。 List<T>.ForEach 方法 方法签名:public void ForEach(Action<T> action)类型:…...
leetcode_2762. 不间断子数组
2762. 不间断子数组 - 力扣(LeetCode) 运用滑动窗口和multise(平衡二叉树实现) 符合条件 右窗口向右扩展 不符合条件 左窗口向左扩展 class Solution { public:long long continuousSubarrays(vector<int>& nums) {int max, min; //表示窗…...
Java学习教程,从入门到精通,JDBC创建数据库语法知识点及案例代码(99)
JDBC创建数据库语法知识点及案例代码 一、JDBC创建数据库语法 在JDBC中,创建数据库主要通过执行SQL语句来实现。其基本语法如下: CREATE DATABASE database_name;CREATE DATABASE 是固定的SQL语句关键字,用于指定创建数据库的操作。databa…...
进阶——第十六届蓝桥杯(sscanf的运用)
声明变量 char tx_buf[30];char rx_buf[30];char car_type[5];char car_num[5];char car_time[15]; int sscanf(const char *str, const char *format,...); sscanf函数功能 sscanf 函数从字符串 str 中读取数据,根据 format 所指定的格式将数据存储到后续的变量中…...
嵌入式硬件篇---ADC模拟-数字转换
文章目录 前言第一部分:STM32 ADC的主要特点1.分辨率2.多通道3.转换模式4.转换速度5.触发源6.数据对齐7.温度传感器和Vrefint通道 第二部分:STM32 ADC的工作流程:1.配置ADC2.启动ADC转换 第三部分:ADC转化1.抽样2.量化3.编码 第四…...
Spark Streaming编程基础
文章目录 1. 流式词频统计1.1 Spark Streaming编程步骤1.2 流式词频统计项目1.2.1 创建项目1.2.2 添加项目依赖1.2.3 修改源目录1.2.4 添加scala-sdk库1.2.5 创建日志属性文件 1.3 创建词频统计对象1.4 利用nc发送数据1.5 启动应用,查看结果 2. 编程模型的基本概念3…...
android wifi AsyncChannel(WifiManager和WifiP2pManager)
AynscChannel的讲解 [Android]AsyncChannel介绍-CSDN博客 WifiP2pManager里的channel的使用理解 WifiP2pManager.java public void createGroup(Channel c, ActionListener listener) {checkChannel(c);c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.NETWORK_ID_PE…...