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

MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)

目录

一、基本介绍

二、SQL通用语法

三、SQL分类(DDL、DML、DQL、DCL)

1.DDL

 1.1数据库操作

1.2表操作

1.2.1表操作-查询创建

1.2.2表操作-数据类型 

1)数值类型

2)字符串类型 

 3)日期时间类型​编辑

 4)表操作-案例

 1.2.3表操作-修改

1.2.4表操作-删除

2.DML 

2.1添加数据

 2.2修改数据

2.3删除数据 

3.DQL

3.1基本语法以及执行顺序

3.2基础查询

3.3 条件查询

1). 语法

2). 条件 常用的比较运算符如下:

3)常用的逻辑运算符如下:

4)案例

3.4聚合函数 

1). 介绍

2). 常见的聚合函数如下

 3). 语法

4)案例

3.5 分组查询

 3.6 排序查询

3.7分页查询

4.DCL

4.1 管理用户

1)基本语法

2)案例

4.2 权限控制

1)常见权限

​编辑 2)基本语法

3)案例


一、基本介绍

SQL: 全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准 。

数据模型如下图:

二、SQL通用语法

1). SQL语句可以单行或多行书写,以分号结尾。

2). SQL语句可以使用空格/缩进来增强语句的可读性。

3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

4). 注释:

                          单行注释:-- 注释内容 或 # 注释内容

                          多行注释:/* 注释内容 */

三、SQL分类(DDL、DML、DQL、DCL)

SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。

1.DDL

Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。

 1.1数据库操作

注意:语句必须以分号结束1). 查询所有数据库
show databases ;2). 查询当前数据库select database() ;3). 创建数据库create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序
规则 ] ;
注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。4). 删除数据库drop database [ if exists ] 数据库名 ;
注意:如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再
执行删除,否则不执行删除。5). 切换数据库
use 数据库名 ;
解释:我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。

1.2表操作

1.2.1表操作-查询创建

1). 查询当前数据库所有表
show tables;比如,我们可以切换到sys这个系统数据库,并查看系统数据库中的所有表结构。
use sys;
show tables;2). 查看指定表结构
desc 表名 ;
通过这条指令,我们可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信
息。3). 查询指定表的建表语句
show create table 表名 ;
通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询
到,因为这部分是数据库的默认值,如:存储引擎、字符集等。4). 创建表结构
CREATE TABLE  表名(字段1  字段1类型 [ COMMENT  字段1注释 ],字段2  字段2类型 [COMMENT  字段2注释 ],字段3  字段3类型 [COMMENT  字段3注释 ],......字段n  字段n类型 [COMMENT  字段n注释 ] 
) [ COMMENT  表注释 ] ;注意: [...] 内为可选参数,最后一个字段后面没有逗号

示例:创建以下表格形式: 

idnameagegender
118
219

代码如下:

create table tb(id int comment '编号',name varchar(50) comment '姓名',age int comment '年龄',gender varchar(1) comment '性别') comment '用户表';
1.2.2表操作-数据类型 

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

1)数值类型
类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
TINYINT1byte(-128, 127)(0, 255)小整数值
SMALLINT2bytes(-32768, 32767)(0, 65535)大整数值
MEDIUMINT3bytes(-8388608,8388607)(0, 16777215)大整数值
INT/INTEGER4bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8bytes(-2^63, 2^63-1)(0, 2^64-1)极大整数值
FLOAT4bytes(-3.402823466 E+38, 3.402823466351 E+38)0 和 (1.175494351 E-38, 3.402823466 E+38)单精度浮点数
DOUBLE8bytes(-1.7976931348623157 E+308, 1.7976931348623157 E+308)0 和 (2.2250738585072014 E-308, 1.7976931348623157 E+308)双精度浮点数
DECIMAL依赖于 M (精度) 和 D (标度) 的值依赖于 M (精度) 和 D (标度) 的值小数值 (精确定点数)
如: 1). 年龄字段 -- 不会出现负数, 而且人的年龄不会太大age tinyint unsigned2). 分数 -- 总分100分, 最多出现一位小数score double(4,1)

2)字符串类型 

char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和 字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性 能会更高些。 

如: 1). 用户名 username ------> 长度不定, 最长不会超过50username varchar(50)2). 性别 gender ---------> 存储值, 不是男,就是女gender char(1)3). 手机号 phone --------> 固定长度为11phone char(11)

 3)日期时间类型
如: 1). 生日字段 birthdaybirthday date2). 创建时间 createtimecreatetime  datetime
 4)表操作-案例

设计一张员工信息表,要求如下:

                1. 编号(纯数字)

                2. 员工工号 (字符串类型,长度不超过10位)

                3. 员工姓名(字符串类型,长度不超过10位)

                4. 性别(男/女,存储一个汉字)

                5. 年龄(正常人年龄,不可能存储负数)

                6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)

                 7. 入职时间(取值年月日即可) 

 create table emp(id int comment '编号',workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrydate date comment '入职时间') comment '员工表';
 1.2.3表操作-修改
1). 添加字段
ALTER TABLE 表名 ADD  字段名  类型 (长度)  [ COMMENT 注释 ]  [ 约束 ];案例: 
为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)
ALTER TABLE emp ADD nickname varchar(20)  COMMENT '昵称';2). 修改数据类型
ALTER TABLE 表名 MODIFY  字段名  新数据类型 (长度);3). 修改字段名和字段类型
ALTER TABLE 表名 CHANGE  旧字段名  新字段名  类型 (长度)  [ COMMENT 注释 ]  [ 约束 ];案例:
将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE  nickname  username varchar(30)  COMMENT '昵称';4). 删除字段
ALTER TABLE 表名 DROP  字段名;案例:
将emp表的字段username删除
ALTER TABLE emp DROP  username;5). 修改表名
ALTER TABLE 表名 RENAME TO  新表名;案例:
将emp表的表名修改为 employee
ALTER TABLE emp RENAME TO employee;
1.2.4表操作-删除
1). 删除表
DROP  TABLE [ IF  EXISTS ]  表名;可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不
加该参数项,删除一张不存在的表,执行将会报错)。案例:
如果tb_user表存在,则删除tb_user表
DROP  TABLE IF  EXISTS  tb_user;2). 删除指定表, 并重新创建表
TRUNCATE  TABLE 表名;注意: 在删除表的时候,表中的全部数据也都会被删除。

 (从下面开始使用DataGrip图形化操作界面)

2.DML 

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进 行增、删、改操作。 添加数据(INSERT)、修改数据(UPDATE)、 删除数据(DELETE) 

2.1添加数据

1). 给指定字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...)  VALUES (值1, 值2, ...);案例: 给employee表所有的字段添加数据 ;
insert into employee(id,workno,name,gender,age,idcard,entrydate) values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');2). 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);案例:插入数据到employee表,具体的SQL如下:
insert into employee values(2,'2','张无忌','男',18,'123456789012345670','2005-01-01');3). 批量添加数据INSERT INTO 表名 (字段名1, 字段名2, ...)  VALUES (值1, 值2, ...), (值1, 值2, ...), (值
1, 值2, ...) ;INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;案例:批量插入数据到employee表,具体的SQL如下:
insert into employee values(3,'3','韦一笑','男',38,'123456789012345670','2005-01
01'),(4,'4','赵敏','女',18,'123456789012345670','2005-01-01');注意事项: • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。• 字符串和日期型数据应该包含在引号中。• 插入的数据大小,应该在字段的规定范围内。 

 2.2修改数据

修改数据的具体语法为:
UPDATE   表名   SET   字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE  条件 ] ;案例: 
A. 修改id为1的数据,将name修改为itheima
update employee set name = 'itheima' where id = 1;B. 修改id为1的数据, 将name修改为小昭, gender修改为 女
update employee set name = '小昭' , gender = '女' where id = 1;C. 将所有的员工入职日期修改为 2008-01-01
update employee set entrydate = '2008-01-01';注意事项:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

2.3删除数据 

删除数据的具体语法为:
DELETE  FROM  表名  [ WHERE  条件 ] ;案例:A. 删除gender为女的员工
delete from employee where gender = '女';B. 删除所有员工
delete from employee;注意事项:• DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数
据。• DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即
可)。• 当进行删除全部数据操作时,datagrip会提示我们,询问是否确认删除,我们直接点击
Execute即可。

3.DQL

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记 录。

查询关键字: SELECT

     在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站, 在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能 还会涉及到条件、排序、分页等操作。

3.1基本语法以及执行顺序

DQL 查询语句,语法结构如下:SELECT字段列表
FROM表名列表
WHERE条件列表
GROUP  BY分组字段列表
HAVING分组后条件列表
ORDER BY排序字段列表
LIMIT分页参数将上面的完整语法进行拆分,分为以下几个部分:
基本查询(不带任何条件)
条件查询(WHERE)
聚合函数(count、max、min、avg、sum)
分组查询(group by)
排序查询(order by)
分页查询(limit)

开始之前完成准备工作,代码如下:

create table emp(id int comment '编号',workno varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',workaddress varchar(50) comment '工作地址',entrydate date comment '入职时间')comment '员工表';INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
VALUES (1, '00001', '柳岩', '女', 20, '123456789012345678', '北京', '2000-01-01'),(2, '00002', '张无忌', '男', 18, '123456789012345670', '北京', '2005-09-01'),(3, '00003', '韦一笑', '男', 38, '123456789712345670', '上海', '2005-08-01'),(4, '00004', '赵敏', '女', 18, '123456757123845670', '北京', '2009-12-01'),(5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01'),(6, '00006', '杨逍', '男', 28, '12345678931234567X', '北京', '2006-01-01'),(7, '00007', '范瑶', '男', 40, '123456789212345670', '北京', '2005-05-01'),(8, '00008', '黛绮丝', '女', 38, '123456157123645670', '天津', '2015-05-01'),(9, '00009', '范凉凉', '女', 45, '123156789012345678', '北京', '2010-04-01'),(10, '00010', '陈友谅', '男', 53, '123456789012345670', '上海', '2011-01-01'),(11, '00011', '张士诚', '男', 55, '123567897123465670', '江苏', '2015-05-01'),(12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-01'),(13, '00013', '张三丰', '男', 88, '123656789012345678', '江苏', '2020-11-01'),(14, '00014', '灭绝', '女', 65, '123456719012345670', '西安', '2019-05-01'),(15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-01'),(16, '00016', '周芷若', '女', 18, null, '北京', '2012-06-01');

3.2基础查询

1). 查询多个字段SELECT   字段1, 字段2, 字段3 ...  FROM   表名 ; 1SELECT  *  FROM   表名 ;
注意 : * 号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)。2). 字段设置别名
SELECT   字段1  [ AS  别名1 ] , 字段2  [ AS  别名2 ]   ...  FROM   表名; 1
SELECT   字段1  [ 别名1 ] , 字段2  [ 别名2 ]   ...  FROM   表名;3). 去除重复记录
SELECT  DISTINCT  字段列表  FROM   表名;案例:
A. 查询指定字段 name, workno, age并返回
select name,workno,age from emp;B. 查询返回所有字段
select id ,workno,name,gender,age,idcard,workaddress,entrydate from emp; 1
select * from emp;C. 查询所有员工的工作地址,起别名
select workaddress as '工作地址' from emp; 
-- as可以省略
select workaddress '工作地址' from emp;D. 查询公司员工的上班地址有哪些(不要重复)
select distinct workaddress '工作地址' from emp;

3.3 条件查询

1). 语法
SELECT  字段列表  FROM   表名   WHERE   条件列表 ;
2). 条件 常用的比较运算符如下:

3)常用的逻辑运算符如下:

4)案例
案例:A. 查询年龄等于 88 的员工
select * from emp where age = 88;B. 查询年龄小于 20 的员工信息
select * from emp where age < 20;C. 查询年龄小于等于 20 的员工信息
select * from emp where age <= 20;D. 查询没有身份证号的员工信息
select * from emp where idcard is null;E. 查询有身份证号的员工信息
select * from emp where idcard is not null;F. 查询年龄不等于 88 的员工信息
select * from emp where age != 88;
select * from emp where age <> 88;G. 查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
select * from emp where age >= 15 && age <= 20;
select * from emp where age >= 15 and age <= 20;
select * from emp where age between 15 and 20;H. 查询性别为 女 且年龄小于 25岁的员工信息
select * from emp where gender = '女' and age < 25;I. 查询年龄等于18 或 20 或 40 的员工信息
select * from emp where age = 18 or age = 20 or age =40;
select * from emp where age in(18,20,40);J. 查询姓名为两个字的员工信息 _ %
select * from emp where name like '__';  --两个下划线K. 查询身份证号最后一位是X的员工信息
select * from emp where idcard like '%X';
select * from emp where idcard like '_________________X';   --17个下划线

3.4聚合函数 

1). 介绍

               将一列数据作为一个整体,进行纵向计算 。

2). 常见的聚合函数如下

 3). 语法
SELECT  聚合函数(字段列表)  FROM   表名 ;注意 : NULL值是不参与所有聚合函数运算的。
4)案例
A. 统计该企业员工数量select count(*) from emp; -- 统计的是总记录数
select count(idcard) from emp; -- 统计的是idcard字段不为null的记录数对于count聚合函数,统计符合条件的总记录数,还可以通过 count(数字/字符串)的形式进行统计
查询,比如:select count(1) from emp;B. 统计该企业员工的平均年龄
select avg(age) from emp;C. 统计该企业员工的最大年龄
select max(age) from emp;D. 统计该企业员工的最小年龄
select min(age) from emp;E. 统计西安地区员工的年龄之和
select sum(age) from emp where workaddress = '西安';

3.5 分组查询

1). 语法

SELECT  字段列表  FROM   表名  [ WHERE   条件 ]  GROUP   BY  分组字段名  [ HAVING  分组后过滤条件 ];

2). where与having区别

        执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤

        判断条件不同:where不能对聚合函数进行判断,而having可以。

注意事项:
• 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
• 执行顺序: where > 聚合函数 > having 。
• 支持多字段分组, 具体语法为 : group by columnA,columnB

3)案例

A. 根据性别分组 , 统计男性员工 和 女性员工的数量
select gender, count(*) from emp group by gender ;B. 根据性别分组 , 统计男性员工 和 女性员工的平均年龄
select gender, avg(age) from emp group by gender ;C. 查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
select workaddress, count(*) address_count from emp where age < 45 group by 
workaddress having address_count >= 3; --分组之后在,在过滤大于等于3的工作地址D. 统计各个工作地址上班的男性及女性员工的数量
select workaddress, gender, count(*) '数量' from emp group by gender , workaddress ;

 3.6 排序查询

1). 语法

 SELECT  字段列表  FROM   表名  ORDER  BY  字段1  排序方式1 , 字段2  排序方式2 ;

2). 排序方式

 ASC : 升序(默认值)DESC: 降序注意事项:• 如果是升序, 可以不指定排序方式ASC ;• 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;

3)案例

A. 根据年龄对公司的员工进行升序排序select * from emp order by age asc;
select * from emp order by age;B. 根据入职时间, 对员工进行降序排序select * from emp order by entrydate desc;C. 根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序select * from emp order by age asc , entrydate desc;

3.7分页查询

          分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台 都需要借助于数据库的分页操作。

1). 语法

 SELECT  字段列表  FROM   表名  LIMIT  起始索引, 查询记录数 ;注意事项:• 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。• 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

2)案例

A. 查询第1页员工数据, 每页展示10条记录select * from emp limit 0,10;
select * from emp limit 10;B. 查询第2页员工数据, 每页展示10条记录 --------> (页码-1)*页展示记录数
select * from emp limit 10,10;

4.DCL

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访 问权限。

4.1 管理用户

1)基本语法
1). 查询用户
select * from mysql.user;2). 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';3). 修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;4). 删除用户
DROP USER '用户名'@'主机名' ; 注意事项:• 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。• 主机名可以使用 % 通配。• 这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库
管理员)使用。
2)案例
A. 创建用户itcast, 只能够在当前主机localhost访问, 密码123456;
create user 'itcast'@'localhost' identified by '123456';B. 创建用户heima, 可以在任意主机访问该数据库, 密码123456;
create user 'heima'@'%' identified by '123456';C. 修改用户heima的访问密码为1234;
alter user 'heima'@'%' identified with mysql_native_password by '1234';D. 删除 itcast@localhost 用户
drop user 'itcast'@'localhost';

4.2 权限控制

1)常见权限

MySQL中定义了很多种权限,但是常用的就以下几种: 

 2)基本语法
1). 查询权限
SHOW GRANTS FOR '用户名'@'主机名' ;2). 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';3). 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';注意事项:
• 多个权限之间,使用逗号分隔
• 授权时, 数据库名和表名可以使用 * 进行通配,代表所有。
3)案例
A. 查询 'heima'@'%' 用户的权限
show grants for 'heima'@'%';B. 授予 'heima'@'%' 用户itcast数据库所有表的所有操作权限
grant all on itcast.* to 'heima'@'%';C. 撤销 'heima'@'%' 用户的itcast数据库的所有权限
revoke all on itcast.* from 'heima'@'%';

相关文章:

MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)

目录 一、基本介绍 二、SQL通用语法 三、SQL分类(DDL、DML、DQL、DCL) 1.DDL 1.1数据库操作 1.2表操作 1.2.1表操作-查询创建 1.2.2表操作-数据类型 1&#xff09;数值类型 2&#xff09;字符串类型 3&#xff09;日期时间类型​编辑 4&#xff09;表操作-案例 1.2.3…...

Oracle数据库数据编程SQL<3.3 PL/SQL 游标>

游标(Cursor)是Oracle数据库中用于处理查询结果集的重要机制&#xff0c;它允许开发者逐行处理SQL语句返回的数据。 目录 一、游标基本概念 1. 游标定义 2. 游标分类 二、静态游标 &#xff08;一&#xff09;显式游标 【一】不带参数&#xff0c;普通的显示游标 1. 显式…...

畅享电脑流畅运行:深度卸载、智能监视与空间释放

软件介绍 在数字化办公与娱乐高度融合的当下&#xff0c;电脑承载着我们诸多重要任务&#xff0c;然而&#xff0c;随着软件的频繁安装与卸载&#xff0c;系统逐渐被各种顽固软件及其残留 “拖垮”&#xff0c;运行速度变慢、磁盘空间告急等问题接踵而至。别愁&#xff0c;今天…...

R --- Error in library(***) : there is no package called ‘***’ (服务器非root用户)

步骤 步骤一&#xff1a;在自己目录下创建R包安装路径步骤二&#xff1a;配置用户本地的R库路径步骤三&#xff1a;安装缺失的包&#xff08;在终端&#xff09;步骤四&#xff1a;验证安装 步骤一&#xff1a;在自己目录下创建R包安装路径 mkdir -p ~/R_libs步骤二&#xff1…...

Visual Studio Code 无法打开源文件解决方法

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux &#x1f525; 系列专栏&#xff1a;C从入门到精通 目录 一&#xff1a;&#x1f525; 突发状况 二&#xff1a;&#x1f525; 共勉 一&#xff1a;&#x1f525; 突发状况 &#x1f42c;…...

核函数(机器学习深度学习)

一、核函数的基本概念 核函数&#xff08;Kernel Function&#xff09; 是机器学习中处理非线性问题的核心工具&#xff0c;通过隐式映射将数据从原始空间转换到高维特征空间&#xff0c;从而在高维空间中实现线性可分或线性建模。其数学本质是计算两个样本在高维空间中的内积…...

【工具】BioPred一个用于精准医疗中生物标志物分析的 R 软件包

介绍 R 语言包 BioPred 提供了一系列用于精准医疗中的亚组分析和生物标志物分析的工具。它借助极端梯度提升&#xff08;XGBoost&#xff09;算法&#xff0c;并结合倾向得分加权和 A 学习方法&#xff0c;帮助优化个体化治疗规则&#xff0c;从而简化亚组识别过程。BioPred 还…...

【银河麒麟系统常识】命令:dotnet --list-sdks(列出已安装的 .NET SDK 版本)

命令&#xff1a; dotnet --list-sdks 功能 列出当前系统中所有已安装的 .NET SDK 版本&#xff1b; 返回值规则 # 1. 格式&#xff1a;<版本号>[<安装路径>]&#xff1b; # 2. 排序&#xff1a;按版本号从低到高排序&#xff1b;示例...

【深度学习】不管理论,入门从手写数字识别开始

1. 环境安装 学习深度学习&#xff0c;开发语言是Python。Python开发工具有很多。其中 anaconda vscode的Python开发环境很好用&#xff0c;建议使用这个组合。 编写手写数字识别测试代码&#xff0c;需要在使用Anaconda安装以下4个库&#xff1a; NumpyScipymatplotlibsci…...

3.使用epoll实现单线程并发服务器

目录 1. epoll的概述 2. 多线程与epoll的处理流程 2.1 多线程处理流程 2.2 epoll处理流程 3. epoll与多线程的比较 4. epoll的操作函数 4.1 epoll_create() 4.2 epoll_ctl() 4.3 epoll_wait() 5. 示例代码 6. epoll的工作模式 7. 使用O_NONBLOCK防止阻塞 8.运行代…...

关于JVM和OS中的栈帧的区别和内存浅析

关于JVM和OS中的栈帧的区别和内存浅析 刚看了黑马JVM中的栈帧的讲解&#xff0c;感觉和自己理解的栈帧有一定出入&#xff0c;查询资料研究了一下发现的确有天壤之别&#xff0c;可惜黑马并没有讲。 故写下这篇文章巩固一下, OS的栈帧&#xff1a; ​ OS的栈帧会在调用一个函…...

拥抱健康生活,开启养生之旅

在快节奏的现代生活中&#xff0c;健康养生愈发重要。它不仅能让我们拥有强健体魄&#xff0c;还能提升生活质量。​ 均衡饮食是养生的基石。多吃蔬菜和水果&#xff0c;它们富含维生素与膳食纤维。比如西兰花&#xff0c;堪称 “蔬菜皇冠”&#xff0c;不仅含有丰富的维生素 …...

测试用例管理工具

一、免费/开源工具 TestLink 适用场景&#xff1a;传统手工测试团队&#xff0c;需基础用例管理与测试计划跟踪。 关键功能&#xff1a;用例分层管理、执行结果记录、基础报告生成。 局限&#xff1a;界面陈旧&#xff0c;自动化集成需插件支持。 Kiwi TCMS 适用场景&#xff1…...

visual studio 2017配置QT5.9.4环境

前提是已经安装完毕vs 2017以及QT5.9.4&#xff0c;然后再进行下列的操作 一 环境配置 修改成如下所示&#xff0c;然后关闭vs 打开浏览器&#xff0c;搜索网站download.qt.io 如果2.4.1版本出现问题&#xff0c;可以换版本&#xff0c;如2.3.1&#xff0c;2.7.1都比较稳定 …...

基于EFISH-SBC-RK3576的无人机智能飞控与数据存储方案

一、方案背景 民用无人机在电力巡检、农业植保、应急救援等领域快速普及&#xff0c;但传统方案面临‌多协议设备兼容性差‌、‌野外环境数据易丢失‌、‌复杂电磁干扰‌三大痛点。 电鱼智能推出‌EFISH-SBC-RK3576‌&#xff0c;可集成双冗余总线接口与工业级加固存储&#x…...

c++的特性——多态

目录 概念 多态实现条件 虚函数 虚函数的重写/覆盖 练习题 析构函数的重写 override和final关键字 重载/隐藏/重载的区别 纯虚函数和抽象类 多态 虚函数表指针 多态的原理 动态绑定与静态绑定 虚函数表总结 前面学习了C的三个特性中的两个特性&#xff0c;今天我们…...

MySQL基础语法DDLDML

目录 #1.创建和删除数据库 ​#2.如果有lyt就删除,没有则创建一个新的lyt #3.切换到lyt数据库下 #4.创建数据表并设置列及其属性,name是关键词要用name包围 ​编辑 #5.删除数据表 #5.查看创建的student表 #6.向student表中添加数据,数据要与列名一一对应 #7.查询studen…...

性能测试理论基础-性能指标及jmeter中的指标

1、什么是性能测试 通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的质量,提升用户体验。 2、什么样的系统需要做性能测试 用户量大,页面访问…...

Postman CORS 测试完全指南:轻松模拟跨域请求,排查 CORS 相关问题

在使用 Postman 进行 API 测试时&#xff0c;通常不会遇到跨域问题&#xff0c;因为 Postman 是一个独立的客户端应用程序&#xff0c;不同于在浏览器中运行的 JavaScript 代码&#xff0c;它没有同源策略&#xff08;SOP&#xff09;的限制。跨域资源共享&#xff08;CORS&…...

iOS抓包-charles和Stream

简单介绍几种抓包工具 1、Charles Charles是一款流行的跨平台HTTP代理软件&#xff0c;常用于Web调试&#xff0c;它可以帮助你在开发过程中检查、修改或模拟HTTP/HTTPS请求和响应。以下是如何在iOS设备上使用Charles进行抓包的基本步骤&#xff1a; 第一步&#xff1a;安装…...

三个核心文件:src\App.vue文件,index.html文件,src\main.js文件 的关系与运行流程解析(通俗形象)

一、三个文件的角色定位 用生活比喻理解它们的关系&#xff1a; index.html → “空房子” 像一栋毛坯房&#xff0c;只有基本的墙面和预留的插座&#xff08;空白的HTML结构&#xff09;。它的作用是提供一个容器&#xff0c;告诉Vue&#xff1a;“请把装修好的房间&#xf…...

云原生系列-K8S实战

K8S实战 1. K8S 资源创建方式2. NameSpace 资源创建3. Pod4. Deployment5. Service6. Ingress7. 存储抽象1. 环境准备2. PV&PVC1&#xff09; 创建PV池2&#xff09; PVC创建与绑定 3. ConfigMap 抽取应用配置&#xff0c;并且可以自动更新1&#xff09; redis 示例2) 创建…...

从责任链模式聊到aware接口

从责任链模式聊到aware接口 责任链是什么&#xff1f; 责任链模式是一种行为型设计模式&#xff0c;将多个对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;让多个对象都有机会处理这个请求&#xff0c;请求会顺着链传递&#xff0c;直到某个对象处理它为止。…...

ArcGIS地理信息系统空间分析实验教程学习

ArcGIS 作为地理信息系统领域的经典软件&#xff0c;以其强大的功能和广泛的应用场景&#xff0c;成为了众多学者、研究人员和专业人士的首选工具。它不仅可以高效地处理和可视化地理空间数据&#xff0c;还能通过复杂的空间分析模型&#xff0c;揭示地理现象背后的规律和趋势。…...

【3天!!!从0-1完成自动化集成平台开发--Cursor AI赋能0代码基础测试工程师开发平台-亲测有效-保姆级】

利用Cursor AI 赋能测试工程师从0-1开发自动化集成平台 ——含框架设计、实例代码与CI/CD集成 一、技术选型与框架设计1.1 核心框架选择1.2 整体架构图二、从0到1开发步骤2.1 初始化项目2.2 核心模块开发模块1:测试用例管理(Python)模块2:测试执行引擎(pytest)三、实战案…...

Compose 实践与探索十七 —— 多指手势与自定义触摸反馈

上一节我们讲了滑动的手势识别以及嵌套滑动&#xff0c;二者都属于触摸反馈这个大的范畴内的知识。本节我们将深入触摸反馈这个话题&#xff0c;讲一讲多指手势的识别与完全自定义的触摸反馈的实现。 1、多指手势 多指手势可以分为两类&#xff1a; 利用 API 处理预设好的手…...

Spring Boot 整合 ElasticJob 分布式任务调度教程

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 整合 ElasticJob 分布式任务调度教程 一、ElasticJob 简介 ElasticJob 是当当网开源的分布式任务调度解决方案&#xff0c;支持&#xff1a; …...

Go 语言规范学习(6)

文章目录 StatementsTerminating statementsEmpty statementsLabeled statementsExpression statementsSend statementsIncDec statementsAssignment statementsIf statementsSwitch statementsExpression switchesType switches For statementsFor statements with single con…...

centos8上实现lvs集群负载均衡nat模式

1.背景&#xff1a; 个人&#xff08;菜鸟&#xff09;学习笔记&#xff0c;学点记下来&#xff0c;给未来的自己看。高手看了也请多指点。 按照课程讲&#xff0c;lvs是我国大神开发的负载均衡程序&#xff0c;被收录进内核&#xff0c;只要安装时内核里有它&#xff0c;它就…...

深度学习篇---模型参数调优

文章目录 前言一、Adam学习&#xff08;lr&#xff09;1. 默认学习率2. 较小的学习率模型复杂数据集规模小 3. 较大的学习率模型简单训练初期 4. 学习率衰减策略固定步长衰减指数衰减 二、训练轮数&#xff08;epoch&#xff09;1. 经验值设定小数据集与简单模型大数据集和复杂…...