MySQL的相關操作

目錄

一. 字符串函數

二. group?by分組

2.1 作用

2.2 格式

2.3 舉例

三.?order by排序

3.1 格式

3.2 舉例

四.?limit

4.1 作用

4.2 舉例

五.?having

5.1 作用

5.2 舉例

六. 正則表達式

七. 多表查詢

7.1 定義

7.2?子查詢

7.3 聯合查詢 縱向合并

7.4?交叉連接 橫向合并(不常用)

7.5?內連接

7.5 外連接

7.6 自連接

7.7 三表查詢

八. 視圖

8.1 創建視圖

?8.2 刪除視圖

九. 函數

十. 存儲過程(了解)

十一. 用戶管理

11.1?新建用戶

11.2?查看用戶信息

11.3?重命名用戶

11.4 刪除用戶?

11.5?修改當前登錄用戶密碼

11.6修改其他用戶密碼

11.7 破解密碼

11.8 遠程登錄

十二. 數據庫用戶授權

12.1 授予權限

12.2 查看權限

12.3 撤銷權限


一. 字符串函數

函數名函數意義
concat(x,y)將提供的參數 x 和 y 拼接成一個字符串
substr(x,y)獲取從字符串 x 中的第 y 個位置開始的字符串
substr(x,y,z)獲取從字符串 x 中的第 y 個位置開始長度為 z 的字符串
length(x)返回字符串 x 的長度
replace(x,y,z)將字符串 z 替代字符串 x 中的字符串 y
left(x,y)返回字符串 x 的前 y 個字符
right(x,y)返回字符串 x 的后 y 個字符
repeat(x,y)將字符串 x 重復 y 次
space(x)返回 x 個空格
strcmp(x,y)比較x和y,返回的值可以為-1,0,1
reverse(x)將字符串x反轉
upper(x)將字符串 x 的所有字母變成大寫字母
lower(x)將字符串 x 的所有字母變成小寫字母

示例:

#concat
select concat(name,classid) from students where stuid=1;      #將姓名字段和班級字段合在一起
select concat(name,'  ',classid) from students where classid=1;  #加空格

?

#substr
select substr(name,1,3) from students;            
#獲取students表中name字段的前1到3個字符select substr(name,3) from students where stuid=25;
#從students表中查找stuid為25的學生記錄,提取該學生name字段的子字符串,從第3個字符開始直到結束select substr(name,1,3) from students  where stuid=25;
#從students表中查找stuid為25的學生記錄,提取該學生name字段的子字符串,從第1個字符開始,總共提取3個字符

運行結果如下:?

#了解select length(name) from students where stuid=1;          #返回數據的長度
select replace(name,"y",11) from students where stuid=1;  #將name字段中的y換成11
select left(name,3) from students where stuid=1;   #顯示name字段 左邊三個字符 即最開始的三個
select right(name,3) from students where stuid=1;  #顯示name字段 右邊三個字符 即最后三個
select repeat(name,2) from students where stuid=1;   #將name字段重復顯示2次
select lower(name) from students;   #返回結果全是小寫字母
select reverse(name) from students where stuid=1;    #反向顯示字符串

二. group?by分組

2.1 作用

根據指定的一個或多個列的值將查詢結果分成多個組,通常與聚合函數(如COUNT, SUM, AVG, MAX, MIN等)一起使用

2.2 格式

SELECT "字段1", 聚合函數("字段2") FROM "表名" GROUP BY "字段1";

2.3 舉例

select  classid  from  students  group  by  classid;    #以classid字段進行分組
select  gender   from  students  group  by  gender;     #以性別進行分組  
select  age      from  students  group  by  age;        #以年齡進行分組select classid,count(*) from students group by classid; #按classid分組,并顯示每一組的人數
select age,count(*)  from students group by age;         #按年齡分組,并顯示每一組的人數select gender,avg(age) from students group by gender;    #按性別分組,求男女的平均年齡

?運行結果如下

?

注意:凡是在 SELECT 后面出現的、且未在聚合函數中出現的字段,必須出現在 GROUP BY 后面??

#錯誤示例
select classid,name from students group by classid;

三.?order by排序

3.1 格式

SELECT "字段" FROM "表名" [WHERE "條件"] ORDER BY "字段" [ASC, DESC];
#ASC 是按照升序進行排序的,是默認的排序方式。
#DESC 是按降序方式進行排序。

3.2 舉例

select * from students order by age;       #年齡升序排列
select * from students order by age desc;  #年齡降序排select * from students where classid=1 order by age;  #找出1班的人按升序排序

?

四.?limit

4.1 作用

對查詢的結果進行輸出行數數量限制

4.2 舉例

select * from students  limit 5;                    #取前5個數據
select * from students    limit 3,5;                #跳過前3個,往后取 5個
select * from students order by stuid desc limit 3; #顯示最后三個

?

五.?having

5.1 作用

HAVING 語句的存在彌補了 WHERE 關鍵字不能與聚合函數聯合使用的不足

5.2 舉例

select classid,count(classid) from students group by classid having classid > 3;
#先對所有數據按classid分組,然后使用篩選出classid大于3的組。select classid,count(classid) from students where classid > 3 group by classid;
#先使用篩選出classid大于3的記錄,然后再對這些記錄按classid分組。

?

六. 正則表達式

匹配	   描述
^	    匹配文本的開始字符
$	    匹配文本的結束字符
.	    匹配任何單個字符
*		匹配零個或多個在它前面的字符
+		匹配前面的字符 1 次或多次字符串	匹配包含指定的字符串
p1|p2	匹配 p1 或 p2
[…]		匹配字符集合中的任意一個字符
[^…]	匹配不在括號中的任何字符
{n}		匹配前面的字符串 n 次
{n,m}	匹配前面的字符串至少 n 次,至多 m 次
{,m}    最多m次
{n,}    最少n次
?      匹配一個字符

舉例

select name from students where name regexp '^s';   #查找所有以字母's'開頭的學生姓名
select name from students where name regexp 's';     #查找所有姓名中包含字母's'的學生select name from students where name regexp 's.i';   
#查找姓名中包含模式's+任意一個字符+i'的學生
select name from students where name regexp '^s|l';  
#查找所有以's'開頭或者包含字母'l'的學生姓名

?

七. 多表查詢

7.1 定義

多表查詢是指在單個SQL查詢中同時從兩個或多個表中檢索數據的操作。

7.2?子查詢

定義

子查詢是嵌套在另一個查詢中的查詢。

舉例

select avg(age) from students;   #求平均年齡
select * from students where age > (select avg(age) from students);    #再找出比平均年齡大的

#類似的SELECT avg(Age) FROM teachers   #先計算出 教師表的 平均年齡
update students set Age=(SELECT avg(Age) FROM teachers)  where stuid=25; # 再把第25個學生的年齡改成  教師表的平均年齡

7.3 聯合查詢 縱向合并

返回兩個表的笛卡爾積(即第一個表的每一行與第二個表的每一行的所有可能組合)。

格式:

-- 去除重復行
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;-- 保留重復行
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;

舉例:?

select name,age from students union select name,age from teachers;
#將students表和teachers表中的name和age列合并在一起。

?

#默認union是會自動去重的,union all是不會去重的select * from teachers union  select *from teachers;
select * from teachers union all select *from teachers;

7.4?交叉連接 橫向合并(不常用)

通過cross join操作將兩個或多個表中的相關數據組合在一起,基于指定的連接條件。

交叉連接生成的記錄可能會非常多,建議慎用

格式:

SELECT * FROM table1 CROSS JOIN table2;

舉例:?

select * from students cross join teachers;
#students表和teacher表合并

7.5?內連接

返回兩個表中滿足連接條件的記錄。

格式:

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

舉例:

select * from students inner join teachers on students.teacherid=teachers.tid;
#學生表中的teacherid和教師表中的tid相同的行

?

7.5 外連接

外連接可以分為:左連接和右連接

左連接: 以左表為主根據條件查詢右表數據﹐如果根據條件查詢右表數據不存在使用null值填充

右連接: 以右表為主根據條件查詢左表數據﹐如果根據條件查詢左表數據不存在使用null值填充

格式:

-- 左外連接:保留左表所有行
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;-- 右外連接:保留右表所有行
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;

舉例:?

select * from students s left join teachers t  on s.teacherid=t.tid;
#左外連接學生表都有,教師表留一部分select * from students s right join  teachers t on s.teacherid=t.tid;
#右外連接教師表全部,學生表一部分

7.6 自連接

自連接, 即表自身連接自身

格式:

-- 使用內連接的自連接
SELECT a.column, b.column 
FROM table a INNER JOIN table b ON a.column = b.related_column;-- 使用左外連接的自連接
SELECT a.column, b.column 
FROM table a LEFT JOIN table b ON a.column = b.related_column;

舉例:?

#構建新表,如下圖所示
create table emp (id int, name varchar(10),leaderid int);
insert emp values(1,'cxk',null),(2,'wyf',1),(3,'zhang',2),(4,'li',3);

select * from emp e left join  emp l on  e.leaderid=l.id;
#查找每個員工及其對應的領導信息。

7.7 三表查詢

select * from  students inner join scores on students.stuid=scores.stuid;
select st.name,sc.CourseID,sc.score from  students st inner join scores sc on st.stuid=sc.stuid;
select st.name,co.CourseID,sc.score from  students st inner join scores sc on st.stuid=sc.stuid inner  join courses co on sc.courseid=co.courseid;
select * from  students st inner join scores sc on st.stuid=sc.stuid inner  join courses co on sc.courseid=co.courseid;

八. 練習

導入hellodb.sql生成數據庫
1. 在students表中,查詢年齡大于25歲,且為男性的同學的名字和年齡
select  name,age  from  students   where  age>25 and  gender='m'; 2. 以ClassID為分組依據,顯示每組的平均年齡
select  classid,avg(age)     from  students   group  by  classid;  3. 顯示第2題中平均年齡大于30的分組及平均年齡
select  classid,avg(age)     from  students   group  by  classid having  avg(age) > 30; 4. 顯示以L開頭的名字的同學的信息
select *from students  where  name like "l%";5. 顯示TeacherID非空的同學的相關信息
select *  from  students  where TeacherID  is not null;  6. 以年齡排序后,顯示年齡最大的前10位同學的信息
select  *  from  students   order by  age desc  limit 10 ;7. 查詢年齡大于等于20歲,小于等于25歲的同學的信息
select  *  from  students   where age >= 20  and  age <= 25; 8. 以ClassID分組,顯示每班的同學的人數select  classid,count(*)  from  students  group by  classid;9. 以Gender分組,顯示其年齡之和
select gender,sum(age)  from  students  group by gender;10. 以ClassID分組,顯示其平均年齡大于25的班級
select  classid,avg(age)  from  students  group by  classid  having  avg(age)  > 25;11. 以Gender分組,顯示各組中年齡大于25的學員的年齡之和
select gender  from  students  where age >25 group by gender;

八. 視圖

將復雜的 SQL 查詢封裝成一個簡單的虛擬表,用戶只需查詢視圖即可獲取所需數據,無需重復編寫復雜的查詢語句。

8.1 創建視圖

語法:

create  view   視圖名字    as   查詢語句 

舉例:

create view v1 as select * from students  where stuid=5;
#創建一個查詢stuid為5的學生的視圖select * from v1;
#運行視圖,效果與執行代碼select * from students  where stuid=5;一樣

8.2 刪除視圖

語法:

drop view 視圖名稱

舉例:

drop view v1;

九. 函數

MySQL中的函數分為內置函數和自定義函數

系統內置函數參考網頁:

https://dev.mysql.com/doc/refman/8.0/en/sql-function-reference.html
https://dev.mysql.com/doc/refman/5.7/en/sql-function-reference.html

自定義函數

語法:

create   function   函數名字
執行語句
return 

舉例:

DELIMITER //
CREATE FUNCTION deleteById(id SMALLINT UNSIGNED) 
RETURNS VARCHAR(20)
DETERMINISTIC
MODIFIES SQL DATA
BEGINDELETE FROM students WHERE stuid = id;RETURN (SELECT COUNT(*) FROM students);
END//
DELIMITER ;函數作用:
接收一個無符號小整數類型的參數id
從students表中刪除stuid等于傳入id值的記錄
刪除操作完成后,計算并返回students表中剩余的記錄總數(作為VARCHAR(20)類型返回)

?

十. 存儲過程(了解)

存儲過程把經常使用的SQL語句或業務邏輯封裝起來,預編譯保存在數據庫中,當需要時從數據庫中直接調用,省去了編譯的過程,提高了運行速度,同時降低網絡數據傳輸量

存儲過程與自定義函數的區別

存儲過程實現的過程要復雜一些,而函數的針對性較強存儲過程可以有多個返回值,而自定義函數只有一個返回值存儲過程一般可獨立執行,而函數往往是作為其他SQL語句的一部分來使用無參數的存儲過程執行過程中可以不加(),函數必須加 ( )

十一. 用戶管理

11.1?新建用戶

create user '用戶名'@'源地址'   identified by '密碼';'用戶名'
指定將創建的用戶名'來源地址'
指定新創建的用戶可在哪些主機上登錄
可使用IP地址、網段、主機名的形式
本地用戶可用localhost
允許任意主機登錄可用通配符%'密碼'
若使用明文密碼,直接輸入'密碼',插入到數據庫時由Mysql自動加密;若使用加密密碼,需要先使用select password('密碼'); 獲取密文,再在語句中添加 password '密文';若省略“identified by”部分,則用戶的密碼將為空(不建議使用)

11.2?查看用戶信息

#創建后的用戶保存在 mysql 數據庫的 user 表里
use mysql;
select user,authentication_string,Host from user;

11.3?重命名用戶

rename user 'zhangsan'@'localhost' to 'lisi'@'localhost';

11.4 刪除用戶?

drop user 'lisi'@'localhost';

11.5?修改當前登錄用戶密碼

#修改當前用戶的密碼
set password = password('abc123');

11.6修改其他用戶密碼

#方式一
set password for 'user1'@'localhost' = PASSWORD('abc123');#方式二
alter user '用戶名'@'源地址' identified by '密碼';#例子
alter user 'root'@'%' indentified by 'abc123'

11.7 破解密碼

常用于忘記 root 密碼

方法一.?修改 mysql配置文件/etc/my.cnf?,不使用密碼直接登錄到 mysql

vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加,使登錄mysql不使用授權表
skip-networking ? #MySQL8.0不需要systemctl restart mysqldmysql								#直接登錄

方法二.?使用?update?修改 root 密碼,刷新數據庫

use mysql;update user set authentication_string=password('密碼') where user='root';FLUSH PRIVILEGES;
quitmysql -u root -pabc123#注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 刪除,并重啟 mysql 服務。

11.8 遠程登錄

mysql -utest -h要登陸的mysql服務IP   -p'密碼'  -P端口號

十二. 數據庫用戶授權

12.1 授予權限

GRANT語句:專門用來設置數據庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會創建新的用戶;當指定的用戶名存在時, GRANT 語句用于修改用戶信息。 ?

grant 權限列表 on 數據庫名.表名 to '用戶名'@'來源地址' [indentified by '密碼'];#權限列表:用于列出授權使用的各種數據庫操作,以逗號進行分隔,如“select,insert,update”。使用“all”表示所有權限,可授權執行任何操作。
#數據庫名.表名:用于指定授權操作的數據庫和表的名稱,其中可以使用通配符“*”。例如,使用“kgc.*”表示授權操作的對象為 kgc數據庫中的所有表。
#'用戶名@來源地址':用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接。
#來源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個區域或網段內的所有地址,如“%.byyb.com”、“192.168.80.%”等。
#IDENTIFIED BY:用于設置用戶連接數據庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。#舉例
GRANT ALL [PRIVILEGES] ON *.* TO 'lisi'@'%' IDENTIFIED BY '123456';
#允許用戶 lisi 在所有終端遠程連接 mysql ,并擁有所有權限。

?

12.2 查看權限

show grants for 用戶名@來源地址;#舉個例子
show grants for root;

12.3 撤銷權限

revoke 權限列表 on 數據庫名.表名 from 用戶名@來源地址;#例子
revoke all on *.* from zhou@"192.168.91.%";
#撤銷用戶"zhou"從192.168.91.x網段連接時對整個MySQL的所有權限。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84087.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84087.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84087.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡安全-等級保護(等保) 2-7-3 GB/T 25058—2019 第7章 安全設計與實施

############################################################################### 對于安全廠家而言&#xff0c;最關心的內容在本章節&#xff0c;根據已確定的安全總體方案&#xff0c;完成技術措施和管理措施的詳細設計和實施&#xff0c;包含具體的安全產品和管理要求。…

【Spring Boot】配置實戰指南:Properties與YML的深度對比與最佳實踐

目錄 1.前言 2.正文 2.1配置文件的格式 2.2properties 2.2.1基礎語法 2.2.2value讀取配置文件 2.2.3缺點 2.3yml 2.3.1基礎語法 2.3.2配置不同數據類型 2.3.3配置讀取 2.3.4配置對象和集合 2.3.5優缺點 2.4綜合練習&#xff1a;驗證碼案例 2.4.1分析需求 2.4.2…

20250519使用TF卡將NanoPi NEO core開發板刷機為Ubuntu core22.04.3系統完成之后執行poweroff自動關機

1、h3-sd-friendlycore-xenial-4.14-armhf-20210618.img.gz 在WIN10下使用7-ZIP解壓縮/ubuntu20.04下使用tar 2、Win32DiskImager.exe 寫如32GB的TF卡。【以管理員身份運行】 3、TF卡如果已經做過會有3個磁盤分區&#xff0c;可以使用SD Card Formatter/SDCardFormatterv5_WinE…

編譯Qt5.15.16并啟用pdf模塊

編譯Qt5.15.16并啟用pdf模塊 標題1.目錄設置 -q-bulid –qt-everywhere-src-5.15.16 –bulid cd bulid 必須&#xff0c;否則會提示Project ERROR: You cannot configure qt separately within a top-level build. create .qmake.stash and .qmake.super in build folder …

“智”斗秸稈焚燒,考拉悠然以科技之力筑牢生態安全防線

清晨&#xff0c;薄霧籠罩著遼闊的田野&#xff0c;農民們開始了一天的勞作。然而&#xff0c;隨著收割季的到來&#xff0c;秸稈焚燒問題也逐漸浮現&#xff0c;成為威脅空氣質量與生態安全的隱患。傳統監管方式往往顯得力不從心&#xff0c;效率低下的困境亟待突破。在此背景…

Nockchain項目部署教程

Nockchain頭礦窗口正在打開&#xff0c;不拼設備&#xff0c;現在部署&#xff0c;馬上就要開挖了。 一、項目介紹 Nockchain 是結合了POW和ZKVM的區塊鏈協議。 主要特點&#xff1a; 1&#xff09;計算存儲新域名空間三位一體架構&#xff0c;高吞吐量 2&#xff09;使用No…

2025年氣候持續大風,消納減少,如何保收益?東潤能源整體解決方案持續保收益保增長

引言 隨著全球氣候變化加劇,2025年極端天氣頻發,風資源豐富但電網消納能力不足的問題日益突出,導致許多風電項目面臨限電、收益下滑的挑戰。如何在復雜的氣候和電力市場環境下保障投資收益,成為行業關注的焦點。東潤能源憑借領先的技術創新和綜合能源解決方案,為風電行業…

2023河南CCPC省賽vp部分補題

A 模擬 暴力 對每個合法的前綴&#xff0c;判斷后綴是不是合法 int a[29]; void solve(){string s;cin>>s;int t-1;if(s.size()1){return cout<<"NaN"<<endl,void();}for(int i0;i<27;i) a[i]0;for(int i0;i<s.size();i){a[s[i]-a];if(…

【2025保姆級】Open-WebUI五大功能區首曝!第一篇:管理員面板深度拆解,手把手講解配置AI管理中樞

【2025保姆級】Open-WebUI五大功能區首曝&#xff01;第一篇&#xff1a;管理員面板深度拆解&#xff0c;手把手講解&配置AI管理中樞 一、引言二、用戶2.1 概述2.2 權限組 三、競技場評估四、函數五、設置5.1 通用5.1.1 身份驗證5.1.2 功能 5.2 外部連接5.2.1 OpenAI API5.…

docker上傳鏡像

向Docker Hub上傳鏡像&#xff0c;需要按照一定的步驟進行操作。 Docker Hub是Docker的官方鏡像倉庫&#xff0c;用戶可以在其中存儲、管理和部署Docker鏡像。要向Docker Hub上傳鏡像&#xff0c;請遵循以下步驟&#xff1a; 創建Docker Hub賬戶&#xff1a; 訪問Docker Hub官…

(十三)深入了解AVFoundation-采集:視頻幀采集與實時濾鏡處理

引言 在移動應用中&#xff0c;實時視頻處理已成為視頻拍攝、短視頻、直播、美顏相機等功能的核心技術之一。從簡單的濾鏡疊加&#xff0c;到復雜的美顏、AR 特效&#xff0c;背后都離不開對每一幀圖像的高效采集與處理。在前幾篇文章中&#xff0c;我們已經實現了基本的視頻采…

數字政務安全實戰:等保2.0框架下OA系統防護全解析

近期在Python基礎教學領域深入鉆研函數機制、數據結構優化等內容時&#xff0c;深刻意識到信息安全作為技術基石的戰略價值。在政務數字化轉型浪潮中&#xff0c;Python憑借其高擴展性與豐富的安全生態庫&#xff0c;成為構建政務OA系統安全防護體系的核心工具。本文將以等保2.…

Pytorch項目實戰-2:花卉分類

一、前言 在深度學習項目中&#xff0c;數據集的處理和模型的訓練、測試、預測是關鍵環節。本文將為小白詳細介紹從數據集搜集、清洗、劃分到模型訓練、測試、預測以及模型結構查看的全流程&#xff0c;附帶代碼和操作說明&#xff0c;讓你輕松上手&#xff01; 二、數據集 …

React Flow 邊事件處理實戰:鼠標事件、鍵盤操作及連接規則設置(附完整代碼)

本文為《React Agent&#xff1a;從零開始構建 AI 智能體》專欄系列文章。 專欄地址&#xff1a;https://blog.csdn.net/suiyingy/category_12933485.html。項目地址&#xff1a;https://gitee.com/fgai/react-agent&#xff08;含完整代碼示?例與實戰源&#xff09;。完整介紹…

java小結(一)

java&#xff08;上&#xff09; 模塊一 1.JDK,JRE,JVM 知識點 核心內容 易混淆點 JDK定義 Java Development Kit&#xff08;Java開發工具包&#xff09;&#xff0c;包含開發所需全部工具 JDK包含JRE的關系容易混淆 JRE定義 Java Runtime Environment&#xff08;Jav…

ddns-go安裝介紹-強大的ipv6動態域名解析神器-家庭云計算專家

ddns-go 是一款輕量級開源動態域名解析工具&#xff0c;專注于解決動態IP環境下的域名綁定問題&#xff0c;尤其適配IPv6網絡環境。其核心功能包括&#xff1a; 1.IPv6動態解析&#xff1a;自動檢測本地IPv6地址變化&#xff08;支持網卡、接口或命令獲取&#xff09;&#xf…

Docker-mongodb

拉取 MongoDB 鏡像: docker pull mongo 創建容器并設置用戶&#xff1a; 要掛載本地數據目錄&#xff0c;請替換此路徑: /Users/Allen/Env/AllenDocker/mongodb/data/db docker run -d --name local-mongodb \-e MONGO_INITDB_ROOT_USERNAMEadmin \-e MONGO_INITDB_ROOT_PA…

WooCommerce緩存教程 – 如何防止緩存破壞你的WooCommerce網站?

我們在以前的文章中探討過如何加快你的WordPress網站的速度&#xff0c;并研究過各種形式的緩存。 然而&#xff0c;像那些使用WooCommerce的動態電子商務網站&#xff0c;在讓緩存正常工作方面往往會面臨重大挑戰。 在本指南中&#xff0c;我們將告訴你如何為WooCommerce設置…

貪心算法 Part04

總結下重疊區間問題 LC 452. 用最少數量的箭引爆氣球 和 LC 435. 無重疊區間 本質上是一樣的。 LC 452. 用最少數量的箭引爆氣球 是求n個區間當中 &#xff0c; 區間的種類數量 k。此處可以理解為&#xff0c;重疊在一起的區間屬于同一品種&#xff0c;沒有重疊的區間當然…

云原生CD工具-Argocd+ArgoRollout入門到精通

第一章 Argo CD簡介 課時1.1 Argo產品介紹 ARGO官網地址:https://argoproj.github.io/ 旗下產品有: Argo Workflows、ArgoCD 、Argo Rollouts 、Argo Events 課時1.2 什么是Argo CD Argo CD 是一個開源的持續交付工具, 是 Kubernetes 的聲明式 GitOps 持續交付工具。專…