四、MySQL
MySQL
- MySQL
- 1.初识网站
- 2.安装MySQL
- 2.1 下载(最重要的一点是路径中不能有中文,哪怕是同级目录也不行)
- 2.2安装补丁
- 2.3安装
- 2.4创建配置文件
- 2.5初始化
- 3.启动MySQL
- 4.连接测试
- 4.1 设置密码
- 4.2 查看已有的文件夹(数据库)
- 4.3 退出(关闭连接)
- 4.4 再连接MySQL
- 5.忘记密码
- 小结
- 6.MySQL指令
- 6.1数据库管理文件(文件夹)
- 6.2数据表的管理(文件)
- 6.3 数据行操作
- 1.新增数据
- 2.删除数据
- 3.修改数据
- 4.查询数据
- 小结
- 7.案例:员工管理
- 7.1创建表结构
- 7.2python操作MySQL
- 1.创建数据库
- 2.查询数据
- 3.删除数据
- 4.修改数据
- 8.案例:Flask+MySQL
- 8.1新增用户
- 8.2查询所有用户
MySQL
-
python相关:基础、函数、数据类型、面向、模块。
-
前端开发:HTML、CSS、JavaScript、jQuery。【静态页面】
Java+前端;python+前端;Go+前端 -> 【动态页面】
直观:
- 静态,写死了,页面永远长一个样子。
- 动态页面,页面上的数据可以实时的修改和展示。
1.初识网站
-
默认编写的静态效果
-
动态:需要用到Web框架的功能。

对于目前的我们来看,都什么可以做数据的存储:
-
txt文件
-
excel文件
-
专业的软件:数据库管理系统。
MySQL(*)免费 Oracle/SQLServer/DB2/Access...

今日概要:
- MySQL安装 & 配置
- MySQL的启动和关闭
- 指令(*)
- Python第三方模块,发送指令并获取MySQL返回的结果。
2.安装MySQL
MySQL,本质上就是一个软件。
- 8.x
- 5.x,课堂上5.7.31版本
- windows补丁
- MySQL压缩包
2.1 下载(最重要的一点是路径中不能有中文,哪怕是同级目录也不行)
参考一下博主这个就可以安装好:https://blog.csdn.net/i_for/article/details/131133383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171025622116800185830297%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=171025622116800185830297&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-131133383-null-null.142v99pc_search_result_base2&utm_term=mysql8.0.26%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187
https://downloads.mysql.com/archives/community/

2.2安装补丁
2.3安装
2.4创建配置文件
2.5初始化
3.启动MySQL
启动MySQL一般有两种方式:
-
临时启动(不建议)

-
制作成Windows服务,服务来进行关闭和开启。
-
制作服务
将目录添加到系统环境变量后,之后在cmd后,直接输入mysql -u root -p
-
4.连接测试
4.1 设置密码
set password = password('root123');
4.2 查看已有的文件夹(数据库)
show databases;

4.3 退出(关闭连接)
exit;
4.4 再连接MySQL
汇总命令:
C:\Users\Administrator>mysql -u root -p
mysql> set password = password('root123');
mysql> show databases;
mysql> exit;
C:\Users\Administrator>mysql -u root -p
输入密码
mysql>exit;
5.忘记密码
默认情况下,启动MySQL时,需要用户输入账户名、密码。修改MySQL配置,重新启动MySQL(无账号模式)mysql -u root -p重新设置密码退出再重新修改MySQL配置文件,重新启动MySQL(需要账号的模式)mysql -u root -p新密码
- 停止现在MySQL服务
小结
至此,MySQL的环境搭建相关的事全部搞定了。
- 安装
- 配置
- 启动
- 连接(密码、忘记密码)
以后我们再操作MySQL时:
-
关闭和开启MySQL服务
-
用MySQL自动工具连接MySQL并发送指令
mysql -u root -p
6.MySQL指令
| MySQL | 认知(类似于) |
|---|---|
| 数据库 | 文件夹 |
| 数据表 | 文件(Excel文件) |
6.1数据库管理文件(文件夹)
-
查看已有的数据库(文件夹)
show databases; -
创建数据库(文件夹)
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; -
删除数据库(文件夹)
drop database gx_day14; -
进入数据库(进入文件夹)
use gx_day14; -
查看文件夹下所有的数据表(文件)
show tables; -
mysql清屏命令
system cls;
6.2数据表的管理(文件)
-
进入数据库(进入文件夹)
use 数据库; -
查看当前数据库下所有表(文件)
show tables; -
创建表(文件)
create table 表名称(列名称 类型,列名称 类型,列名称 类型 ) default charset=utf8;
create table tb1(id int,name varchar(16), age int) default charset=utf8;create table tb2(id int,name varchar(16)age int ) default charset=utf8;create table tb2(id int,name varchar(16) not null, -- 不允许为空age int null -- 允许为空(默认) ) default charset=utf8;create table tb1(id int primary key, -- 主键(不允许为空,不允许重复)name varchar(16), age int default 3 -- 插入数据时,age列的值默认3 ) default charset=utf8;主键一般用于表示当前行的数据的编号(类似于人的身份证)。
create table tb1(id int auto_increment primary key, -- 内部维护,自增name varchar(16), age int ) default charset=utf8;一般情况下,我们在创建表时都会这样来写:【标准】
create table tb1(id int not null auto_increment primary key,name varchar(16), age int ) default charset=utf8;描述tb1表
mysql> desc tb1; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | age | int | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) -
删除表
drop table 表名称;
常见数据类型:
-
tinyint
有符号,取值范围:-128~127 (有正有负)【默认】 无符号,取值范围:0~255(只有正)create table tb1(id int not null auto_increment primary key,name varchar(16), age tinyint -- 有符号,取值范围:-128~127 ) default charset=utf8;create table tb1(id int not null auto_increment primary key,name varchar(16), age tinyint unsigned -- 无符号,取值范围:0~255 ) default charset=utf8; -
int
int 表示有符号,取值范围:-2147483648 ~ 2147483647 int unsigned 表示无符号,取值范围:0 ~ 4294967295 -
bigint
有符号,取值范围:-9223372036854775808 ~ 9223372036854775807 无符号,取值范围:0 ~ 18446744073709551615练习题:
# 创建表 create table tb2(id bigint not null auto_increment primary key, salary int,age tinyint ) default charset=utf8;# 插入数据 insert into tb2(salary,age) values(10000,18); insert into tb2(salary,age) values(20000,28); insert into tb2(salary,age) values(30000,38),(40000,48);# 查看表中的数据 select * from tb2;mysql> show tables; +--------------------+ | Tables_in_gx_day14 | +--------------------+ | tb1 | +--------------------+ 1 row in set (0.00 sec)mysql> desc tb1; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | age | int | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)mysql> create table tb2(-> id bigint not null auto_increment primary key,-> salary int,-> age tinyint-> ) default charset=utf8; Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> show tables; +--------------------+ | Tables_in_gx_day14 | +--------------------+ | tb1 | | tb2 | +--------------------+ 2 rows in set (0.00 sec)mysql> insert into tb2(salary,age) values(10000,18); Query OK, 1 row affected (0.01 sec)mysql> insert into tb2(salary,age) values(20000,28); Query OK, 1 row affected (0.00 sec)mysql> insert into tb2(salary,age) values(30000,38),(40000,48); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0mysql> select * from tb2; +----+--------+------+ | id | salary | age | +----+--------+------+ | 1 | 10000 | 18 | | 2 | 20000 | 28 | | 3 | 30000 | 38 | | 4 | 40000 | 48 | +----+--------+------+ 4 rows in set (0.00 sec) -
float
-
double
-
decimal
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。m最大值为65,d最大值为30。例如: create table tb3(id int not null primary key auto_increment, salary decimal(8,2) ) default charset=utf8;insert into tb3(salary) values(1.28); insert into tb3(salary) values(5.289); insert into tb3(salary) values(5.282); insert into tb3(salary) values(122115.11); insert into tb3(salary) values(12211511.11);select * from tb3; -
char(m),速度快
定长字符串,m代表字符串的长度,最多可容纳255个字符。char(11),固定用11个字符串进行存储,哪怕真是没有11个字符,也会按照11存储。create table tb4(id int not null primary key auto_increment, mobile char(11) ) default charset=utf8;insert into tb4(mobile) values("151"); insert into tb4(mobile) values("1513125555"); -
varchar(m),节省空间
变长字符串,m代表字符的长度。 最大65535字节/3 = 最大的mvarchar(11),真实数据有多少长就按照多长存储。create table tb5(id int not null primary key auto_increment, mobile char(11) ) default charset=utf8;insert into tb5(mobile) values("151"); insert into tb5(mobile) values("1513125555"); -
text
text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 - 1)个字符串。一般情况下,长文本会用text类型。例如:文章、新闻等。create table tb6(id int not null primary key auto_increment, title varchar(128),contect text ) default charset=utf8; -
mediumtext
A TEXT column with a maximum length of 16777215(2**24 - 1) characters. -
longtext
A TEXT column with a maximum length of 4294967295 or 4GB (2*32 - 1) -
datetime
YYYY-MM-DD HH:MM:SS (1000-01-01 00:00:00/999-12-31 23:59:59) -
date
YYYY-MM-DD (1000-01-01 00:00:00/999-12-31)
练习题:用户表
create table tb7(id int not null primary key auto_increment, name varchar(64) not null,password char(64) not null,email varchar(64) not null,age tinyint,salary decimal(10,2),ctime datetime
) default charset=utf8;insert into tb7 (name,password,email,age,salary,ctime) values("吴佩琦", "123", "xx@live.com",19,1000.20,"2011-11-11 11:11:10");insert into tb7 (name,password,email,age,salary,ctime) values("张典谟", "123", "xx@live.com",19,1000.20,"2011-11-11 11:11:10");insert into tb7 (name,password,email,age,salary,ctime) values("庞晓青", "123", "xx@live.com",19,1000.20,"2011-11-11 11:11:10");insert into tb7 (name,password,email,age,salary,ctime) values("谢涛", "123", "xx@live.com",19,1000.20,"2011-11-11 11:11:10");insert into tb7 (name,password,email,age,salary,ctime) values("谢鹏", "123", "xx@live.com",19,1000.20,"2011-11-11 11:11:10");select * from tb7;+----+-----------+----------+-------------+------+---------+---------------------+
| id | name | password | email | age | salary | ctime |
+----+-----------+----------+-------------+------+---------+---------------------+
| 1 | 吴佩琦 | 123 | xx@live.com | 19 | 1000.20 | 2011-11-11 11:11:10 |
+----+-----------+----------+-------------+------+---------+---------------------+
1 row in set (0.00 sec)
MySQL还有很多其他的数据类型,例如:set、enum、TinyBlob、Blob、MediumBlob、LongBlob等,详细见官方文档。
我们平时开发系统时,一般情况下:
- 创建数据库
- 创建表结构
都是需要提前通过上述命令创建。
6.3 数据行操作
1.新增数据
insert into 表名(列名,列名) values(值,值);
insert into 表名(列名,列名) values(值,值),(值,值),(值,值),(值,值),(值,值);
2.删除数据
delete from 表名;
delete from 表名 where 条件;
delete from tb7;
delete from tb7 where id = 3;
delete from tb7 where id = 5 and name = "谢涛";
delete from tb7 where id = 5 or name = "谢涛";
delete from tb7 where id > 4;
delete from tb7 where id >= 4;
delete from tb7 where id != 4;
delete from tb7 where id in (1,5);
3.修改数据
update 表名 set 列=值;
update 表名 set 列=值,列=值;
update 表名 set 列=值 where 条件;
update tb7 set password="哈哈哈";
update tb7 set email="哈哈哈" where id > 5;
update tb7 set age=age+10 where id > 5;
4.查询数据
select * from 表名称;
select 列名称,列名称 from 表名称;
select 列名称,列名称 from 表名称 where 条件;
select * from tb7;
select id,name from tb7;
select id,name from tb7 where id > 10;
select id,name from tb7 where name="xx" and password="xx";
小结
我们平时开发系统时,一般情况下:
- 创建数据库
- 创建表结构
都是需要提前通过工具+命令创建。
但是,表中的数据一般情况下都是通过程序来实现增删改查。
7.案例:员工管理
-
使用MySQL内置工具(命令)
-
创建数据库:unicom
-
数据一张表:admin
表名:admin 列:id 整型,自增,主键。username 字符串 不为空password 字符串 不为空mobile 字符串 不为空
-
-
python代码实现:
- 添加用户
- 删除用户
- 查看用户
- 更新用户信息

7.1创建表结构
create database unicom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use unicom;
create table admin(id int not null auto_increment primary key,username varchar(16) not null, password varchar(64) not null,mobile char(11) not null
) default charset=utf8;
7.2python操作MySQL
用python代码连接MySQL并发送指令。
1.创建数据库
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令
cursor.execute("insert into admin(username,password,mobile) values('wupeiqi','qwe123456','151555555')")
conn.commit()# 3.关闭
cursor.close()
conn.close()
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令(千万不要用字符串格式化去做SQL的拼接,安全隐患SQL注入)
# sql = "insert into admin(username,password,mobile) values(%s, %s, %s)"
# cursor.execute(sql, ["汉朝", "qwe123", "19999999"])sql = "insert into admin(username,password,mobile) values(%(n1)s, %(n2)s, %(n3)s)"
cursor.execute(sql, {"n1": "济宁", "n2": "qwe123", "n3": "19999999"})conn.commit()# 3.关闭
cursor.close()
conn.close()
2.查询数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令( **** 千万不要用字符串格式化去做SQL的拼接,安全隐患SQL注入 ***)
cursor.execute("select * from admin where id >%s", [2, ])# 获取符合条件的所有数据, 得到的是 [字典,字典] 空列表
data_list = cursor.fetchall()
for row in data_list:print(row)# 3.关闭
cursor.close()
conn.close()
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令( **** 千万不要用字符串格式化去做SQL的拼接,安全隐患SQL注入 ***)
cursor.execute("select * from admin where id >%s", [2, ])# 获取符合条件的第一条数据,字典 None
data_list = cursor.fetchone()
print(data_list) # {'id': 3, 'username': '济宁', 'password': 'qwe123', 'mobile': '19999999'}# 3.关闭
cursor.close()
conn.close()
3.删除数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xxx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令( **** 千万不要用字符串格式化去做SQL的拼接,安全隐患SQL注入 ***)
cursor.execute("delete from admin where id=%s", [3,])
conn.commit()# 3.关闭
cursor.close()
conn.close()
4.修改数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='xxx', db='unicom', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令( **** 千万不要用字符串格式化去做SQL的拼接,安全隐患SQL注入 ***)
cursor.execute("update admin set mobile=%s where id=%s", ["1888888", 4, ])
conn.commit()# 3.关闭
cursor.close()
conn.close()
强调:
-
在进行新增、删除、修改时,一定要记得commit,不然数据库没有数据。
cursor.execute("..") conn.commit() -
在查询时,不需要commit,执行fetchall/fetchone
cursor.execute("..")# 第一条数据,字典,无数据时是None v1 = cursor.fetchone()# 所有数据,列表套字典,无数据时事空列表 v1 = cursor.fetchall() -
对于SQL语句不要用python的字符串格式化进行拼接(会被SQL注入),一定要用execute+参数
cursor.execute(".%s.....%s", ["xx","xx"])
8.案例:Flask+MySQL
8.1新增用户
补充代码实现


8.2查询所有用户



相关文章:
四、MySQL
MySQL MySQL1.初识网站2.安装MySQL2.1 下载(最重要的一点是路径中不能有中文,哪怕是同级目录也不行)2.2安装补丁2.3安装2.4创建配置文件2.5初始化 3.启动MySQL4.连接测试4.1 设置密码4.2 查看已有的文件夹(数据库)4.3 …...
C#使用泛型自定义的方法设计队列CQueue<T>类
目录 一、涉及到的知识点 1.C#中的队列类 2.自定义队列的方法 (1)先设计一个CList<T>类 (2)再设计CQueue<T>类 二、自定义队列CQueue<T>类的实例 一、涉及到的知识点 1.C#中的队列类 在C#中实现队列类&a…...
IDEA自定义Maven仓库
Maven 是一款广泛应用于 Java 开发的工具,其作用类似于一个全自动的 JAR 包管理器,能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时,开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…...
Codeql复现CVE-2018-11776学习笔记
基本使用 1、首先下载struts2漏洞版本源码: https://codeload.github.com/apache/struts/zip/refs/tags/STRUTS_2_3_20 2、构建codeql数据库(构建失败文末有解决办法): codeql database create ~/CodeQL/databases/struts2-2.3.…...
CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2
漏洞简介 TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。 项目官网…...
ms office学习记录12:Excel学习记录㈥
数据工具 分列的其他运用:身份证号中“出生日期”切片:分列→固定宽度→下一步→切割出三列→下一步→不导入第一列→导入第二列且转换成日期→不导入第三列→完成 删除重复值:定位到要“数据”选项卡→删除重复项→取消全选再勾选要删除的…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的条形码二维码检测系统(深度学习+UI界面+训练数据集+Python代码)
摘要:在物流和制造业中,开发一套高效的条形码与二维码识别系统显得尤为关键。本博文深入探讨了如何利用深度学习技术打造出一套先进的条形码及二维码检测系统,并且提供了一套完整的实施方案。该系统搭载了性能卓越的YOLOv8算法,并…...
npm yarn 一起使用报错
项目记录,具有独特性,仅供参考 项目好好的运行,前一天装个测试工具包, 突然就不行了,卸载重装也不行,所有的项目都安装失败,新起一个项目也不行,有时候某个单独安装一个包可以&…...
基于springboot实现驾校信息管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现驾校信息管理系统演示 摘要 随着人们生活水平的不断提高,出行方式多样化,也以私家车为主,那么既然私家车的需求不断增长,那么基于驾校的考核管理也就不断增强,那么业务系统也就慢慢的随之加大。信息…...
DXP软件界面显示“No Hard Devices”【简单的操作问题】加【软件下载】
目录 一,DXP软件界面显示“No Hard Devices” 二,软件下载的百度网盘资源 一,DXP软件界面显示“No Hard Devices” Protel DXP是2004是澳大利亚Altium公司于2002年推出的一款电子设计自动化软件。它的主要功能包括:原理图编辑、印…...
通过Spring Boot 实现页面配置生成动态接口?
流程介绍 在Spring Boot中实现页面配置生成动态接口通常涉及几个关键步骤: 设计页面配置:首先,你需要设计一个用户界面(UI),允许用户通过此界面来配置接口的各种参数,例如HTTP方法(GET、POST等)、URL路径、请求参数、响应数据格式等。保存配置信息:当用户通过页面配置…...
【数据结构与算法】:插入排序与希尔排序
🔥个人主页: Quitecoder 🔥专栏: 数据结构与算法 欢迎大家来到初阶数据结构的最后一小节:排序 目录 1.排序的基本概念与分类1.1什么是排序的稳定性?1.2内排序与外排序内排序外排序 2.插入排序2.1实现插入排序2.3稳定性…...
前端性能优化——javascript
优化处理: 讲javascript脚本文件放到body标记的后面 减少页面当中所包含的script标记的数量 课堂练习: 脚本优化处理 使用原生JavaScript完成操作过程。 document.querySelector document.querySelectorAll classList以及类的操作API Element.class…...
Docker容器化技术(使用Docker搭建论坛)
第一步:删除容器镜像文件 [rootlocalhost ~]# docker rm -f docker ps -aq b09ee6438986 e0fe8ebf3ba1第二步:使用docker拉取数据库 [rootlocalhost ~]# docker run -d --name db mysql:5.7 02a4e5bfffdc81cb6403985fe4cd6acb0c5fab0b19edf9f5b8274783…...
C# ListView 控件使用
1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…...
【string一些函数用法的补充】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 string类对象的修改操作 我们来看 c_str 返回c格式的字符串的操作: 我们来看 rfind 和 substr 的操作: string类非成员函数 我们来看 r…...
【Go】令牌桶限流算法
1. 限流 限流,顾名思义,限制用户请求流量,避免大规模并发导致系统宕机。 2. 令牌桶算法 令牌管理员以恒定的速率向令牌桶里放置一个令牌。如果桶满,就丢弃令牌。 请求到达时,都要先去令牌桶里取一个令牌,…...
go的slice学习
并发访问slice 线上出现一粒多协程并发append全局slice的情况,导致内存不断翻倍,因此对slice的使用需要重新考虑。 并发读写的情况下, 可以利用锁、channel等避免竞态 问题 func TestDemo32(t *testing.T) {var wg sync.WaitGroupvar n 1…...
软件设计师17--磁盘管理
软件设计师17--磁盘管理 考点1:存储管理 - 磁盘管理调度算法磁盘调度 - FCFS磁盘调度 - SSTF例题: 考点1:存储管理 - 磁盘管理 存取时间寻道时间等待时间,训导时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇…...
学点Java打小工——Day2Day3一点作业
1 猜数字(10次机会) 随机生成[1,1000]的一个数,输入你猜的数程序会给出反馈,直到猜对或次数用尽(10次)。 //猜数字 10次机会Testpublic void guessNumber() {Random random new Random();// [0, 1000) 1// [1, 1000]int num ra…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
