MySQL数据库基本操作语言:SQL

news2024/12/29 9:15:40

SQL

概述

SQL是一 种用于操作数据库的语言,SQL适用于所有关系型数据库。

MySQL、Oracle、 SQLServer是一 一个数据库软件,这些数据库软件支持标准SQL,也就是通过SQL可以使用这些软件,不过每一个数据库系统会在标准SQL的基础 上扩展自己的SQL语法。

大部分的NoSQL数据库有自己的操作语言,对SQL支持的并不好。

SQL通用语法

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

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

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

5.注释:

        单行注释:-- 注释内容(用--注释注释内容要与--之间有一个空格)或 # 注释内容(MySQL特有)

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

SQL分类

分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL

数据库操作

功能SQL
查看所有的数据库show databases;
创建数据库create database [if not exists] mydb1 [charset=utf8]
切换(选择要操作的)数据库use mydb1;
删除数据库drop database [if exists] mydb1 ;
修改数据库编码alter database mydb1 character set utf8;

数据类型*

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

        详细内容见文章末。

表操作

创建

        CREATE TABLE[IF NOT EXISTS]表名(

                字段1字段1类型[COMMENT字段1注释],

                字段2字段2类型[COMMENT字段2注释],

                字段3字段3类型[COMMENT字段3注释],

                ...

                字段n字段n类型[COMMENT字段n注释]

        )[ COMMENT表注释];

注意:[...]为可选参数,最后一个字段后面没有逗号

查询        

查询当前数据库所有表SHOW TABLES;
查询表结构DESC表名;
查询指定表的建表语句SHOW CREATE TABLE表名;

修改表结构

添加字段

ALTER TABLE表名ADD字段名类型(长度) [COMMENT注释] [约束];

alter table 表名 add 字段名类型(长度) [conmment注释] [约束];

修改字段名和字段类型ALTER TABLE表名CHANGE旧字段名新字段名类型(长度) [COMMENT注释] [约束];
修改数据类型ALTERTABLE表名MODIFY字段名新数据类型(长度);
修改表名

ALTER TABLE表名RENAME TO新表名;

RENAME TABLE 表名 TO 新表名;

删除字段ALTER TABLE表名DROP字段名;
删除表DROP TABLE[IF EXISTS] 表名;
删除指定表,并重新创建该表*TRUNCATE TABLE 表名;

 DML

简介

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

添加数据(INSERT)

修改数据(UPDATE)

删除数据(DELETE)

添加数据

给指定字段添加数据INSERT INTO表名(字段名1,字段名2, ...) VALUES (值1,值2, ...); 
给全部字段添加数据INSERT INTO表名VALUES (值1,值2, ...);
批量添加数据INSERT INTO表名(字段名1,字段名2, ... )VALUES (值1,值2, ...), (值1,值2, ... ),(值1,值2...);
INSERT INTO表名VALUES (值1,值2, ...) (值1,值2,... )(值1,值2,...);

注意:

  • 插入数据时,指定的字段顺序需要与值的顺序是一 一对应的。
  • 字符串和日期型数据应该包含在引号中。
  • 插入的数据大小,应该在字段的规定范围内。

修改数据

UPDATE表名SET字段名=值,字段名=值... ;
UPDATE表名SET字段名=值,字段名=值.. . WHERE条件;
UPDATE name SET name1 = 'j', name2 = 'k';
UPDATE name SET name1 = 'j', name2 = 'k' where othername = 1010;

删除数据

DELETE FROM 表名 [WHERE 条件] ; 
TRUNCATE TABLE 表名;
TRUNCATE 表名;

        注意:DELETE和TRUNCATE原理不同,DELETE之删除内容,而TRUNCATE类似于DROP TABLE,可以理解是将整个表删除,然后再创建该表。当DELETE后有WHERE时删除的是表中满足条件的一整排数据。

约束

简介

        约束(constraint):表中数据的约束条件。

        作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。

        分类

主键约束(primary key) PK
自增长约束(auto_ jincrement)
非空约束(not null)
唯一性约束(unique)
默认约束(default)
零填充约束(zerofill)
外键约束(foreign key) FK

主键约束

概念

  • MySQL主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行,方便在RDBMS中尽快的找到某一 行。
  • 主键约束相当于唯一约束 + 非空约束的组合,主键约束列不允许重复,也不允许出现空值。
  • 每个表最多只允许一个主键
  • 主键约束的关键字是: primary key
  • 当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。

添加单列主键

        创建单列主键有两种方式,一种是在定义字段的同时指定主键,一种是定义完字段之后指定主键。

方式一

  • 在create table语句中,通过PRIMARY KEY关键字来指定主键。
  • 在定义字段的同时指定主键。

         eg:

CREAT TABLE teb(
    name VARCHAR PRIMARY KEY
);

方式二

  • 在定义字段之后再指定主键。

CREAT TABLE teb(
    name VARCHAR PRIMARY KEY,
    CONSTRAINT pk1 PRIMARY KEY(name)  -- constraint pk1可以省略
);

添加多列主键(联合主键)

        所谓的联合主键,就是这个主键是由一张表中多 个字段组成的。

注意:

  1. 当主键是由多个字段组成时,不能直接在字段名后面声明主键约束。
  2. 一张表只能有一个主键,联合主键也是一个主键。
  3. 联合主键的每一列都不能为空。
create table emp(
    name varchar(20),
    deptId int,
    salary double,
    constraint pk primary key(name, deptId)
);

通过修改表结构添加主键

        主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。

        字段列表可以是一个列也可以是多个。

删除主键约束

        一个表中不需要主键约束时,就需要从表中将其删除。删除主键约束的方法要比创建主键约束容易的多。

自增长约束

概念

        在MySQL中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录。主键会自动以相同的步长进行增长。

        通过给字段添加auto increment属性来实现主键自增长

特点

  1. 默认情况下,auto_increment的初始值是1,每新增一条记录,字段值自动加1
  2. 一个表中只能有一个字段使用auto_increment约束, 且该字段必须有唯一索引, 以避免序号重复(即为主键或主键的一部分)
  3. auto_increment约束的字段必须具备NOT NULL属性
  4. auto_increment约束的字段只能是整数类型(TINYINT、 SMALLINT、 INT、 BIGINT 等
  5. auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效。

指定自增字段初始值

        如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增。例如,如果表中插入的第一条记录的id值设置为5,那么再插入记录时,id 值就会从5开始往上增加

方式一:创建表时指定

 方式二:创建表后指定

delete和truncate在删除后自增列的变化

  • delete数据之后自动增长从断点开始
  • truncate数 据之后自动增长从默认起始值开始

非空约束

概念

        MySQL非空约束(not null)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

删除非空约束

唯一性约束

概念

        唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为id字段加上唯一性约束后,每条记录的id值都是唯一的, 不能出现重复的情况。

        在MySQL中NULL和任何值都不相同,NULL与NULL之间也不相同。

删除唯一约束

        格式: alter table <表名> drop index <唯一约束名>;

默认约束

概念

        MySQL默认值约束用来指定某列的默认值。

删除默认约束

        alter table <表名> change column <字段名> <类型> default null;

零填充约束

概念

  • 插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0
  • zerofil默认为int(10)
  • 当使用zerofill时,默认会自动加unsigned (无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256.

删除

外键约束

DQL

概念

  • 数据库管理系统一个重要功能就是数据查询, 数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。
  • MySQL提供了功能强大、灵活的语句来实现这些操作。
  • MySQL数据库使用select语句来查询数据。

 语法格式

        *号代表所有的列

        起别名时加关键字as,as可以省略。使用时是 别名.列名(多表查询时有用)

        distinct是去掉重复值

        查询时可以对数据进行运算(不会修改表中的数据)

        书写顺序:select -> from -> where -> group by -> having -> order by -> limit

        执行顺序:from -> where -> group by -> having -> select -> order by -> limit

运算符*

        数据库中的表结构确立后,表中的数据代表的意义就已经确定。通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。

        MySQL支持4种运算符:算术运算符、比较运算符、逻辑运算符、位运算符。

        详细内容键文章末。

排序查询

介绍

        如果我们需要对读取的数据进行排序,我们就可以使用MySQL的order by子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

特点

  1. asc代表升序,desc代表降序,如果不写默认升序
  2. order by用于子句中可以支持单个字段,多个字段,表达式,函数,别名
  3. order by子句,放在查询语句的最后面。LIMIT子句除外

聚合查询

简介

        之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断, 而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值; 另外聚合函数会忽略空值。

        select 函数 from ... ;

聚合函数作用
count()统计指定列不为NULL的记录行数;
sum()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
max()计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min()计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
ifnull(A,0)如果A为null就当做0处理

NULL值的处理

1、 count函数对null值的处理

        如果count函数的参数为星号(*) ,则统计所有记录的个数。而如果参数为某字段,不统计含null值的记录个数。

2、sum和avg函数对null值的处理

        这两个函数忽略null值的存在,就好象该条记录不存在一样。

3、max和min函数对null值的处理

        max和min两个函数同样忽略null值的存在。

分组查询

简介

        分组查询是指使用group by字句对查询信息进行分组。

        如果要进行分组的话,则SELECT子句之后,只能出现分组的字段和统计函数,其他的字段不能出现

分组之后的条件筛选

  • 分组之后对统计结果进行筛选的话必须使用having,不能使用where
  • where子句用来筛选FROM子句中指定的操作所产生的行
  • group by子句用来分组WHERE子句的输出。
  • having子句用来从分组的结果中筛选行

分页查询

简介

        分页查询(limit)在项目开发中常见,由于数据量很大,显示屏长度有限,因此对数据需要采取分页显示方式。例如数据共有30条,每页显示5条,第一页显示1-5条,第二页显示6-10条。

INSERT INTO SELECT语句

简介

        将一张表的数据导入到另一张表中,可以使用INSERT INTO SELECT语句

        要求目标表Table2必须存在

正则表达式

介绍

        正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串, 使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

        MySQL通过REGEXP关键字支持正则表达式进行字符串匹配。

◆格式

模式描述
^匹配输入字符串的开始位置。
$匹配输入字符串的结束位置。
.匹配除"\n"之外的任何单个字符。
[...]字符集合。匹配所包含的任意-一个字符。例如,'[abc]' 可以匹配"plain"中的'a'。
[^...]负值字符集合。匹配未包含的任意字符。例如,'[^abc]' 可以匹配"plain"中的'p'。
p1 | p2 | p3匹配p1或p2或p3。例如,'z|food' 能匹配"z"或"food"。'(z|f)ood' 则匹配"zood" 或"food"。
*匹配前面的子表达式零次或多次。例如,zo* 能匹配"z"以及"zoo"。*等价于{0,}。
+匹配前面的子表达式一次或多次。例如,'zo+' 能匹配"zo"以及"zoo",但不能匹配"z"。+等
?匹配前面的子表达式零次或一次。
{n}n是一个非负整数。匹配确定的n次。例如,'o{2}'不能匹配"Bob"中的'o', 但是能匹配"food" 中的两个0。
{n,m}m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

        匹配成功为1(true),否则为0(false)

DCL

介绍

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

管理用户

        查询用户

        创建用户

        修改用户密码

        删除用户

 注意:

  • 主机名可以使用%通配。
  • 这类SQL开发人员操作的比较少,主要是DBA ( Database Administrator 数据库管理员)使用。

权限控制

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

权限说明
ALL, ALL PRIVILEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表

        其他权限描述及含义,可以直接参考官方文档。

查询权限

授予权限

撤销权限

注意:

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*进行通配,代表所有

数据类型

数值类型

数值类型

类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
TINYINT1 byte(-128, 127)(0,255)小整数值
SMALLINT2 bytes(-32768, 32767)(0, 65535)大整数值
MEDIUMINT3 bytes(-8388608,8388607)(0, 16777215)大整数值
INT或INTEGER4 bytes(-2147483648, 2147483647)(0,4294967295)大整数值
BIGINT8 bytes (-2^63, 2^63-1)(0,2^64-1)极大整数值
FLOAT4 bytes(-3. 402823466 B+38,3. 402823466351 E+38)0和(1.175494351 E-38,3.402823466 E+38)单精度浮点数值
DOUBLE8 bytes(-1.7976931348623157 E+308, 1.7976931348623157 E+308)0 和(2.2250738585072014 E-308,1.7976931348623157 E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D (标度)的值  (精度是指位数,标度是指小数位数)依赖于M(精度)和D (标度)的值小数值(精确定点数)

 字符串类型

字符串类型

类型大小描述
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777 215 bytes中等长度文本数据
LONGBLOB0-4294 967 295 bytes二 进制形式的极大文本数据
LONGTEXT0-4294 967 295 bytes极大文本数据

 日期类型

日期类型

大小范围格式描述
31000-01-01至9999-12-31YYYY-MM-DD日期值
3-838:59:59 至838:59:59HH:MM:SS时间值或持续时间
11901至2155YYYY年份值
81000-01-01 00:00:00 至9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
41970-01-01 00:00:01 至2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳(与时区有关)

 运算符

算术运算符

算术运算符说明
+加法运算
-减法运算
*乘法运算
/ 或 DIV除法运算,返回商
% 或 MOD求余运算,返回余数

比较运算符

比较运算符说明
=等于
< 和<=小于和小于等于
> 和>=大于和大于等于
<=>安全的等于,两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
<>或!=不等于
IS NULL或ISNULL判断一一个值是否为NULL
IS NOT NULL判断一一个值是否不为NULL
LEAST当有两个或多个参数时,返回最小值(参数如果有null则返回null)
GREATEST当有两个或多个参数时,返回最大值(参数如果有null则返回null)
BETWEEN AND判断一个值是否落在两个值之间
IN判断一个值是IN列表中的任意一个值
NOT IN判断一个值不是IN列表中的任意一个值
LIKE通配符匹配
REGEXP正则表达式匹配

逻辑运算符

逻辑运算符说明
NOT 或者 !逻辑非
AND 或者 &&逻辑与
OR 或者 ||逻辑或
XOR逻辑异或

位运算符

位运算符说明
|按位或
&按位与
^按位异或
<<按位左移
>>按位右移
~按位取反,反转所有比特

位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

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

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

相关文章

Flink电商实时数仓(三)

DIM层代码流程图 维度层的重点和难点在于实时电商数仓需要的维度信息一般是动态的变化的&#xff0c;并且由于实时数仓一般需要一直运行&#xff0c;无法使用常规的配置文件重启加载方式来修改需要读取的ODS层数据&#xff0c;因此需要通过Flink-cdc实时监控MySql中的维度数据…

GraphPad Prism 10 for Mac v10.0.0.3 安装教程

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件&#xff0c;它可以将科学图形、综合曲线拟合&#xff08;非线性回归&#xff09;、可理解的统计数据、数据组织结合在一起&#xff0c;除了最基本的数据统计分析外&#xff0c;还能自动生成统…

ansible(二)

模块七&#xff1a; hostname模块&#xff0c;修改主机名 模块八&#xff1a; copy模块&#xff1a;用于复制指定主机的文件到远程主机的模块&#xff08;必须要用绝对路径&#xff09; 常用的参数&#xff1a; Dest:指出要复制的文件在哪&#xff08;去哪&#xff09;&am…

C语言—每日选择题—Day59

指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 以下关于 typedef 正确的描述是&#xff08;&#xff09;【多选】 A&#xff1a;用typedef可以定义各种类型别名&#xff0c;但不能定义变量…

CSS:元素显示模式与背景

CSS&#xff1a;元素显示模式与背景 元素显示模式什么是元素显示模式块级元素 block行内元素 inline行内块元素 inline-block元素显示模式对比元素显示模式转换 display 背景背景颜色 background-color背景图片 background-image背景平铺 background-repeat背景图片位置 backgr…

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器&#xff0c;用于解决在开发过程中管理和构建包依赖项的需求。 Package结构 一个 Package&#xff08;包&#xff09;由 Swift 源码…

CSS 网页制作-学成在线

1、 准备工作 1.1 项目目录 网站根目录是指存放网站的第一层文件夹&#xff0c;内部包含当前网站的所有素材&#xff0c;包含HTML、CSS、图片、JavaScript等等。 1.2 版心效果 可以发现都是呈现版心居中的效果&#xff0c;但是每次都写一次太麻烦了&#xff0c;可以把版心居中…

Android应用-flutter使用Positioned将控件定位到底部中间

文章目录 场景描述示例解释 场景描述 要将Positioned定位到屏幕底部中间的位置&#xff0c;你可以使用MediaQuery来获取屏幕的高度&#xff0c;然后设置Positioned的bottom属性和left或right属性&#xff0c;一般我们left和right都会设置一个值让控制置于合适的位置&#xff0…

鸿蒙应用开发初体验 HelloWorld

9 月 25 日&#xff0c;华为常务董事、终端 BG CEO、智能汽车解决方案 BU 董事长余承东华为秋季全场景新品发布会上介绍了鸿蒙系统的最新进展&#xff1a;HarmonyOS 4 发布后&#xff0c;短短一个多月升级用户已经超过 6000 万&#xff0c;成为史上升级速度最快的 HarmonyOS 版…

Python数据科学视频讲解:包裹法—递归特征消除

4.4 包裹法—递归特征消除 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解4.4节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学应用的全流程&#xff0c;包括数据…

【已解决】vs2015下c++对sqlite的操作

本博文源于笔者操作sqlite3&#xff0c;借鉴了很多文章的思路&#xff0c;这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了&#xff1a;c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者…

gem5 RubyPort: mem_request_port作用与连接 simple-MI_example.py

简介 回答这个问题&#xff1a;RubyPort的口下&#xff0c;一共定义了六个口&#xff0c;分别是mem_request_port&#xff0c;mem_response_port&#xff0c;pio_request_port&#xff0c;pio_response_port&#xff0c;in_ports, interrupt_out_ports&#xff0c;他们分别有什…

长三角安防行业盛会“2024杭州安博会”4月份在杭州博览中心召开

作为中国安防行业的盛会&#xff0c;2024杭州安博会将于4月份在杭州国际博览中心隆重召开。本届安博会将汇聚全球最先进的安防技术和产品&#xff0c;为来自世界各地的安防从业者、爱好者以及投资者提供一个交流、展示和合作的平台。 据了解&#xff0c;2024杭州安博会将会展示…

one wire(单总线)FPGA代码篇

一.引言 单总线&#xff08;OneWire&#xff09;是一种串行通信协议&#xff0c;它允许多个设备通过一个单一的数据线进行通信。这个协议通常用于低速、短距离的数字通信&#xff0c;特别适用于嵌入式系统和传感器网络。 二.one wire通信优点缺点 优点&#xff1a; 单一数据线…

[CVPR-23] Instant Volumetric Head Avatars

[paper | code | proj] 本文提出INSTA。INSTA是一种backward mapping方法。该方法基于NeRF建立标准空间&#xff0c;形变空间&#xff08;任意表情&#xff09;通过映射回标准空间&#xff0c;实现渲染。为实现形变空间中任意点向标准空间的映射&#xff0c;对形变空间中的任意…

PySpark中DataFrame的join操作

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

Vue 保留富文本中包含指定字符串所在的行

需求描述 如下图所示&#xff0c;想保留所有包含『张三』所在的行 最终实现效果 先看一下富文本的源码 <p>任务1 张三</p> <p>任务2 张三</p> <p>任务3 李四</p> <p>任务4 李四</p> &l…

「微服务模式」七种微服务反模式

什么是微服务 流行语经常为进化的概念提供背景&#xff0c;并且需要一个良好的“标签”来促进对话。微服务是一个新的“标签”&#xff0c;它定义了我个人一直在发现和使用的领域。文章和会议描述了一些事情&#xff0c;我慢慢意识到&#xff0c;过去几年我一直在发展自己的个人…

JMeter常见配置及常见问题修改

一、设置JMeter默认打开字体 1、进入安装目录&#xff1a;apache-jmeter-x.x.x\bin\ 2、找到 jmeter.properties&#xff0c;打开。 3、搜索“ languageen ”&#xff0c;前面带有“#”号.。 4、去除“#”号&#xff0c;并修改为&#xff1a;languagezh_CN 或 直接新增一行&…

Envoy

一. Envoy ). Envoy Envoy 于 2017 年 9 月作为孵化项目加入 CNCF。从孵化到毕业&#xff0c;Envoy 都是 CNCF 增长最快的项目之一 Envoy 在吞吐量和延迟方面都表现良好。这在大型云原生部署中至关重要 Envoy 是专为大型现代 SOA&#xff08;面向服务架构&#xff09;架构设计…