MySQL知識筆記

DATE_ADD(date,INTERVAL expr type)
date 參數是合法的日期表達式。expr 參數是您希望添加的時間間隔。多查官方手冊!!

命令行啟動和停止sql服務

net start ?數據庫名; ? ? ?這是啟動服務命令; 例如:net ?start ?Mysql56
net ?stop 數據庫名; ? ? ? 這是關閉服務命令; 例如:net stop ?Mysql56

修改root密碼

方法1: 用SET PASSWORD命令
打開命令行cmd,輸入mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
打開命令行cmd
mysqladmin -u root password "newpass"
如果root已經設置過密碼,采用如下方法
mysqladmin -u root password oldpass "newpass"

導入.sql文件命令:
mysql> SOURCE sql絕對路徑;

導入txt數據

LOAD DATA INFILE 'xxx.txt' into table 表名

字段分隔符:
FIELDS TERMINATED BY '/t' ENCLOSED BY '' ESCAPED BY '//'

行終止符:
LINES TERMINATED BY '/n' STARTING BY ''

1. mysql默認使用tab來分割每行的字段。

2.windows下換行符為"\r\n",而mysql在load data時默認使用"\n"來切割每行記錄

3.linux下換行符為"\n"

示例:

LOAD DATA INFILE?
'text.txt'?
into table text
FIELDS TERMINATED BY ',' ?# 字符之間的分隔符為‘,’
lines terminated by '\r\n' STARTING BY ''; # 每行之間的的分隔為換行符

創建一個數據庫
使用 create database 語句可完成對數據庫的創建, 創建命令的格式如下:

create database 數據庫名 [其他選項];

例如我們需要創建一個名為 samp_db 的數據庫, 在命令行下執行以下命令:

create database samp_db character set gbk;

為了便于在命令提示符下顯示中文, 在創建時通過 character set gbk 將數據庫字符編碼指定為 gbk。創建成功時會得到 Query OK, 1 row affected(0.02 sec) 的響應。

新建的數據庫保存在:C:\ProgramData\MySQL\MySQL Server 5.6\data

創建數據庫表
使用 create table 語句可完成對表的創建, create table 的常見形式:
create table 表名稱(列聲明);
以創建 students 表為例, 表中將存放 學號(id)、姓名(name)、性別(sex)、年齡(age)、聯系電話(tel) 這些內容:


create table students

id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);

對于一些較長的語句在命令提示符下可能容易輸錯, 因此我們可以通過任何文本編輯器將語句輸入好后保存為 createtable.sql 的文件中, 通過命令提示符下的文件重定向執行執行該腳本。
打開命令提示符, 輸入: mysql -D samp_db -u root -p < createtable.sql



(提示: 1.如果連接遠程主機請加上 -h 指令; 2. createtable.sql 文件若不在當前工作目錄下需指定文件的完整路徑。)

查看已創建數據庫

使用 show databases; 命令查看已經創建了哪些數據庫。

查看表

1. 使用 show tables; 命令可查看已創建了表的名稱; 2. 使用 describe 表名; 命令可查看已創建的表的詳細信息。

數據操作:

其實我們可以對數據進行的操作也就無非四種,即 CRUD。其中 C 代表添加(Create) ,R 代表查詢(Retrieve) ,U 代表更新(Update) ,D 代表刪除(Delete) 。

添加數據時用 insert,查詢數據時用 select,更新數據時用 update,刪除數據時用 delete。

將查詢結果插入新表

如果表存在:

INSERT INTO TableA(c1,c2,c3)
SELECT TableB.c1,TableB.c2,TableB.c3
FROM TableB;

或者insert into tab1 select * from tab2;?

如果表不存在:?

create table tab1 as select * from tab2;

向表中插入數據
insert 語句可以用來將一行或多行數據插到數據庫表中, 使用的一般形式如下:
insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);
其中 [] 內的內容是可選的

查詢表中的數據
select 語句常用來根據一定的查詢規則到數據庫中獲取數據, 其基本的用法為:
select 列名稱 from 表名稱 [查詢條件];
例如要查詢 students 表中所有學生的名字和年齡, 輸入語句 select name, age from students; 執行結果如下:
mysql> select name, age from students;
也可以使用通配符 * 查詢表中所有的內容, 語句: select * from students;

檢索不同的值:

使用DISTINCT關鍵字,只是數據庫只返回不用的值。如:

SELECT DISTINCT vend_id From Products;

DISTINCT關鍵字作用于所有的列,不僅僅是跟在其后的那一列。

限制結果:

LIMIT指定返回行數,OFFSET指定從第幾行開始(第一個被檢索的行是第0行)。如:

select prod_name from products limit 5 offset 3;

排序檢索數據:

使用ORDER BY [列]子句,以字母順序排序(默認為A~Z升序)數據,。注:ORDER BY 字句應是SELECT語句中最后一條子句。

select prod_name,prod_price,prod_id from products order by prod_price;

ORDER BY [列1],[列2]...當指定列明有多個時,將按多個列排序,排序按列的先后順序為主。如:

select prod_name,prod_price,prod_id from products order by prod_price,prod_name;

也可以按列的位置進行排序,如:

select prod_name,prod_price,prod_id from products order by 2,3;

選擇降序排列:

ORDER BY [列]+ DESC 如:

select prod_id,prod_name,prod_price from products order by prod_price DESC;

DESC關鍵字值應用到直接位于其前面的列名。

注:DESC是DESCENDING的縮寫,相對應的是ASC(ASCENDING),即升序排序,升序是默認的)

過濾數據

使用WHERE語句,如:

select vend_id, prod_name from products where vend_id <> 'DLL01';

注:!= 和 <> 通常可以互換;如果將值與字符串類型的列進行比較,就需要限定引號。

非空: XX is not null

范圍值檢查

使用BETWEEN操作符,連個值之間必須用AND關鍵字分隔,如:

select * from products where prod_price between 3 and 5;

空值檢查

用WHERE子句IS NULL,如:

select cust_name from customers where cust_email is null;

高級數據過濾

AND操作符,如:

select prod_id,prod_name,prod_price,vend_id from products where vend_id = 'DLL01' and prod_price<=4;

OR操作符,如:

select prod_name,prod_price from products where vend_id = 'DLL01' or vend_id = 'BRS01';

注:SQL在處理OR操作符前,優先處理AND操作符。為防止錯誤組合,應使用圓括號對操作符進行明確分組。

IN操作符,用來指定條件范圍,范圍中的每個條件都可以進行匹配。如:

select prod_name,prod_price from products where prod_price in (3.49,4.99,5.99);

IN最大的優點是可以包含其他SELECT語句,能夠更動態地建立WHERE子句。

NOT操作符,用于否定其后所跟的任何條件,如:

select prod_name,prod_price,vend_id from products where not vend_id in ('dll01','brs01');

用通配符進行過濾

LIKE操作符,為在搜索子句中使用通配符,必須使用LIKE操作符。

利用通配符,可以創建比較特定數據的搜索模式,通配符搜索只能用于文本字段(串),非文本數據類型字段不能使用通配符

%通配符,在搜索串中,%表示任何字符出現任意次數,%代表搜索模式中給定位置的0個、1個或者多個字符。如:

select prod_name,prod_price from products where prod_name like '%doll%';

如上,通配符可在任意位置使用,且可以使用多個通配符。

注:1、%不能匹配NULL。2、注意文本字段后面所跟的空格。

_通配符,用途與%一樣,但它只匹配單個字符,而不是多個

非空

is not null?


按特定條件查詢:
where 關鍵詞用于指定查詢條件, 用法形式為: select 列名稱 from 表名稱 where 條件;
mysql> select name, age from students;

更新表中的數據
update 語句可用來修改表中的數據, 基本的使用形式為:
update 表名稱 set 列名稱=新值 where 更新條件;

刪除表中的數據
delete 語句用于刪除表中的數據, 基本用法為:
delete from 表名稱 where 刪除條件;

alter table 語句

用于創建后對表的修改, 基礎用法如下:
添加列
基本形式: alter table 表名 add 列名 列數據類型 [after 插入位置];
示例:
在表的最后追加列 address: alter table students add address char(60);
在名為 age 的列后插入列 birthday: alter table students add birthday date after age;
修改列
基本形式: alter table 表名 change 列名稱 列新名稱 新數據類型;
示例:
將表 tel 列改名為 telphone: alter table students change tel telphone char(13) default "-";
將 name 列的數據類型改為 char(16): alter table students change name name char(16) not null;
刪除列
基本形式: alter table 表名 drop 列名稱;
示例:
刪除 birthday 列: alter table students drop birthday;
重命名表
基本形式: alter table 表名 rename 新表名;
示例:
重命名 students 表為 workmates: alter table students rename workmates;
刪除整張表
基本形式: drop table 表名;
示例: 刪除 workmates 表: drop table workmates;

刪除整個數據庫
基本形式: drop database 數據庫名;
示例: 刪除 samp_db 數據庫: drop database samp_db;

清空整張表

基本形式: TRUNCATE TABLE?表名;

示例: 清空 workmates 表: truncate table workmates;

獲取表信息的方法:

SHOW COLUMNS FROM XXX;
DESCRIBE XXX;

其中,SHOW COLUMNS可以添加where語句。

返回表中的列名:

select column_name from information_schema.columns where table_name='XXX';

統計數據

統計個數:select count(*) from 表名

統計某項個數:

四舍五入:

round()

某列求和:

sum()

字符串

字符串連接:

CONCAT函數,CONCAT函數支持一個或者多個參數,參數類型可以為字符串類型也可以是非字符串類型,對于非字符串類型的參數MYSQL將嘗試將其轉化為字符串類型,CONCAT函數會將所有參數按照參數的順序拼接成一個字符串做為返回值。

例:select CONCAT('123','456')

輸出123456

注:在Mysql中,使用“+”進行字符連接時,mysql會嘗試將字段值轉換為數字類型(如果轉換失敗,就當做數字0處理)。如’1abc’+’22′,mysql將“1abc”轉成數字1在進行運算;將“abc”當做0處理。?

分割:

SUBSTRING_INDEX(str,delim,count)

返回的子字符串str計數前出現的分隔符DELIM。如果計數是正的,左側的最后一個分隔符(從左邊算起)的一切被返回。如果計數為負,一切向右側的最后一個分隔符(計數從右側)將被返回。

例:SELECT SUBSTRING_INDEX('abc.efg', '.', 1);?

輸出abc

時間

MySQL 使用下列數據類型在數據庫中存儲日期或日期/時間值:

DATE - 格式 YYYY-MM-DD

DATETIME - 格式: YYYY-MM-DD HH:MM:SS

TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS

YEAR - 格式 YYYY 或 YY

當前時間:

NOW() 返回當前的日期和時間

CURDATE() 返回當前的日期

CURTIME() 返回當前的時間

例:SELECT NOW(),CURDATE(),CURTIME() ?#分別顯示當前完整時間,當前日期,具體時間

DATE() 提取日期或日期/時間表達式的日期部分

EXTRACT() 返回日期/時間按的單獨部分

DATE_ADD() 給日期添加指定的時間間隔

DATE_SUB() 從日期減去指定的時間間隔

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)
date 參數是合法的日期表達式。expr 參數是您希望添加的時間間隔。

type 參數可以是下列值:

Type 值
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

DATEDIFF() 返回兩個日期之間的天數

DATEDIFF(date1,date2)

date1?和?date2?參數是合法的日期或日期/時間表達式。

DATE_FORMAT() 用不同的格式顯示日期/時間

DATE_FORMAT(date,format)

date 參數是合法的日期。format 規定日期/時間的輸出格式。

可以使用的格式有:

格式描述
%a縮寫星期名
%b縮寫月名
%c月,數值
%D帶有英文前綴的月中的天
%d月的天,數值(00-31)
%e月的天,數值(0-31)
%f微秒
%H小時 (00-23)
%h小時 (01-12)
%I小時 (01-12)
%i分鐘,數值(00-59)
%j年的天 (001-366)
%k小時 (0-23)
%l小時 (1-12)
%M月名
%m月,數值(00-12)
%pAM 或 PM
%r時間,12-小時(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T時間, 24-小時 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,與 %X 使用
%v周 (01-53) 星期一是一周的第一天,與 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,與 %V 使用
%x年,其中的星期一是周的第一天,4 位,與 %v 使用
%Y年,4 位
%y年,2 位

WEEKDAY(date)?

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天):

select WEEKDAY('1997-10-04 22:23:00');
-> 5

聯結

SQL最強大的功能之一就是能在數據檢索查詢的執行中聯結表。而聯結表是基于關系表。為什么要用聯結表呢,將數據分解為多個表能夠更有效的存儲,更方便的處理,并且具有更大的可伸縮性。

連接類型

分為三種:交叉連接、內連接、外連接。

交叉連接 cross join

沒有where子句的交叉連接將產生連接表的笛卡爾積。

select * from R cross join S;

結果:和笛卡爾積一樣,如上圖。

select * from R cross join S where R.C = S.C;

內連接 ?

內連接分為三種:自然連接、等值連接、非等值連接。 ??

自然連接 natural join:在連接條件中使用等于=運算符比較被連接列的列值,但刪除連接表中重復列。 ? select * from R natural join S;

等值連接 :使用等于=比較連接列的列值,在查詢結果中列出接連表中的所有列,包括其中的重復列。
select * from R join S where R.C = S.C;或select * from R inner join S where R.C = S.C;
非等值連接 :在連接條件中,可以使用其他比較運算符,比較被連接列的列值,如:<、>、!=等。

外連接?

外連接分為三類:全外連接、左外連接、右外連接。 ??

左外連接 left join / left outer join ? select * from R left join S on R.C = S.C;

左外連接要遍歷左表的所有記錄,右表沒有的用null表示。
右外連接 right join / right outer join
select * from R right join S on R.C = S.C;

右外連接要遍歷右表所有的記錄,左表沒有的用null表示。
全外連接 full join / full outer join
select * from R full join S on R.C = S.C;

存儲過程(相當于函數)

我們常用的操作數據庫語言SQL語句在執行的時候需要要先編譯,然后執行,而存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給定參數(如果該存儲過程帶有參數)來調用執行它。

MySQL存儲過程的調用

用call和你過程名以及一個括號,括號里面根據需要,加入參數,參數包括輸入參數、輸出參數、輸入輸出參數。具體的調用方法可以參看上面的例子。

事務處理

一個事務是一個連續的一組數據庫操作,就好像它是一個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單獨的操作是成功的。如果在事務的任何操作失敗,則整個事務將失敗。

幾個術語:

事務(transaction)指一組sql語句;

start transaction;

回退(rollback)指撤銷指定SQL語句的過程;

rollback to 保留點;

提交(commit)指將未存儲的SQL語句結果寫入數據庫表;在進行顯示提交時,使用commit語句。

保留點(savepoint)指事務處理中設置的臨時占位符,可以對它發布回退;

例:

start transaction;
savepoint delete1;
delete from custcopy where cust_id = '1000000006';
commit;
rollback to delete1;

直接用set來改變mysql的自動提交模式
MYSQL默認是自動提交的,也就是你提交一個QUERY,它就直接執行!我們可以通過
set autocommit=0 ? 禁止自動提交
set autocommit=1 開啟自動提交
來實現事務的處理。
但注意當你用 set autocommit=0 的時候,你以后所有的SQL都將做為事務處理,直到你用commit確認或rollback結束,注意當你結束這個事務的同時也開啟了個新的事務!按第一種方法只將當前的作為一個事務!
個人推薦使用第一種方法!
MYSQL中只有INNODB和BDB類型的數據表才能支持事務處理!其他的類型是不支持的!(切記!)

游標

(一),認識游標(cursor)
就是一個可讀的標識,用來標識數據取到什么地方了。select 語句也許一次性會取出來n條語句,那么游標便可以一次取出來select中的一條記錄。每取出來一條,便向下移動一次!可以實現很復雜邏輯!

注:只能在存儲過程里面定義游標,否則將出現ERROR CODE1064錯誤。
(二),游標特性:1,只讀;2,不滾動;3,不敏感的
(三),使用游標
需要強調的是,游標必須在定義處理程序之前被定義,但變量必須在定義游標之前被定義,順序就是變量定義-游標定義-處理程序
1.定義游標
DECLARE cursor_name CURSOR FOR select_statement
這個語句聲明一個游標。也可以在子程序中定義多個游標,一個塊中的每一個游標必須命名唯一。聲明游標后也是單條操作的。
2. 游標OPEN
OPEN cursor_name
這個語句打開先前聲明的游標。
3. 游標FETCH
FETCH cursor_name INTO var_name [, var_name] ...
這個語句用指定的打開游標讀取下一行(如果有下一行的話),并且前進游標指針至該行。
4. 游標CLOSE
CLOSE cursor_name
這個語句關閉先前打開的游標,注意,用完后必須關閉。

例-將用戶名全部輸出,中間用分隔符隔開:

drop procedure if exists curdemo;
delimiter //
create procedure curdemo()
beginDECLARE done INT DEFAULT FALSE;declare tmpName varchar(20) default '' ;  declare allName varchar(255) default '' ;  declare custCursor cursor for select cust_name from customers where cust_email is null;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;	-- 設置游標的countinue handleropen custCursor;	   -- 打開游標fetch custCursor into tmpName;while (done = false) doset tmpName = concat(tmpName,";");set allName = concat(allName,tmpName);fetch custCursor into tmpName;end while;close custCursor;select allName;
end;//
delimiter ;
call curdemo();

DELIMITER 分隔符

DELIMITER是分割符的意思。一般用于存儲過程前聲明分隔符。

因為MySQL默認以";"為分隔符,如果我們沒有聲明分割符,那么編譯器會把存儲過程當成SQL語句進行處理,則存儲過程的編譯過程會報錯,所以要事先用DELIMITER關鍵字申明當前段分隔符,這樣MySQL才會將";"當做存儲過程中的代碼,不會執行這些代碼,用完了之后要把分隔符還原。

使用多重語句需要客戶端能發送包含語句定界符;的查詢字符串。這個符號在命令行客戶端被用delimiter命令來處理。改變查詢結尾定界符;(比如改變為//)使得; 可被用在子程序體中。?

總結起來就是因為存儲過程里包含很多含缺省界定符號“;”的語句,如果不重新定義界定符的話,就只能以“;”為界定符一句一句的發給Mysql服務端解析。

例:delimiter // -- 指定分隔符為//

查看當前數據庫的編碼格式:

?mysql>status;或者show variables like 'character%' ;

? 上面顯示server characterset : 數據庫服務器編碼格式
Db characterset : 數據庫編碼格式
Client characterset : 數據庫客戶端編碼格式
Conn. characterset : 數據庫連接編碼格式
設置編碼格式:

set names 'gb2312'
通過set命令只能夠設置Db、Client、Conn的編碼格式,在設置編碼格式過程中,如果不知道當前安裝的數據庫到底有多少種編碼格式那么可以通過show character set;命令顯示當前數據庫的所有編碼格式集合。如果想要修改server的編碼格式在我看來只能夠重裝數據庫了(目前還不了解如何去設置), 因為有些時候迫使你不得不去重新安裝數據庫。

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

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

相關文章

2025算法八股——深度學習——MHA MQA GQA

MHA、MQA、GQA 都是深度學習中注意力機制的相關概念&#xff0c;其中 MHA 是標準的多頭注意力機制&#xff0c;MQA 和 GQA 則是其優化變體&#xff0c;以下是它們的區別、優缺點介紹&#xff1a;區別MHA&#xff08;多頭注意力&#xff09;&#xff1a;是 Transformer 架構的核…

Vue3》》eslint Prettier husky

安裝必要的依賴 npm install -D eslint eslint/js vue/eslint-config-prettier prettier eslint-plugin-vue 初始化 ESLint 配置 npm init eslint/config// eslint.config.js // 針對 JavaScript 的 ESLint 配置和規則。保持 JavaScript 代碼的一致性和質量 import js from &qu…

Custom SRP - Point and Spot Lights

https://catlikecoding.com/unity/tutorials/custom-srp/point-and-spot-lights/Lights with Limited Influence1 Point Lights1.1 Other Light Data (Point )同方向光一樣,我們支持有限數量的 Other Light.盡管場景中可能有很多 Other Lights,可能有超過光源上限的光源時可見的…

hive數據倉庫的搭建

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄前言一、內嵌模式二、本地模式三、遠程模式前言 HIVE是基于HDFS的數據倉庫&#xff0c;要首先搭建好HADOOP的集群才可以正常使用HIVE&#xff0c;HADOOP集運搭建詳見…

域名SSL證書免費申請lcjmSSL

.-.lcjmSSL&#xff08;又名“來此加密”&#xff09;是一個提供免費SSL證書申請的一站式平臺。它支持單域名、多域名以及泛域名證書申請&#xff0c;且單張證書最高可覆蓋100個域名&#xff0c;讓您輕松實現全站HTTPS加密。為什么您的網站必須安裝SSL證書&#xff1f;數據加密…

“能量逆流泵”:一種基于電容陣與開關矩陣的超高效大功率降壓架構

摘要本文提出并驗證了一種面向大功率降壓應用的革命性電源架構——"能量逆流泵"&#xff08;Energy Inversion Pump, EIP&#xff09;。該架構摒棄了傳統Buck轉換器中的電感元件&#xff0c;通過高速開關矩陣控制的電容陣列&#xff0c;將高壓側能量以"分時、分…

打造精簡高效的 uni-app 網絡請求工具

在 uni-app 開發中&#xff0c;網絡請求是連接前端與后端的核心橋梁。一個設計良好的請求工具能夠顯著提升開發效率&#xff0c;減少重復代碼。本文將分享一個精簡版的 uni-app 網絡請求工具實現&#xff0c;它保留了核心功能同時保持了足夠的靈活性。設計思路一個優秀的網絡請…

【面試場景題】交易流水表高qps寫入會有鎖等待或死鎖問題嗎

文章目錄一、先明確交易流水表的核心特性二、InnoDB的鎖機制在流水表寫入場景的表現1. 行鎖&#xff08;Record Lock&#xff09;&#xff1a;基本不涉及2. 間隙鎖&#xff08;Gap Lock&#xff09;與Next-Key Lock&#xff1a;幾乎不觸發3. 表鎖&#xff1a;僅在極端場景出現三…

項目部署——LAMP、LNMP和LTMJ

前情提要問&#xff1a;如何通過nginx的反向代理&#xff0c;代理多臺虛擬主機&#xff08;一臺apache服務器上的虛擬主機&#xff09;&#xff1f;1.在nginx的配置文件中&#xff0c;將基于域名的訪問改為基于端口的訪問&#xff08;nginx.conf&#xff09;upstream daili{ser…

晨曦中,它已勞作:一臺有溫度的機器人如何重塑我們的潔凈日常

清晨六點&#xff0c;城市的輪廓在微光中逐漸清晰。某高端小區的路面上&#xff0c;一臺灰色機身、線條流暢的機器正在安靜地工作。它繞過停靠的車輛&#xff0c;精準地沿著路緣石前進&#xff0c;吸走落葉與塵土&#xff0c;遇到突然竄出的流浪貓時輕巧避讓&#xff0c;仿佛有…

【最新高級版】酷柚易汛生產管理系統v1.2.8 +uniapp全開源+文檔教程

酷柚易汛生產管理系統是基于FastAdminThinkPHPLayuiuniapp開發的生產管理系統&#xff0c;幫助企業數字化轉型&#xff0c;打造智能工廠&#xff0c;專業為生產企業量身開發的一套完整的生產管理系統。主要包含以下模塊&#xff1a;購貨模塊、生產模塊、倉庫模塊、資料模塊&…

40分鐘的Docker實戰攻略

一&#xff1a;什么是Docker &#xff08;1&#xff09;基本概念 Docker 是一種開源的 容器化平臺&#xff0c;用于快速構建、部署和運行應用程序。它通過將應用程序及其依賴項打包到輕量級的、可移植的容器中&#xff0c;實現了環境一致性&#xff0c;解決了“在我機器上能運…

qt使用camke時,采用vcpkg工具鏈設置OSG的qt模塊osgQOpenGLWidget

【免費】osgQOpenGLWidget嵌入qt模塊,VS2022使用cmake的方式,工具鏈vcpkg資源-CSDN下載 CMake中設置 1.查找osg相關的庫,同時也會設置對應include的路徑 # 檢查是否找到 osg find_package(OpenSceneGraph 3.6.5REQUIRED COMPONENTS osgosgUtilosgGAosgViewerosgDBosgAnimatio…

洛谷 P2245 星際導航(kruskal 重構樹 + 倍增優化求路徑最大邊權)

題目鏈接 題目難度 洛谷上是藍題&#xff0c;我覺得這道題挺簡單的&#xff0c;一眼就看穿了&#xff0c;應該是綠題。 題目解法概括 kruskal 重構樹 倍增優化求路徑最大邊權。 代碼 #include <iostream> #include <vector> #include <algorithm> #in…

STM32H743-ARM例程1-IDE環境搭建與調試下載

目錄實驗平臺環境搭建一、Keil MDK集成開發環境1.MDK簡介2.MDK5安裝3.程序下載與調試二、STM32CubeMX1.STM32CubeMX簡介2.JAVA JRE安裝3.STM32CubeMX安裝4.STM32CubeH7庫安裝實驗平臺 硬件&#xff1a;銀杏科技GT7000雙核心開發板-ARM-STM32H743XIH6&#xff0c;銀杏科技iTool…

FPGA學習篇——Verilog學習MUX的實現

PS&#xff1a;目前手上仍然沒有板子&#xff0c;按照野火視頻的講解&#xff0c;目前我們只能做到前面六步&#xff08;其實第一步設計規劃也是需要看板子的硬件的&#xff0c;但是現在沒有板子就完全與野火傳授的板子一致來看&#xff09; 首先我們以最簡單的2路選擇器MUX2_1…

OpenStack 學習筆記

OpenStack 1. 什么是 OpenStack 1.1 OpenStack 發展史 2006 年亞馬遜推出 AWS&#xff0c;正式開啟云計算的新紀元 2010 年 7 月美國國家航空航天局&#xff08;NASA&#xff09;與 Rackspace 合作&#xff0c;共同宣布 OpenStack 開放源碼計劃&#xff0c;由此開啟了屬于 Open…

mysql小數取整

1 向下取整 SELECT FLOOR(123.456); -- 結果: 1232 向上取整 SELECT CEIL(123.001); -- 結果: 1243 四舍五入 SELECT ROUND(123.456); -- 結果: 123 SELECT ROUND(123.556); -- 結果: 1244 截斷&#xff08;不四舍五入&#xff0c;直接截斷小數位&#xff09; SELECT …

Day43 PHP(mysql不同注入類型、mysql不同注入點、mysql傳輸不同數據類型 )

一、不同注入類型實際&#xff1a;我們未知sql是哪種類型&#xff0c;只能靠試/使用sql工具原理&#xff1a;閉合程序員寫的sql語句&#xff0c;并且執行我們所需要的sql語句&#xff0c;最后將閉合后多余的 用-- 或者#注釋掉。 總結一下就是先閉合&#xff0c;后注釋。共四種…

Linux應用開發(君正T23):三網智能切換及配網功能

前段時間接手了一個監控項目&#xff0c;其中甲方對于設備的要求有一條就是實現網口eth、WiFi、4G三種手段的聯網方式并且當某一個網絡不好的時候就去切換到下一個能用的網絡&#xff0c;讓監控設備持續不斷的有網絡&#xff0c;保證監控數據的上傳。這個部分的功能就交由我來實…