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

SQL自学,mysql从入门到精通 --- 第 5 天,对函数的处理

对函数的处理

新建一个成绩表

root@mysqldb 09:39:  [d1]> create table score (-> name varchar(30),-> chinese int,-> math int,-> music int,-> team int,-> magic int,-> computer int-> );
Query OK, 0 rows affected (0.01 sec)root@mysqldb 09:39:  [d1]> insert into score-> values-> ("1A","90","85","30","92","70","65"),-> ("2B","99","98","90","95","92","89"),-> ("3C","90","70","60","88","89","92"),-> ("4D","89","85","59","78","93","94"),-> ("5E","88","70","66","92","58","76");
Query OK, 5 rows affected (0.06 sec)
Records: 5  Duplicates: 0  Warnings: 0-- 数据如下
root@mysqldb 09:44:  [d1]> select * from score;
+------+---------+------+-------+------+-------+----------+
| name | chinese | math | music | team | magic | computer |
+------+---------+------+-------+------+-------+----------+
| 1A   |      90 |   85 |    30 |   92 |    70 |       65 |
| 2B   |      99 |   98 |    90 |   95 |    92 |       89 |
| 3C   |      90 |   70 |    60 |   88 |    89 |       92 |
| 4D   |      89 |   85 |    59 |   78 |    93 |       94 |
| 5E   |      88 |   70 |    66 |   92 |    58 |       76 |
+------+---------+------+-------+------+-------+----------+
5 rows in set (0.00 sec)

COUNT 统计表中有多少行数据

-- COUNT(*):统计表中的所有行数,包括所有列的数据行
root@mysqldb 09:46:  [d1]> select count(*) from score;
+----------+
| count(*) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)-- COUNT(column_name):统计指定列中非 NULL 值的行数
root@mysqldb 09:47:  [d1]> select count(chinese) from score;
+----------------+
| count(chinese) |
+----------------+
|              5 |
+----------------+
1 row in set (0.00 sec)-- COUNT(DISTINCT column_name):统计指定列中不同值的行数。
root@mysqldb 09:49:  [d1]> select count(distinct chinese) from score;
+-------------------------+
| count(distinct chinese) |
+-------------------------+
|                       4 |
+-------------------------+
1 row in set (0.00 sec)-- COUNT(DISTINCT column_name1, column_name2):统计多个列中不同值的组合行数

SUM 返回某一列所有数值的总和

-- 统计math列的总和
root@mysqldb 09:55:  [d1]> SELECT SUM(math) AS total_math FROM score;
+------------+
| total_math |
+------------+
|        408 |
+------------+
1 row in set (0.01 sec)-- 统计多个列数值的总和
root@mysqldb 09:56:  [d1]> SELECT SUM(math) total_math, SUM(team) total_team FROM score;
+------------+------------+
| total_math | total_team |
+------------+------------+
|        408 |        445 |
+------------+------------+
1 row in set (0.00 sec)-- 求数学成绩的平均分
root@mysqldb 09:57:  [d1]> SELECT SUM(MATH)/COUNT(name) FROM score;
+-----------------------+
| SUM(MATH)/COUNT(name) |
+-----------------------+
|               81.6000 |
+-----------------------+
1 row in set (0.00 sec)-- 上面的结果保留两位小数点
root@mysqldb 10:01:  [d1]> SELECT ROUND(SUM(MATH)/COUNT(name),2) FROM score;
+--------------------------------+
| ROUND(SUM(MATH)/COUNT(name),2) |
+--------------------------------+
|                          81.60 |
+--------------------------------+
1 row in set (0.00 sec)

AGV 返回某一列的平均值

root@mysqldb 10:03:  [d1]> SELECT AVG(math) avg_math FROM score;
+----------+
| avg_math |
+----------+
|  81.6000 |
+----------+
1 row in set (0.00 sec)-- 上面的平均数查询结果保留1个小数点
root@mysqldb 10:05:  [d1]> SELECT ROUND(AVG(math),1) avg_math FROM score;
+----------+
| avg_math |
+----------+
|     81.6 |
+----------+
1 row in set (0.00 sec)

MAX 查询某一列中的最大值

-- 查询math的最高分
root@mysqldb 10:06:  [d1]> SELECT MAX(math) FROM score;
+-----------+
| MAX(math) |
+-----------+
|        98 |
+-----------+
1 row in set (0.00 sec)

MIN 查询某一列中的最小值

root@mysqldb 10:08:  [d1]> SELECT MIN(math) FROM score;
+-----------+
| MIN(math) |
+-----------+
|        70 |
+-----------+
1 row in set (0.00 sec)

日期时间函数

DATETIME

-- DATETIME ,时间格式为 "yy-mm-dd HH:MM:SS"root@mysqldb 10:34:  [d1]> CREATE TABLE project (-> task varchar(30),-> StartTime DATETIME,-> endtime DATETIME-> );
Query OK, 0 rows affected (0.10 sec)root@mysqldb 11:06:  [d1]> INSERT INTO project VALUES-> ("AA","2023-07-15 10:00:00","2023-08-01 00:00:00"),-> ("BB","2023-07-20 10:00:00","2023-08-02 10:00:00"),-> ("CC","2023-08-16 00:00:00","2023-08-25 00:00:00"),-> ("DD","2023-09-02","2023-09-06"),-> ("EE","2023-09-01 10:00:00","2023-09-05 00:00:00");
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0-- 省缺的HH:MM:SS 自动填充成00:00:00
root@mysqldb 11:06:  [d1]> SELECT * FROM project;
+------+---------------------+---------------------+
| task | StartTime           | endtime             |
+------+---------------------+---------------------+
| AA   | 2023-07-15 10:00:00 | 2023-08-01 00:00:00 |
| BB   | 2023-07-20 10:00:00 | 2023-08-02 10:00:00 |
| CC   | 2023-08-16 00:00:00 | 2023-08-25 00:00:00 |
| DD   | 2023-09-02 00:00:00 | 2023-09-06 00:00:00 |
| EE   | 2023-09-01 10:00:00 | 2023-09-05 00:00:00 |
+------+---------------------+---------------------+

DATE 时间格式为 “yy-mm-dd”

root@mysqldb 11:06:  [d1]> CREATE TABLE project2 (-> task varchar(30),-> StartTime DATE,-> endtime DATE-> );
Query OK, 0 rows affected (0.01 sec)root@mysqldb 11:12:  [d1]> INSERT INTO project2 VALUES-> ("AA","2023-07-15","2023-08-01"),-> ("BB","2023-07-20 10:00:00","2023-08-02 10:00:00"),-> ("CC","2023-08-16 00:00:00","2023-08-25 00:00:00"),-> ("DD","2023-09-02","2023-09-06"),-> ("EE","2023-09-01 10:00:00","2023-09-05 00:00:00");
Query OK, 5 rows affected, 3 warnings (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 3root@mysqldb 11:12:  [d1]> select * from project2;
+------+------------+------------+
| task | StartTime  | endtime    |
+------+------------+------------+
| AA   | 2023-07-15 | 2023-08-01 |
| BB   | 2023-07-20 | 2023-08-02 |
| CC   | 2023-08-16 | 2023-08-25 |
| DD   | 2023-09-02 | 2023-09-06 |
| EE   | 2023-09-01 | 2023-09-05 |
+------+------------+------------+
5 rows in set (0.00 sec)

DATA_ADD

-- 将结束时间推迟1一个月
root@mysqldb 11:36:  [d1]> SELECT task, DATE_ADD(endtime, INTERVAL 1 MONTH) AS TC_endtime FROM project;
+------+---------------------+
| task | TC_endtime          |
+------+---------------------+
| AA   | 2023-09-01 00:00:00 |
| BB   | 2023-09-02 10:00:00 |
| CC   | 2023-09-25 00:00:00 |
| DD   | 2023-10-06 00:00:00 |
| EE   | 2023-10-05 00:00:00 |
+------+---------------------+
5 rows in set (0.00 sec)root@mysqldb 11:37:  [d1]> SELECT task, DATE_ADD(endtime, INTERVAL 1 MONTH) AS TC_endtime FROM project;
+------+---------------------+
| task | TC_endtime          |
+------+---------------------+
| AA   | 2023-09-01 00:00:00 |
| BB   | 2023-09-02 10:00:00 |
| CC   | 2023-09-25 00:00:00 |
| DD   | 2023-10-06 00:00:00 |
| EE   | 2023-10-05 00:00:00 |
+------+---------------------+
5 rows in set (0.00 sec)

CONCAT

root@mysqldb 16:33:  [d1]> SELECT name, num, CONCAT(name, num) AS new_name FROM cars_price;
+---------+------+-----------+
| name    | num  | new_name  |
+---------+------+-----------+
| changan |   23 | changan23 |
| jili    |   24 | jili24    |
| adi     |   22 | adi22     |
| wlai    |   21 | wlai21    |
| lke     |   20 | lke20     |
| bchi    |   23 | bchi23    |
+---------+------+-----------+
6 rows in set (0.00 sec)

UPPER 将参数所有字母转换成大写

root@mysqldb 16:42:  [d1]> SELECT name,UPPER(name) as new_name FROM cars_price;
+---------+----------+
| name    | new_name |
+---------+----------+
| changan | CHANGAN  |
| jili    | JILI     |
| adi     | ADI      |
| wlai    | WLAI     |
| lke     | LKE      |
| bchi    | BCHI     |
+---------+----------+
6 rows in set (0.00 sec)-- 只将首字符变成大写
root@mysqldb 16:48:  [d1]> SELECT name, CONCAT(-> UPPER(SUBSTRING(name, 1, 1)), -> LOWER(SUBSTRING(name,2))-> ) -> AS newname_column -> FROM cars_price;
+---------+----------------+
| name    | newname_column |
+---------+----------------+
| changan | Changan        |
| jili    | Jili           |
| adi     | Adi            |
| wlai    | Wlai           |
| lke     | Lke            |
| bchi    | Bchi           |
+---------+----------------+
6 rows in set (0.00 sec)-- 将name字段的值全部改成大写
root@mysqldb 17:19:  [d1]> UPDATE cars_price -> SET name = UPPER(name);
Query OK, 6 rows affected (0.00 sec)
Rows matched: 6  Changed: 6  Warnings: 0root@mysqldb 17:20:  [d1]> select * from cars_price;
+---------+------+--------+-------+------+
| name    | num  | colour | price | type |
+---------+------+--------+-------+------+
| CHANGAN |   23 | white  |    15 | zdfs |
| JILI    |   24 | black  |    14 | zdzx |
| ADI     |   22 | red    |    13 | sdfx |
| WLAI    |   21 | green  |    12 | acd  |
| LKE     |   20 | white  |    11 | aa   |
| BCHI    |   23 | white  |    15 | zdfs |
+---------+------+--------+-------+------+
6 rows in set (0.00 sec)

LOWER 将字段的值变成小写

root@mysqldb 17:21:  [d1]> SELECT name,LOWER(name) as new_name FROM cars_price;
+---------+----------+
| name    | new_name |
+---------+----------+
| CHANGAN | changan  |
| JILI    | jili     |
| ADI     | adi      |
| WLAI    | wlai     |
| LKE     | lke      |
| BCHI    | bchi     |
+---------+----------+
6 rows in set (0.00 sec)

LPAD 将字符串扩充到指定的长度,并指定用什么字符填充,LPAD,第一个参数需要处理的字符,第二个参数指定的长度,第三个参数指定填充的字符

root@mysqldb 17:22:  [d1]> SELECT name, LPAD(name,10,"*") FROM cars_price;
+---------+-------------------+
| name    | LPAD(name,10,"*") |
+---------+-------------------+
| CHANGAN | ***CHANGAN        |
| JILI    | ******JILI        |
| ADI     | *******ADI        |
| WLAI    | ******WLAI        |
| LKE     | *******LKE        |
| BCHI    | ******BCHI        |
+---------+-------------------+
6 rows in set (0.00 sec)

RPAD 同 LPAD 用法

root@mysqldb 17:44:  [d1]> SELECT name, RPAD(name,10,"-") FROM cars_price;
+---------+-------------------+
| name    | RPAD(name,10,"-") |
+---------+-------------------+
| CHANGAN | CHANGAN---        |
| JILI    | JILI------        |
| ADI     | ADI-------        |
| WLAI    | WLAI------        |
| LKE     | LKE-------        |
| BCHI    | BCHI------        |
+---------+-------------------+
6 rows in set (0.00 sec)

LTRIM 和 RTRIM

root@mysqldb 17:47:  [d1]> SELECT name,LTRIM(name) FROM cars_price;
+---------+-------------+
| name    | LTRIM(name) |
+---------+-------------+
| CHANGAN | CHANGAN     |
| JILI    | JILI        |
| ADI     | ADI         |
| WLAI    | WLAI        |
| LKE     | LKE         |
| BCHI    | BCHI        |
+---------+-------------+
6 rows in set (0.00 secroot@mysqldb 17:48:  [d1]> SELECT name,LPAD(LTRIM(name),20,"*") FROM cars_price;
+---------+--------------------------+
| name    | LPAD(LTRIM(name),20,"*") |
+---------+--------------------------+
| CHANGAN | *************CHANGAN     |
| JILI    | ****************JILI     |
| ADI     | *****************ADI     |
| WLAI    | ****************WLAI     |
| LKE     | *****************LKE     |
| BCHI    | ****************BCHI     |
+---------+--------------------------+
6 rows in set (0.00 sec)root@mysqldb 17:52:  [d1]>  SELECT name,RPAD(RTRIM(name),20,"*") FROM cars_price;
+---------+--------------------------+
| name    | RPAD(RTRIM(name),20,"*") |
+---------+--------------------------+
| CHANGAN | CHANGAN*************     |
| JILI    | JILI****************     |
| ADI     | ADI*****************     |
| WLAI    | WLAI****************     |
| LKE     | LKE*****************     |
| BCHI    | BCHI****************     |
+---------+--------------------------+
6 rows in set (0.00 sec)

REPLACE 需要三个参数,第一个是要搜索的字符串,第二个是搜索的字符,第三个是替换的字符

root@mysqldb 17:56:  [d1]> SELECT name, REPLACE(name,"I","Z") FROM cars_price;
+---------+-----------------------+
| name    | REPLACE(name,"I","Z") |
+---------+-----------------------+
| CHANGAN | CHANGAN               |
| JILI    | JZLZ                  |
| ADI     | ADZ                   |
| WLAI    | WLAZ                  |
| LKE     | LKE                   |
| BCHI    | BCHZ                  |
+---------+-----------------------+
6 rows in set (0.00 sec)

SUBSTR 允许将目标字符串的一部分输出。需要三个参数,第一个参数为目标字符串,第二个字符串是将要输出的字符串的起点,第三个是要输出的字符串的长度。

root@mysqldb 10:09:  [d1]> SELECT name, SUBSTR(name, 2, 2) as new_name FROM cars_price;
+---------+----------+
| name    | new_name |
+---------+----------+
| CHANGAN | HA       |
| JILI    | IL       |
| ADI     | DI       |
| WLAI    | LA       |
| LKE     | KE       |
| BCHI    | CH       |
+---------+----------+
6 rows in set (0.00 sec)-- 如果第二个参数是负数,将从尾部开始向前定位值负数的绝对值的位置
root@mysqldb 10:12:  [d1]> SELECT name, SUBSTR(name, -3, 2) as new_name FROM cars_price;
+---------+----------+
| name    | new_name |
+---------+----------+
| CHANGAN | GA       |
| JILI    | IL       |
| ADI     | AD       |
| WLAI    | LA       |
| LKE     | LK       |
| BCHI    | CH       |
+---------+----------+
6 rows in set (0.00 sec)root@mysqldb 10:14:  [d1]> SELECT name, CONCAT(-> SUBSTR(name, 1, 2),-> "-",-> SUBSTR(name,3,2)-> )-> AS new_name-> FROM cars_price;
+---------+----------+
| name    | new_name |
+---------+----------+
| CHANGAN | CH-AN    |
| JILI    | JI-LI    |
| ADI     | AD-I     |
| WLAI    | WL-AI    |
| LKE     | LK-E     |
| BCHI    | BC-HI    |
+---------+----------+
6 rows in set (0.00 sec)

INSTR 函数

root@mysqldb 10:31:  [d1]> select name,instr(name,"A") FROM cars_price;
+---------+-----------------+
| name    | instr(name,"A") |
+---------+-----------------+
| CHANGAN |               3 |
| JILI    |               0 |
| ADI     |               1 |
| WLAI    |               3 |
| LKE     |               0 |
| BCHI    |               0 |
+---------+-----------------+
6 rows in set (0.00 sec)

LENGTH 返回字符串的长度

root@mysqldb 10:32:  [d1]> SELECT name, LENGTH(name) FROM cars_price;
+---------+--------------+
| name    | LENGTH(name) |
+---------+--------------+
| CHANGAN |            7 |
| JILI    |            4 |
| ADI     |            3 |
| WLAI    |            4 |
| LKE     |            3 |
| BCHI    |            4 |
+---------+--------------+
6 rows in set (0.00 sec)

相关文章:

SQL自学,mysql从入门到精通 --- 第 5 天,对函数的处理

对函数的处理 新建一个成绩表 rootmysqldb 09:39: [d1]> create table score (-> name varchar(30),-> chinese int,-> math int,-> music int,-> team int,-> magic int,-> computer int-> ); Query OK, 0 rows affected (0.01 sec)rootmysqldb…...

DeepSeek R1 “顿悟时刻”(Aha Moment) 的重现与探索:基于 GRPO 的倒计时游戏训练

本文翻译整合转载于: Deepseek R1 是如何训练的Mini-R1:重现 Deepseek R1 的 “顿悟时刻” RL 教程 Deepseek R1 的发布震惊了整个行业。为什么?DeepSeek-R1 是一个开放模型,在复杂推理任务中可与 OpenAI 的 o1 相媲美&#xff0c…...

【JavaScript爬虫记录】记录一下使用JavaScript爬取m4s流视频过程(内含ffmpeg合并)

前言 前段时间发现了一个很喜欢的视频,可惜网站不让下载,简单看了一下视频是被切片成m4s格式的流文件,初步想法是将所有的流文件下载下来然后使用ffmpeg合并成一个完整的mp4,于是写了一段脚本来实现一下,电脑没有配python环境,所以使用JavaScript实现,合并功能需要安装ffmpeg,…...

【线性代数】1行列式

1. 行列式的概念 行列式的符号表示: 行列式的计算结果:一个数 计算模型1:二阶行列式 二阶行列式: 三阶行列式: n阶行列式: 🍎计算行列式 计算模型2:上三角形行列式 上三角形行列式特征:主对角线下皆为0。 上三角形行列式: 化上三角形通用方法:主对角线下,…...

数据结构(考研)

线性表 顺序表 顺序表的静态分配 //线性表的元素类型为 ElemType//顺序表的静态分配 #define MaxSize10 typedef int ElemType; typedef struct{ElemType data[MaxSize];int length; }SqList;顺序表的动态分配 //顺序表的动态分配 #define InitSize 10 typedef struct{El…...

安装WPS后,导致python调用Excel.Application异常,解决办法

在使用xlwings编辑excel文件时,默认调用的是“Excel.Application”,如果安装过wps,会导致该注册表为WPS,会导致xlwings执行异常 因为安装过WPS,导致与Excel不兼容的问题,想必大家都听说过。有些问题及时删…...

【transformers.Trainer填坑】在自定义compute_metrics时logits和labels数据维度不一致问题

问题描述 我在使用 transformers.Trainer 训练我的模型时,我自定义了 compute_loss 函数和compute_metrics函数,我的模型是一个简单的二分类模型。 在自定义 compute_loss 时这样写的: def compute_loss(self, model, inputs, return_outp…...

Django创建超管用户

在 Django 中创建超级用户(superuser)可以通过命令行工具 createsuperuser 完成。以下是具体步骤: 1. 确保已进行数据库迁移 在创建超级用户前,确保已执行数据库迁移: python manage.py migrate 2. 创建超级用户 …...

vue3实战-----集成sass

vue3实战-----集成sass 1.安装2.使用3.全局样式文件中不能使用变量 1.安装 在使用scss之前需要安装sass和sass-loader两个插件。 2.使用 安装好之后就可以在组件中使用scss了。需要加上lang“scss”。 注意:scss中变量用$,less中变量用。 3.全局样式文件中不能使用变量 …...

二分查找sql时间盲注,布尔盲注

目录 一:基础知识引导 数据库:information_schema里面记录着数据库的所有元信息 二,布尔盲注,时间盲注 (1)布尔盲注案例(以sqli-labs第八关为例): (2&am…...

计算机网络-MPLS转发原理

在上一篇关于 MPLS 基础的文章中,我们了解了 MPLS 的基本概念、术语以及它在网络中的重要性。今天,我们将深入探讨 MPLS 转发的原理与流程,帮助大家更好地理解 MPLS 是如何在实际网络中工作的。 一、MPLS 转发概述 MPLS 转发的本质是将数据…...

【设计模式】【行为型模式】职责链模式(Chain of Responsibility)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…...

【H5自适应】高端科技类pbootcms网站模板 – 三级栏目、下载与招聘功能支持

(H5自适应)高端大气的科技类pbootcms网站模板 带三级栏目、下载和招聘功能 后台地址:您的域名/admin.php 后台账号:admin 后台密码:123456 为了提升系统安全,请将后台文件admin.php的文件名修改一下。修改之后,后台…...

【Java 面试 八股文】框架篇

框架篇 1. Spring框架中的单例bean是线程安全的吗?2. 什么是AOP?3. 你们项目中有没有使用到AOP?4. Spring中的事务是如何实现的?5. Spring中事务失效的场景有哪些?6. Spring的bean的生命周期?7. Spring中的…...

原型模式详解(Java)

原型模式(Prototype Pattern),作为一种极具代表性的创建型设计模式,其核心思想在于通过复制,亦即克隆现有的对象,来达成创建新对象的目的,而非依赖传统的构造函数途径。这一模式巧妙地基于现有对…...

TCP拥塞控制机制

TCP拥塞控制机制是TCP协议中至关重要的一部分,用于防止网络出现拥塞,保证网络的高效、稳定运行 拥塞控制的基本概念 拥塞:在计算机网络中,拥塞是指当网络中存在过多的分组时,网络性能下降的现象,如延迟增…...

自动化UI测试 | 什么是测试驱动开发(TDD)和行为驱动开发(BDD)?有何区别?

TDD(测试驱动开发)和BDD(行为驱动开发)是两种独特的软件开发技术,它们在测试的内容和方式上有所不同。尽管名称相似,但服务于不同的目的。 什么是TDD? TDD代表测试驱动开发。它是一个过程&…...

DeepSeek 助力 Vue 开发:打造丝滑的进度条

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

一场始于 Selector Error 的拯救行动:企查查数据采集故障排查记

时间轴呈现事故进程 17:00:开发人员小李正在尝试利用 Python 爬虫从企查查(https://www.qcc.com)抓取公司工商信息。原本一切正常,但突然发现信息采集失败,程序抛出大量选择器错误。17:15:小李发现&#x…...

微信服务号推送消息

这里如果 没有 就需要点新的功能去申请一下 申请成功之后就可以设置模版消息 推送到用户接受的页面是 需要后端调用接口 传递token 发送给客户...

24电子信息类研究生复试面试问题汇总 电子信息类专业知识问题最全!电子信息复试全流程攻略 电子信息考研复试真题汇总

你是不是在为电子信息考研复试焦虑?害怕被老师问到刁钻问题、担心专业面答不上来?别慌!作为复试面试92分逆袭上岸的学姐,今天手把手教你拆解电子信息类复试通关密码!看完这篇,让你面试现场直接开大&#xf…...

嵌入式EasyRTC实时通话支持海思hi3516cv610,编译器arm-v01c02-linux-musleabi-gcc

EasyRTC已经完美支持海思hi3516cv610,编译器arm-v01c02-linux-musleabi-gcc,总体SDK大小控制在680K以内(预计还能压缩100K上下): EasyRTC在hi3516cv610芯片上能双向通话、发送文字以及二进制指令,总体运行…...

如何搭建Wi-Fi CVE漏洞测试环境:详细步骤与设备配置

引言 随着Wi-Fi技术的普及,Wi-Fi网络成为了现代通信的重要组成部分。然而,Wi-Fi网络的安全性始终是一个备受关注的话题。通过漏洞扫描和安全测试,网络管理员可以及早发现并修复Wi-Fi设备中存在的安全隐患。本篇文章将详细介绍如何搭建Wi-Fi …...

sqlalchemy 使用fetchmany 报错 KeyError 或 AttributeError

问题 我遇到的问题是 AttributeError: Could not locate column in row for column xxxx 解决 首先看你定义的模型类是否缺失了相关的字段 Column XXX not found._clould not locate column in row for column-CSDN博客 其次 rows result.fetchmany(1000) for (row,) i…...

计算机视觉中图像的基础认知

一、图像/视频的基本属性 在计算机视觉中,图像和视频的本质是多维数值矩阵。图像或视频数据的一些基本属性。 宽度(W) 和 高度(H) 定义了图像的像素分辨率,单位通常是像素。例如,一张 1920x10…...

Docker Desktop WebAPI《1》

方法1 》》生成 的文档不要动, 》》执行 Container(Dockerfile) 会生成镜像文件和容器 》》生成的镜像和容器 在 Docker Desktop 中可以查看 用VS 的 Container Dockerfile 调试 但把这个调试工工具 停止,WebAPi就不能访问了 …...

ELK安装部署同步mysql数据

ELK 安装部署指南 ELK 是 Elasticsearch、Logstash 和 Kibana 的简称,用于日志收集、存储、分析和可视化。 1. 安装 Elasticsearch Elasticsearch 是一个分布式搜索和分析引擎。 1.1 下载并安装 访问 Elasticsearch 官网 下载最新版本。 解压并安装: tar…...

《OpenCV》——特征提取与匹配方法

特征提取 特征提取是从原始数据中提取出能够代表数据本质特征和关键信息的过程,在很多领域都有广泛应用。原始数据往往包含大量的冗余信息,特征提取的目的是去除这些冗余,提取出最具代表性、最能区分不同类别或模式的特征,从而降…...

Oracle DBA 诊断及统计工具-2

Oracle 数据表空间和索引表空间的资源分配比例总结 在 Oracle 数据库中,数据表空间和索引表空间并没有固定的资源分配比例,其分配需要综合考虑多种因素,以下是详细分析不同场景下的分配建议以及具体的分配思路。 影响分配比例的因素 数据读…...

如何使用DHTMLX Scheduler的拖放功能,在 JS 日程安排日历中创建一组相同的事件

DHTMLX Scheduler 是一个全面的调度解决方案,涵盖了与规划事件相关的广泛需求。假设您在我们的 Scheduler 文档中找不到任何功能,并且希望在我们的 Scheduler 文档中看到您的项目。在这种情况下,很可能可以使用自定义解决方案来实现此类功能。…...