MySQL学习教程

news2024/11/25 4:51:16

目录

一、数据库操作

1.查看数据库版本号

2.创建数据库

3.查看指定的数据库

4.查看所有的数据库

5.删除指定的数据库

6.使用指定的数据库

7.数据库存储引擎介绍

二、数据库表说明

1.数据库表常见的列类型

2.数据库表的字段属性

三、数据库表操作

1.创建数据库表

2.查看表的定义

3.查看创建表的语句

4.修改表名

5.修改表字段名称

6.修改表字段数据类型

7.增加表字段

8.删除表字段

9.删除表 

四、数据库表的约束

1.唯一约束

2.非空约束

3.主键约束

4.外键约束

5.默认值约束

6.自增约束

五、数据表数据操作

1.插入数据

2.更新数据

3.删除操作

六、数据表数据查询

1.基本语法

2.数据准备

3.基本查询

4.按字段查询

5.字段别名操作

6.数据去重

7.聚合统计

8.条件查询

9.分组查询

10.排序查询

11.限制查询

12.关联查询

七、数据库的事务

1.事务的四大特性

2.事务并发的问题

3.事务隔离级别

八、数据库的索引

1.索引的分类

2.索引的删除

3.索引分析 

九、数据库的权限管理

1.查看用户

 2.创建用户

 3.赋予权限

 4.更改密码

 5.删除用户


一、数据库操作

1.查看数据库版本号

select version();

2.创建数据库

create database 数据库名称

3.查看指定的数据库

show create database 数据库名称

4.查看所有的数据库

show databases

5.删除指定的数据库

drop database 数据库名称  

6.使用指定的数据库

use 数据库名称 

7.数据库存储引擎介绍

数据库存储引擎指的是具有存储、处理和保护数据的核心服务

①. 显示支持的引擎

show engines;

②. 常用的InnoDB和MyISAM区别(下面关于表操作都是基于InnoDB实现)

InnoDB支持事务、数据行的锁定、外键约束

MyISAM的表空间小、速度较快、支持全文索引

二、数据库表说明

1.数据库表常见的列类型

数据类型描述
数值类型int整数
mediumint中等的整数
smallint小的整数
tinyint非常小的整数
bigint大的整数
float浮点数
double双精度浮点数
decimal精确的数值
字符串类型char固定大小的字符串
varchar可变的字符串
tinytext非常小的文本
text文本
longtext大的文本
二进制类型blob二进制数据
mediumblob中等的二进制数据
tinyblob非常小的二进制数据
longblob大的二进制数据
时间类型date日期格式(YYYY-MM-DD)
time时间格式(HH:mm:ss)
datetime时间(YYYY-MM-DD HH:mm:ss)
timestamp时间戳
year年份

2.数据库表的字段属性

字段属性描述
AUTO_INCREMENT自动增长,默认在上一条记录的数值上加1
zerofill不足位数,自动填充0
unsigned无符号
NOT NULL限制字段的内容不能为空
DEFAULT设置默认值.若插入数据为空,则按默认值填充

三、数据库表操作

1.创建数据库表

CREATE TABLE `student` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) DEFAULT '1' COMMENT '性别(1是男 0是女 )',
  `seat` int(3) unsigned zerofill NOT NULL COMMENT '座位',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

2.查看表的定义

desc 表名称;

3.查看创建表的语句

show create table 表名称;

4.修改表名

alter table 旧表名称 rename to 新表名称;

 

5.修改表字段名称

alter table 表名 change 旧字段 新字段 列属性[属性];

6.修改表字段数据类型

alter table 表名称 modify 字段名 列属性[属性];

7.增加表字段

alter table 表名称 add 字段名 列属性[属性];

8.删除表字段

alter table 表名称 drop 字段名;

9.删除表 

drop table 表名;

 

四、数据库表的约束

1.唯一约束

语法:字段名 数据类型 unique

描述:表的列或列组合不能重复,保证数据的唯一性

        唯一约束不允许出现重复的值,但是可以为多个空值

        在一个表内可以有多个唯一约束,多个列组合的约束

2.非空约束

语法:字段名 数据类型 NOT NULL

描述:限制字段的值不能为空

3.主键约束

语法:字段名 数据类型 primary key

描述:每个表最多只允许一个主键

        表的列不允许重复,也不允许出现空值

4.外键约束

语法:alter table 从表表名 add constraint 外键名称 foreign key(从表外键字段) references 主表表名(主键字段)

描述:用于多张表之间的约束

5.默认值约束

语法:字段名 数据类型 DEFAULT 默认值

描述:表中定义了默认值约束,若插入数据为空,则按默认值填充

6.自增约束

语法:字段名 数据类型 AUTO_INCREMENT

描述:自增约束,默认在上一条记录的数值上加1

五、数据表数据操作

1.插入数据

INSERT INTO 表名称(字段名1,字段名2,...) VALUES (值 1,值 2,...);

2.更新数据

UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];

WHERE条件语句

操作符含义
=等于
<>或!=不等于
>大于
<小于
<=小于等于
>=大于等于
AND
OR
BETWEEN…AND…指定范围内
IN指定集合内
NOT IN不在集合内
IS NULL为空
IS NOT NULL不为空
LIKE模糊匹配

3.删除操作

DELETE FROM 表名 [WHERE 条件表达式];

六、数据表数据查询

1.基本语法

 SELECT selection_list      //字段
  FROM table_list         //表名称
  WHERE condition        //条件搜索
  GROUP BY grouping_columns  //对结果的分组
  HAVING condition      //分组后的行条件
  ORDER BY sorting_columns //对结果的排序
  LIMIT offset_start, row_count  //结果条数限制

2.数据准备

INSERT INTO student (id, name, age, sex, seat, birthday) VALUES (1, '小明', 20, 1, 001, '2003-06-20');
INSERT INTO student (id, name, age, sex, seat, birthday) VALUES (2, '小红', 19, 0, 002, '2004-02-20');
INSERT INTO student (id, name, age, sex, seat, birthday) VALUES (3, '小蓝', 20, 1, 003, '2003-08-12');

3.基本查询

SELECT * FROM student;

4.按字段查询

SELECT name,age,sex,seat,birthday FROM student;

5.字段别名操作

当表名称或者字段名称太长,可以给一个简短的名称代替就叫别名.使用到了as关键字,可以省略不写

①.字段别名

SELECT name,age,sex,seat,birthday as birth FROM student;

 

②.表别名

select a.name,a.age,a.sex,seat,a.birthday from student as a

6.数据去重

SELECT  DISTINCT age FROM student;

7.聚合统计

①.统计条数

SELECT count(*) FROM student;

 ②.平均

SELECT avg(age) from student

 ③.求和

SELECT sum(age) from student

④.最大值

SELECT max(age) from student

⑤.最小值 

SELECT min(age) from student

8.条件查询

①.等于

SELECT name,age,sex,seat,birthday as birth FROM student where name = '小明';

 ②.不等于

SELECT name,age,sex,seat,birthday as birth FROM student where name != '小明';

③.大于

SELECT name,age,sex,seat,birthday as birth FROM student where age >19;

 ④.和

SELECT name,age,sex,seat,birthday as birth FROM student where age >=19 and sex=0;

 ⑤.或

SELECT name,age,sex,seat,birthday as birth FROM student where age >19 or sex=0;

 ⑥.在范围内

SELECT name,age,sex,seat,birthday as birth FROM student where birthday between '2003-06-20' and '2003-07-20';

 ⑦.在集合内

SELECT name,age,sex,seat,birthday as birth FROM student where seat in (001,002)

 ⑧.不为空

SELECT name,age,sex,seat,birthday as birth FROM student where sex is not null

 ⑨.模糊匹配

SELECT name,age,sex,seat,birthday as birth FROM student where name like '%明%'

9.分组查询

①.分组

SELECT sex,count(*) FROM student group by sex

 ②.分组过滤

SELECT sex,count(*) FROM student GROUP BY sex having count(*)>1

10.排序查询

①.从小到大(order by 字段 asc)

SELECT name,age,sex,seat,birthday as birth FROM student order by age asc

SELECT name,age,sex,seat,birthday as birth FROM student order by birthday asc

②.从大到小(order by 字段 desc)

SELECT name,age,sex,seat,birthday as birth FROM student order by age desc

SELECT name,age,sex,seat,birthday as birth FROM student order by birthday desc

11.限制查询

①.直接限制(limit 条数)

SELECT name,age,sex,seat,birthday as birth FROM student limit 2

 ②.跳步限制(limit 开始索引,条数)

SELECT name,age,sex,seat,birthday as birth FROM student limit 0,2

12.关联查询

①.表与表之间关系说明

表与表之间一般存在三种关系,即一对一,一对多,多对多关系

一对一:多用于表的拆分,将一些经常使用的字段放在同一张表中,不经常使用的字段放在另一张表中,有利于提升查询性能。比如学生表和毕业证书档案表的关系,在任意一边加入外键,关联另外一方的主键,并且设置外键为唯一

CREATE TABLE `student` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) DEFAULT '1' COMMENT '性别(1是男 0是女 )',
  `seat` int(3) unsigned zerofill NOT NULL COMMENT '座位',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`id`),
  UNIQUE KEY `seat` (`seat`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

CREATE TABLE `diploma` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `diploma_img` varchar(200) NOT NULL COMMENT '毕业证书图片地址',
  `student_id` int(11) unsigned NOT NULL COMMENT '学生id' unique,
  PRIMARY KEY (`id`,`student_id`) USING BTREE,
  KEY `fk_studentid` (`student_id`),
  CONSTRAINT `fk_studentid` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='毕业证书表';

一对多:一个学生对应一个班级,一个班级对应多个学生,在多的一方建立外键,指向另外一方的主键

CREATE TABLE `student` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) DEFAULT '1' COMMENT '性别(1是男 0是女 )',
  `seat` int(3) unsigned zerofill NOT NULL COMMENT '座位',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `class_id` int(11) unsigned NOT NULL COMMENT '所属班级id',
  PRIMARY KEY (`id`),
  UNIQUE KEY `seat` (`seat`),
  KEY `fk_classid` (`class_id`),
  CONSTRAINT `fk_classid` FOREIGN KEY (`class_id`) REFERENCES `class` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

CREATE TABLE `class` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `class_name` varchar(60) NOT NULL COMMENT '班级名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='班级表';

多对多:一个学生可以有多个老师,一个老师对应多个学生,建立第三张表作为中间表,中间表至少包括两个外键,分别关联两张主表的主键

CREATE TABLE `student` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) DEFAULT '1' COMMENT '性别(1是男 0是女 )',
  `seat` int(3) unsigned zerofill NOT NULL COMMENT '座位',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`id`),
  UNIQUE KEY `seat` (`seat`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

CREATE TABLE `teacher` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(60) CHARACTER SET utf8mb4 NOT NULL COMMENT '姓名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` int(1) DEFAULT '1' COMMENT '性别(1是男 0是女 )',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='老师表';

CREATE TABLE `student_teacher_relation` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `teacher_id` int(11) unsigned NOT NULL COMMENT '老师id',
  `student_id` int(11) unsigned NOT NULL COMMENT '学生id',
  PRIMARY KEY (`id`),
	UNIQUE KEY `teacher_student_id` (`teacher_id`,`student_id`),
  KEY `fk_relation_teacherid` (`teacher_id`),
  KEY `fk_relation_studentid` (`student_id`),
  CONSTRAINT `fk_relation_studentid` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`),
  CONSTRAINT `fk_relation_teacherid` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生和老师关系中间表';

②.准备数据

#插入学生数据
INSERT INTO student (id, name, age, sex, seat, birthday, class_id) VALUES (1, '小明', 20, 1, 001, '2003-06-20', 1);
INSERT INTO student (id, name, age, sex, seat, birthday, class_id) VALUES (2, '小红', 19, 0, 002, '2004-02-20', 1);
INSERT INTO student (id, name, age, sex, seat, birthday, class_id) VALUES (3, '小蓝', 20, 1, 003, '2003-08-12', 2);
#插入毕业证书数据
INSERT INTO diploma (id, diploma_img, student_id) VALUES (1, 'aaa', 1);
INSERT INTO diploma (id, diploma_img, student_id) VALUES (2, 'bbb', 2);
INSERT INTO diploma (id, diploma_img, student_id) VALUES (3, 'ccc', 3);
#插入班级数据
INSERT INTO class (id, class_name) VALUES (1, '七年级');
INSERT INTO class (id, class_name) VALUES (2, '八年级');
INSERT INTO class (id, class_name) VALUES (3, '九年级');
#插入老师数据
INSERT INTO teacher (id, name, age, sex) VALUES (1, '黄老师', 28, 0);
INSERT INTO teacher (id, name, age, sex) VALUES (2, '张老师', 30, 1);
#插入老师和学生关系数据
INSERT INTO student_teacher_relation (id, teacher_id, student_id) VALUES (1, 1, 1);
INSERT INTO student_teacher_relation (id, teacher_id, student_id) VALUES (2, 1, 2);
INSERT INTO student_teacher_relation (id, teacher_id, student_id) VALUES (3, 2, 1);
INSERT INTO student_teacher_relation (id, teacher_id, student_id) VALUES (4, 2, 2);
INSERT INTO student_teacher_relation (id, teacher_id, student_id) VALUES (5, 2, 3);

③.内连接(查找两张表共有的数据)

select a.name,a.age,a.sex,seat,a.birthday,b.class_name from student a inner join class b on a.class_id = b.id

 ④.左外连接(左边的表无论是否能够匹配都要完整显示,右边的仅展示匹配上的数据)

SELECT a.class_name,b.name FROM class a  left join student b on a.id = b.class_id

 ⑤.右外连接查询(右边的表无论是否能够匹配都要完整显示,左边的仅展示匹配上的数据)

SELECT a.name,b.class_name FROM student a  right join class b on a.class_id = b.id

⑥.联合查询union(有多个联合查询结果,结果是去重的)

select name from student where id in (1,2) union select name from student where age >19

⑦.联合查询union all(有多个联合查询结果,结果是不去重的)

select name from student where id in (1,2) union all select name from student where age >19

⑧. 子查询(一种嵌套查询)

SELECT NAME from student where class_id  in (select id from class where class_name='七年级')

七、数据库的事务

事务要保证一组数据库的操作,要么全部成功,要么全部失败

1.事务的四大特性

原子性: 事务是一个整体,要么全部完成,或者全部不完成,不会有中间状态。事务在执行过程中发生错误,会被回滚到事务开始前的状态
一致性:事务前后数据的完整性必须保持一致。
隔离性: 事务之间应该是隔离的,并发执行的各个事务之间不能互相干扰
持久性:事务一旦被提交则不可逆,被持久化到数据库中,接下来即使数据库发生故障也不应该对其有任何的影响

2.事务并发的问题

脏读: 一个事务读取了另外一个事务未提交的数据

不可重复读:在一个事务内读取表中的某一行数据,多次读取的结果不同

幻读:在一个事务内读取到了别的事务插入的数据,导致前后读取的结果不一致

3.事务隔离级别

①.查看当前隔离级别

select @@tx_isolation

②.隔离级别说明

读未提交(read-uncommitted):一个事务读取到其他事务未提交的数据

读已提交(read-committed):一个事务只能读取到其他事务已经提交的数据

可重复读(repeatable-read):事务在执行过程中可以读取到其他事务已提交的新插入的数据,但是不能读取其他事务对数据的修改,也就是说多次读取同一记录的结果相同

串行化(serializable):强制每个事务排序执行,使之不可能相互冲突,性能差

③.隔离级别会产生的问题

隔离级别脏读不可重复读幻读
读未提交
读已提交
可重复读
串行化

八、数据库的索引

建立有效的索引可以提高查询效率,同时可以限制数据的唯一性

1.索引的分类

①.普通索引(在任何一列上都能进行创建,没有什么特殊性)

 create index name_index on student(name);

②.唯一索引(字段列必须唯一,允许空值)

 create unique index name_unique_index on student(name);

③.主键索引(唯一索引中的一种,字段列必须唯一,不允许空值)

alter table student add primary key(id);

④.复合索引(建立索引的时候一起使用多个字段)

create index name_age_index ON student(name,age);

⑤.全文索引

⑥.空间索引

2.索引的删除

①.普通删除

DROP INDEX name_age_index  ON student;

 ②.删除主键索引

ALTER TABLE student DROP PRIMARY KEY

③.查询表索引

show index from student;

3.索引分析 

不是建立索引就可以提高查询效率,由于一些不按照查询规则,导致索引失效,所以需要分析索引使用情况

explain select name,age from student where name = '小明'

①.id列值越大优先级越高,id相同则是按照执行计划列从上往下执行,id为空则是最后执行

②.select_type列显示了对应行是简单还是复杂select

③.table列表示用到的表

④.partitions列指的是查询将匹配记录的分区

⑤.type列表示关联类型或访问类型,从优到差:system > const > eq_ref > ref > range > index > all

⑥.possible_keys列显示在查询中可能用到的索引

⑦.key列显示MySQL在查询时实际用到的索引

⑧.key_len列显示MySQL在索引里使用的字节数

⑨.ref列显示key列记录的索引中,表查找值时使用到的列或常量

⑩.rows列是MySQL在查询中估计要读取的行数

⑪.filtered列是存储引擎返回的数据在经过过滤后,剩下满足条件的记录数量的比例

⑫.Extra列是一些额外信息

九、数据库的权限管理

数据库的权限管理包括了数据库、表、字段、用户的访问权限和安全级别的设置,信息主要存在mysql数据库中

1.查看用户

select * from user;

 2.创建用户

create user yy identified by '123456'

 3.赋予权限

grant all privileges on *.* to yy

 4.更改密码

set password for yy = password("654321")

 5.删除用户

drop user yy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/559731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APlayer MetingJS 音乐播放器使用指南

文章目录 1.引用2.安装3.APlayer 原生用法4.MetingJS 的用法 1.引用 APlayer 是一个简洁漂亮、功能强大的 Html5 音乐播放器&#xff0c;GitHub地址&#xff1a;https://github.com/DIYgod/APlayer MetingJS 是为 APlayer 添加网易云、QQ音乐等支持的插件&#xff0c;GitHub地…

Servlet的使用与部署

目录 Servlet概念 创建一个Servlet程序 1、创建项目 2、导入依赖 3、创建目录 4、编写代码 5、打包程序 6、部署程序 7、验证程序 Servlet概念 Servlet 是一种实现动态页面的技术 . 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app. S…

喜讯!热烈祝贺安科瑞DJSF1352-RN/D直流电能表取得UL证书

安科瑞虞佳豪 UL认证是由美国安全实验室&#xff08;Underwriters Laboratories&#xff09;提供的安全性认证服务。UL认证虽然不是强制的&#xff0c;但它是北美市场的保证&#xff0c;有UL标志的产品具有很高的市场认可度。 2安科瑞导轨式直流电能表 安科瑞导轨式直流电能…

visualgo学习与使用

前言&#xff1a;在反反复复学习数据结构和算法的过程中“邂逅”了visualgo----这款超级棒的学习网站。喜悦之情不亚于我以前玩前端时发现codepen时的快乐。 地址&#xff1a;https://visualgo.net/en visualgo是新加坡国立大学计算机学院一位很棒的博士老师Dr. Steven Halim …

基于M1芯片的Mac的k8s搭建

基础环境 centos8 macbook pro M1 vm vm安装centos8参考:MacBook M1芯片 安装Centos8 教程&#xff08;无界面安装&#xff09;_m1安装centos 8.4_Mr_温少的博客-CSDN博客 步骤 参考: MacOS M1芯片CentOS8部署搭建k8s集群_Liu_Shihao的博客-CSDN博客 所有机器前置配置 …

SSH登录和SSH免密登录

在了解ssh的时候产生了概念混淆&#xff0c;发现ssh登录和ssh免密登录是两码事。 可以从目的和过程对比这两个概念&#xff1a; 1.目的 1.1 SSH登录 简单来说就是&#xff1a;建立客户端和服务器之间安全的远程连接&#xff0c;登录远程服务器&#xff0c;以访问文件系统 。…

C语言——经典面试题

哈喽&#xff0c;大家好&#xff0c;今天我们来学习一道面试过程中可能会出现的一道笔试题 有这样一段代码&#xff0c;分析在VS编译器的运行结果 #include<stdio.h> int main() {int i 0;int arr[10] { 1,2,3,4,5,6,7,8,9,10 };for (i 0; i < 12; i){arr[i] 0;pr…

线性回归预测

目录 1、线性回归 2、R-Squared 1、线性回归 在机器学习和统计建模中&#xff0c;这种关系用于预测未来事件的结果 线性回归使用数据点之间的关系在所有数据点之间画一条直线 这条线可以用来预测未来的值 在机器学习中&#xff0c;预测未来非常重要。比如房价、股票等预测 …

Docker核心组件

Docker核心组件 -镜像 Docker Registry 镜像仓库 (Docker Registry) 负责存储、管理和分发镜像&#xff0c;并且提供了登录认证能力&#xff0c;建立了仓库的索引。 镜像仓库管理多个 Repository&#xff0c; Repository 通过命名来区分。每个 Repository 包含一个或多个镜像…

UI自动化测试用例管理平台搭建

用到的工具&#xff1a;python3 django2 mysql RabbitMQ celery selenium python3和selenium这个网上很多教程&#xff0c;我不在这一一说明&#xff1b; 平台功能介绍&#xff1a; 项目管理&#xff1a;用于管理项目。每个项目可以设置多个环境&#xff0c;例如开发环境…

winpcap 发包工具

本工具主要用来进行网络协议的调试&#xff0c;主要方法是&#xff0c;对现场数据抓包&#xff0c;然后将数据包带回交给开发人员&#xff0c;开发人员将该数据包重新发送和处理&#xff0c;模拟现场环境以便于调试和分析。 &#xff08;一&#xff09;使用方法 命令行下输入s…

linux0.12-10-chr_drv

[466页] 第10章 字符设备驱动程序 466–10-1-总体功能 466–10-1-1-终端驱动程序基本原理 467–10-1-2-Linux支持的终端设备类型 468–10-1-3-终端基本数据结构 472–10-1-4-规范模式和非规范模式 473–10-1-5-控制台终端和串行终端设备 476–10-1-6-终端驱动程序接口 476–…

【微信小程序】如何获取用户手机号授权登录

一. 前置条件 目前该接口针对非个人开发者&#xff0c;且完成了认证的小程序开放&#xff08;不包含海外主体&#xff09;&#xff0c;也就是说只针对企业认证小程序开放。若用户举报较多或被发现在不必要场景下使用&#xff0c;微信有权永久回收该小程序的该接口权限。在使用…

到底什么是CIDR(无类域间路由)?做网络的一定得懂这个术语!

CIDR&#xff08;无类域间路由&#xff09;是一种用于对互联网IP地址进行聚合和分配的技术。它通过改变IP地址的分配方式&#xff0c;有效地解决了IPv4地址空间不足的问题。 本文将详细介绍CIDR的原理、使用方法以及它对互联网的影响&#xff0c;还会针对CIDR出三道例题&#x…

使用SolVES 模型与多技术融合快速实现生态系统服务功能社会价值评估

生态系统服务是人类从自然界中获得的直接或间接惠益&#xff0c;可分为供给服务、文化服务、调节服务和支持服务4类&#xff0c;对提升人类福祉具有重大意义&#xff0c;且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目&#xff08;Millennium Ecosystem Asse…

金融学学习笔记第3章

第3章 管理财务健康状况和业绩 一、财务报表的功能 财务报表有三个重要的经济功能: (1)向公司的所有者和债权人提供关于公司目前状况及过去财务表现的信息。 (2)为所有者及债权人设定经营目标,对管理层施加限制提供了便捷的方式。 (3)为财务计划提供了方便的模式。 二、…

【马蹄集】第十二周作业

第十二周作业 目录 MT2056 二阶前缀和MT2057 门票MT2058 最大的平均值MT2068 高数考试MT2069 等差 MT2056 二阶前缀和 难度&#xff1a;黄金    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目描述 在一个直角坐标系上&#xff0c;有 n n n 个坐标上有元素值&…

发表计算机SCI期刊,有哪些建议? - 易智编译EaseEditing

要发SCI论文&#xff0c;首先得写一篇论文&#xff0c;然后再向SCI期刊投稿&#xff1a; 计算机SCI论文是一种重要的学术论文&#xff0c;需要遵循一定的写作规范和要求。以下是一些写作建议&#xff1a; 选择合适的标题和摘要。 标题应该简明扼要&#xff0c;能够准确反映论…

UE Http Server 插件说明

1. Create Http Server 创建Http服务器。 Port : 监听端口&#xff0c;范围 1 - 65535&#xff0c;要保证系统唯一&#xff0c;不然会监听失败。 2. Bind 绑定网页路由回调。 Target &#xff1a;HttpServer 对象 Http Path: 绑定路径&#xff0c;如 ”/index“ Http Verbs…

基于IMX8 实时ethercat的手机机器人方案设计

结构&#xff1a; 1、下述结构为操控手柄&#xff0c;用于采集人手运动信号&#xff0c;传递至上位机&#xff0c;对其他设备进行遥操控 2、手柄内含4个电机旋转副的手柄机械臂&#xff0c;内置16位分辨率旋转编码器记录角位移&#xff1b; 3、上位机连接手柄电机、器械电机…