MySQL 基礎入門

寫在前面

關于MySQL的下載安裝和其圖形化軟件Navicat的下載安裝,網上已經有了很多的教程,這里就不再贅述了,本文主要是介紹了關于MySQL數據庫的基礎知識。

MySQL數據庫

MySQL數據庫基礎

MySQL數據庫概念

MySQL 數據庫: 是一個關系型數據庫管理系統

支持SQL語句的數據庫:

MySQL數據庫; SQL Server數據庫; Oracle數據庫; Sybase數據庫; DB2數據庫; PostgreSQL數據庫; 人大金倉數據庫(國產)。

MySQL數據庫的邏輯結構

在這里插入圖片描述

計算機數據容量計算方式

1、1PB = 1024TB

2、1TB = 1024GB

3、1GB = 1024MB

4、1MB = 1024KB

5、1KB = 1024B

6、1B = 8bits(比特)

PB:拍字節,TB:太字節,GB:千兆字節;MB:兆字節,KB:千字節,B:字節

MySQL數據庫的數據類型

整數類型 (bool、 int big int 浮點數類型 float double decimal 字符串類型 varchar text blob 日期類型 DateTime(年-月-日 時:分:秒) TimeStamp(時間戳) 其他數據類型 enum 等)

編寫SQL語句的順序,解釋器編譯SQL語句的順序

編寫SQL語句順序與解釋器編譯SQL語句順序(重點):

在這里插入圖片描述
如上圖所示,SQL語句的編寫順序為: Select distinct 字段名 from 表名 join 表名 on 連接條件 where 查詢條件 group by 分組字段 having 分組條件 order by 排序條件 limit 查詢位置 查詢條數

編譯器解釋SQL語句的順序為: from 表名 on 連接條件 join 表名 where 查詢條件 group by 分組字段 having 分組條件 Select distinct 字段名 order by 排序條件 limit 查詢位置 查詢條數

exists與in、內表與外表的區別

內表與外表的區別

  1. 建表默認就是內表,如:create table 指定表名;
  2. external就是外表,如:create table external 指定表名;
  3. 刪掉內表,HDFS(分布式文件系統)上的數據被刪掉了;
  4. 刪除外表,HDFS上的數據是存在的。

exists 與 in的區別

exists的效率比in查詢要高,因為in不走索引。

in適合于外表數據量大而內表數據小的情況;exists適合于外表小而內表大的情況。

數據庫常用命令

查看函數幫助的、查看警告的命令
  • 查看函數說明命令:help 函數名,如:help abs;----查看abs()函數幫助
  • 顯示數據庫警告的命令: show warnings
數據庫常用的函數
  • avg(expression):返回字段expression的平均值;
  • max(expression): 返回字段expression中的最大值;
  • min(expression):返回字段expression中的最小值;
  • sum(expression):返回字段expression的總和;
  • count(expression): 返回字段expression的行數;
  • replace(string, from_string, new_string)string:原始字符串;from_string:要替換的子字符串;new_string:新的替換子字符串;
  • group_concat(expression):用于將group by產生的同一個分組中的值連接起來,返回一個字符串結果
  • user():返回當前用戶名:select USER();
  • database(): 返回當前數據庫名:select DATABASE();
  • version():返回數據庫的版本號:select VERSION();
新建、選擇、刪除數據庫與新建、顯示、刪除表的命令
  • 新建數據庫命令create database 數據庫名 character set utf8 collate utf8_general_ci;

注意:character set設置編碼格式,collate校驗編碼格式

  • 選擇數據庫命令use 數據庫名;

  • 刪除數據庫命令drop database 數據庫名;

  • 新建表命令:create table 表名;

  • 顯示表命令show tables;

  • 刪除指定表的命令drop table 指定表名;

查看指定表的結構的命令
  • 查看表的字段與字段值命令describe 指定表名;
為指定表添加、修改、重命名、刪除字段的命令
  • 為指定表添加一個字段alter table 指定表名 add 字段名 字段類型;

  • 為指定表修改字段類型alter table 指定表名 modify 字段名 字段類型;

  • 重命名指定表的字段alter table 指定表名 change 原字段名 新字段名 字段類型;

  • 為指定表刪除字段alter table 指定表名 drop 字段名;

新建表并為表添加一條數據
  • 為指定表添加一條數據:insert into 指定表名(字段名1,字段名2,字段名3,字段名4)values(數據1,數據2,數據3,數據4);

使用MySQL語句的例子

自動插入錄入時間

--新建一個自動記錄時間的消息表
create table test_msg(   id int primary key auto_increment comment "主鍵",message longtext comment "消息",cre_time timestamp not null default current_timestamp comment "錄入時間")comment="記錄消息的表";-- 沒有輸入時間,會自動記錄插入數據時系統時間
insert into test_msg(message) values("這是一個重大的新聞");
查詢其他數據庫的表
--編寫一個查詢其他數據庫數據時數據的SQL語句
select from database_name.表名;-- 其中database_name不是當前選擇的數據庫
單表查詢(重點)
-- 新建學生表并插入相應的數據
create table student(
s_id int(10) primary key default 0 comment'用戶ID',
sname varchar(10) comment'用戶姓名',
sex varchar(1) comment'用戶性別',
age int(3) comment'用戶年齡',
s_time DateTime comment'記錄時間',
s_info longtext comment'用戶簡介'
)engine=InnoDB default charset=utf8;-- 查詢學生表中所有數據
select * from student;
select s_id,sname,sex,age,s_time,s_info from student;-- 查詢學生姓名為張浩的信息
select * from student where sname="張浩";
select * from student where sname in("張浩");-- 查詢學生姓名,重復的不要顯示
select distinct(sname) from student;-- 查詢年齡為20-40的學生信息
select * from student where age between 20 and 40;
select * from student where age>=20 and age<=40;-- 查詢以年齡進行(小到大,大到小)排序顯示學生信息
-- 小到大排序:
select * from student where age order by age asc;-- 大到小排序:
select * from student where age order by age desc;-- 查詢姓名以A開頭、以A結尾、包含A、A開頭并且后面跟一個字符的學生信息
-- A開頭:
select * from student where sname like'A%';-- A結尾:
select * from student where sname like'%A';-- 包含A:
select * from student where sname like'%A%';-- A開頭并且后面跟一個字符:
select * from student where sname like'A_';-- 查詢性別不為女的學生信息
select * from student where sex not in ('女');
select * from student where sex !='女';-- 查詢年齡是22、55歲的學生信息
select * from student where age in (22,55);
select * from student where age=22 or age=55;-- 查詢年齡由小到大,在第二到第五的所有學生信息
select * from student where age order by age desc limit 1,4;-- 查詢最新的學生信息
select * from student order by s_time desc limit 1;-- 查詢相同年齡等于2的人數,并顯示其姓名
select age as "年齡",count(age) as "人數",group_concat(sname) 
from student where age group by age having count(age)=2;-- 根據學生的年齡查詢顯示學生處于的年齡段
select * ,
case when t1.age between 0 and 18 then 'young'
when t1.age between 19 and 45 then 'middle'
else 'old' end as 'test_age' 
from student t1;-- 將李麗的年齡更新100歲
update student set sex='女',age="100" where s_id='97';-- 刪除李麗的數據
delete from student where sname="李麗";-- 清除學生表所有的數據
truncate table student;
笛卡爾積

連接查詢沒有建外鍵時會出現笛卡爾積如集合A={a,b}, 集合B={1,2} 兩個集合則為笛卡爾積 {(a,1),(a,2),(b,1),(b,2)}。

MySQL 的連接查詢

左連接查詢left join 表名 on 連接條件……-----左表全部保留,右表關聯不上用null表示;

右連接查詢right join 表名 on 連接條件……-----右表全部保留,左表關聯不上的用null表示;

內連接查詢inner join 表名 on- 連接條件join 表名 on 連接條件)……-----兩表關聯保留兩表中交集的記錄;

全連接查詢左連接+ union all +右連接-----兩表關聯查詢它們的所有記錄;

三表查詢(重點)

-- 創建員工表
create table employee(
id int primary key auto_increment,
name varchar(10) unique,
age int,
salary double,
check(salary>7000 and salary<=15000),
relation_department_name varchar(20));-- 創建部門表
create table department(
id int primary key auto_increment,
department_name varchar(20) unique,
department_person_num int);-- 創建項目表
create table project(
id int primary key auto_increment,
project_name varchar(20),
relation_department_name varchar(20));-- 1、要求-查詢姓名為張三的員工,所在部門的名稱、部門人數、關聯項目的數量、關聯項目的具體名稱select t1.name as "姓名", t2.department_name as "部門名", 
t2.department_person_num as "部門人數",count(t3.project_name) as "關聯項目個數",
group_concat(t3.project_name) as "關聯項目名稱"
from employee t1, department t2, project t3 
where t1.relation_department_name = t2.department_name 
and t2.department_name = t3.relation_department_name
and t1.name = "張三" group by t2.department_name,t2.department_person_num ;select t1.name as "姓名",t2.department_name as "部門名", t2.department_person_num as "部門人數",
count(t3.project_name) as "關聯項目個數",group_concat(t3.project_name) as "關聯項目名稱"
from employee t1 left join department t2 on t1.relation_department_name = t2.department_name 
left join project t3 on t2.department_name = t3.relation_department_name
where t2.department_name is not null
and t3.relation_department_name is not null
and t1.name = "張三" group by t2.department_name,t2.department_person_num ;-- 2、要求-查詢所有的員工,所在部門的人數與關聯的項目數,具體項目的名稱?select t1.name as "姓名",t2.department_person_num as "部門人數",
count(t3.project_name) as "關聯項目個數",group_concat(t3.project_name) as "關聯項目名稱"
from employee t1, department t2, project t3 
where t1.relation_department_name = t2.department_name 
and t2.department_name = t3.relation_department_name
group by t1.name,t2.department_person_num ;select t1.name as "姓名",t2.department_person_num as "部門人數",
count(t3.project_name) as "關聯項目個數",group_concat(t3.project_name) as "關聯項目名稱" 
from employee t1 left join department t2 on t1.relation_department_name = t2.department_name
left join project t3 on t2.department_name = t3.relation_department_name
where t2.department_name is not null
and t3.relation_department_name is not null
group by t1.name,t2.department_person_num ;-- 3、要求-查詢出每個人工程師所在的部門、薪資、負責項目名稱select t1.name as "姓名",t2.department_name as "部門名",t1.salary as "薪資",
group_concat(t3.project_name) as "關聯項目名稱"
from employee t1, department t2, project t3 
where t1.relation_department_name = t2.department_name 
and t2.department_name = t3.relation_department_name
group by t1.name,t1.salary;select t1.name as "姓名",t2.department_name as "部門名",t1.salary as "薪資",
group_concat(t3.project_name) as "關聯項目名稱"
from employee t1 left join department t2 on t1.relation_department_name = t2.department_name
left join project t3 on t2.department_name = t3.relation_department_name
where t2.department_name is not null
and t3.relation_department_name is not null
group by t1.name,t1.salary;-- 4、要求-查詢出每個人工程師所在的部門、薪資、負責項目名稱,并增加一個工資階段財富類型字段select t1.name as "姓名",t2.department_name as "部門名",t1.salary as "薪資",
group_concat(t3.project_name) as "關聯項目名稱",case when t1.salary between 0 and 4000 then "低收入"
when t1.salary between 4001 and 8000 then "中收入"
else "高收入" end as "財富類型"from employee t1, department t2, project t3 
where t1.relation_department_name = t2.department_name 
and t2.department_name = t3.relation_department_name
group by t1.name,t1.salary;select t1.name as "姓名",t2.department_name as "部門名",t1.salary as "薪資",
group_concat(t3.project_name) as "關聯項目名稱" ,case when t1.salary between 0 and 4000 then "低收入"
when t1.salary between 4001 and 8000 then "中收入"
else "高收入" end as "財富類型"from employee t1 left join department t2 on t1.relation_department_name = t2.department_name
left join project t3 on t2.department_name = t3.relation_department_name
where t2.department_name is not null
and t3.relation_department_name is not null
group by t1.name,t1.salary;-- 5、要求-查詢項目中學生管理系統最高薪資的工程師姓名、所在項目、薪資select t1.name as "姓名",t3.project_name as "項目名",t1.salary as "薪資"
from employee t1, department t2, project t3 
where t1.relation_department_name = t2.department_name 
and t2.department_name = t3.relation_department_name
and t3.project_name = "學生管理系統"
order by t1.salary desc limit 1;select t1.name as "姓名",t3.project_name as "項目名",t1.salary as "薪資"
from employee t1 left join department t2 on t1.relation_department_name = t2.department_name 
left join project t3 on t2.department_name = t3.relation_department_name
where t2.department_name is not null
and t3.relation_department_name is not null
and t3.project_name = "學生管理系統"
order by t1.salary desc limit 1;

MySQL視圖

什么是視圖

MySQL數據庫視圖:視圖(View)是一種虛擬存在的表。

視圖的特點

  • 視圖的列可以來自不同的表,是表的抽象和在邏輯意義上建立的新關系
  • 視圖是由基本表(實表)產生的表(虛表)
  • 視圖的建立和刪除不影響基本表
  • 對視圖內容的更新(增刪改)直接影響基本表
  • 當視圖來自多個基本表時,不允許添加、刪除、更新數據。

視圖的優缺點

優點:

1、安全:一些數據表有著重要的信息,有些字段是保密的,不能讓用戶直接看到;

2、性能:視圖建立在服務器上,直接調用在服務器上運行,可以提高性能;

3、靈活:建立一張視圖,視圖中的數據直接映射到新建的表,這樣,就可以少做很多改動,也達到了升級數據表的目的。

缺點:如果實際數據表的結構變更了,就需要及時對相關的視圖進行相應的維護。

視圖相關的SQL語句

  • 聲明視圖create view 視圖名 as SQL查詢語句;
  • 查看視圖show tables;
  • 刪除視圖drop view 視圖名;

MySQL存儲過程

什么是存儲過程

存儲過程:是一組為了完成特定功能的SQL語句集合。

存儲過程的優缺點

優點:

  1. 封裝性:封裝成一個沒有返回值函數;
  2. 可增強SQL語句的功能和靈活性:針對特定的功能編寫存儲過程;
  3. 高性能:存儲過程編寫成功后,就存儲在數據庫服務器中,以后客戶端可以直接調用,從而提高性能;
  4. 提高數據庫的安全性:存儲過程作為接口提供給外部程序,外部程序無法直接操作數據庫表,可以提高數據安全性。

缺點: DBMS(DBMS是數據庫管理系統)中的存儲過程語法有所不同,所以可移植性差。

存儲過程的語法

create procedure 存儲過程名(in 參數名 參數類型,out 參數名 參數類型)  
-- in:表示輸入,out:表示輸出
begin
-- 實現功能的SQL語句(一般是查詢語句的封裝);
end;-- 調用存儲過程:
call 存儲過程名();-- 刪除存儲過程:
drop procedure 存儲過程名;
-- 例子如下:-- 新建存儲過程test_add:create procedure test_add(in a int,in b int,out c int)
begin
set c=a+b;
end-- 調用存儲過程:
call test_add(2,3,@a);-- 查看輸出
select @a;-- 刪除存儲過程:
drop procedure test_add;

MySQL 數據庫導入導出

將表導出:

-- 將表test_csv導出到指定路徑下面,導成csv類型文件select id,name from test_csvinto outfile 'D:/test_as/test(utf8).csv'character set utf8fields terminated by ',';-- 導入前可以先查看導入的路徑:show variables like 'secure_file_priv';-- 將into outfile 'D:/test_as/test(utf8).csv'中路徑改為對應路徑-- character set utf8 表示字符編碼為utf-8-- fields terminated by ','; 表明數據與數據直接用','分隔開

將表導入:

load data local infile 'D:/test_as/test(utf8).csv'into table test_csvcharacter set utf8fields terminated by ',';-- 將infile 'D:/test_as/test(utf8).csv'中路徑改為對應路徑-- character set utf8 表示字符編碼為utf-8-- fields terminated by ','; 表明數據與數據直接用','分隔開

數據庫整體導入導出(以Navicat為例):

  • 導出:右鍵數據庫,選擇“存儲SQL文件”,選擇對應的存儲位置;
  • 導入:連接中新建數據,選中新建數據庫右鍵“運行SQL文件”

MySQL 中事務的基本使用

事務概念:是一個操作序列,不可分割的工作單位,這些操作要么都執行,要么都不執行。

事務的語法:

1、beginstart transaction:顯式地開啟一個事務;

2、commitcommit work:提交事務,對數據庫進行的修改是永久性的;

3、rollbackrollback work:回滾結束用戶事務,并撤銷正在進行的所有未提交的修改事務;

4、savepoint S1:在事務中創建一個回滾點(savepoint),一個事務中可以有多個回滾點,S1代表回滾點名稱;

5、rollback to [savepoint] S1:把事務回滾到標記點,S1代表回滾點名稱。

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

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

相關文章

Qt中的多種輸出方式,信號與槽的基本使用

完成Hello World可以通過很多控件實現 如采用編輯框來完成hello world 編輯框分為單行編輯框----QLineEdit 和多行編輯框---QTextEdit 采用單行編輯框&#xff0c;創建項目后&#xff0c;展開forms文件夾&#xff0c;雙擊ui文件進入 qt designer設計頁面 找到line edit 拖到頁…

英語表達年代和世紀

英語表達年代和世紀 1. Century (世紀)1.1. Start and end of centuries 2. Decade (年代)2.1. Usage 3. 英語表達年代和世紀4. HomeworkReferences XXX0 年代指 XXX0 年 - XXX9 年的連續 10 年&#xff0c;例如 1760 年代指 1760 年至 1769 年這連續 10 年。 XX 世紀 X0 年代…

MySQL數據庫管理5

23.事務 1&#xff09;事務&#xff1a;可以認為是做一件事情 需要多個SQL 要么同時成功 要么同時失敗 需求&#xff1a;銀行轉賬update 你的賬戶 把你的錢減少update 你朋友的賬戶 把他的錢增多?這兩個SQL不能只成功一個 要么都成功 要么都失敗那么 我們就需要用到事務了 它…

閉包和裝飾器

什么是閉包 閉包&#xff08;Closure&#xff09;是 Python 中一個非常重要的概念&#xff0c;它是一種特殊的函數對象&#xff0c;通常用于封裝和延遲計算某些值。以下是閉包的詳細定義和解釋&#xff1a; 1.閉包的定義 閉包是指一個函數對象&#xff0c;它不僅包含函數的代…

notepad++8.6.4安裝及細節

notepad8.6.4下載安裝&#xff08;附安裝包&#xff09; 一、安裝包下載1.1方法一&#xff1a;官網下載&#xff08;點擊跳轉&#xff09;1.2方法二&#xff1a;網盤鏈接分享8.6.4版本 二、安裝過程細節2.1這里的組件建議全部勾選。點擊“下一步”。2.2 勾選①&#xff1a;可以…

COZE通關指南:工作流與插件開發

前言 本文隸屬于專欄《AI Agent 通關指南》,該專欄為筆者原創,引用請注明來源,不足和錯誤之處請在評論區幫忙指出,謝謝! 本專欄目錄結構和參考文獻請見《AI Agent 通關指南》 正文 1. 平臺基礎介紹 ?? 1.1 COZE平臺概述 COZE平臺(coze.cn)是一個強大的AI應用開發平臺…

【Block總結】ENLTransformerBlock,高效非局部變換器塊|即插即用

1. 論文信息 標題: Perspective+ Unet: Enhancing Segmentation with Bi-Path Fusion and Efficient Non-Local Attention for Superior Receptive Fields論文地址: arXiv:2406.14052 2. 創新點 雙路徑編碼策略: 在編碼器階段引入雙路徑策略,結合傳統卷積和空洞卷積的結果,平…

【爬蟲】網易云音樂評論數據爬取

文章目錄 &#x1f356; 前言&#x1f3b6;一、抓取要求?二、代碼展示&#x1f3c0;三、運行結果&#x1f3c6;四、知識點提示 &#x1f356; 前言 【爬蟲】網易云音樂歌詞/評論數據爬取 &#x1f3b6;一、抓取要求 描述: 輸入歌曲的id&#xff0c;獲取對應歌曲的用戶評論信…

C++使用Qt Charts創建數據可視化圖表

Qt Charts 是一個強大的工具&#xff0c;用于創建直觀的數據可視化圖表。本文將通過一個具體的示例&#xff0c;展示如何使用 Qt Charts 創建一個包含多條數據序列、自定義坐標軸和隨機數據生成的圖表。 示例代碼解析 以下是一個完整的示例代碼&#xff0c;展示如何使用 Qt Ch…

TCP/IP五層協議

目錄 1. 五層模型結構 2. 各層核心功能與協議 (1) 應用層&#xff08;Application Layer&#xff09; (2) 傳輸層&#xff08;Transport Layer&#xff09; (3) 網絡層&#xff08;Network Layer&#xff09; (4) 數據鏈路層&#xff08;Data Link Layer&#xff09; (5…

【最新版】金媒婚戀系統v10.5最新穩定開源+原生前端小程序 PC端+安裝教程

一.系統簡介 1. 紅娘服務 紅娘服務模塊是該系統的一大特色。專業紅娘會通過分析用戶的個人資料和偏好&#xff0c; 為用戶提供精準的配對建議和個性化服務。用戶可以預約紅娘服務&#xff0c;通過紅娘的介入&#xff0c;提升配對成功率。 2. 相親活動 相親活動模塊用于組織和管…

吳恩達深度學習復盤(5)神經網絡的前向傳播TesorFlow與NumPy實現比對

數據結構差別 NumPy 和 TensorFlow 在數據表示上的差異展開&#xff0c;結合神經網絡實踐中的常見問題進行說明。以下是詳細解析&#xff1a; 一、簡介 數據表示的歷史背景 NumPy 是 Python 科學計算的基礎庫&#xff0c;早期設計為處理多維數組TensorFlow 由 Google Brain 團…

多元高斯分布函數

1、 n n n元向量 假設 n n n元隨機變量 X X X X [ X 1 , X 2 , ? , X i , ? , X n ] T μ [ μ 1 , μ 2 , ? , μ i , ? , μ n ] T σ [ σ 1 , σ 2 , ? , σ i , ? , σ n ] T X i ~ N ( μ i , σ i 2 ) \begin{split} X&[X_1,X_2,\cdots,X_i,\cdots ,X_n…

洞察 Linux 進程管理

一、進程和線程的概念 1.進程 &#xff08;1&#xff09;概念 進程是程序在操作系統中的一次執行過程&#xff0c;是系統進行資源分配和調度的基本單位。進程是程序的執行實例&#xff0c;擁有獨立的資源&#xff08;如內存、文件描述符等&#xff09;。每個進程在創建時會被…

PyTorch 實現圖像版多頭注意力(Multi-Head Attention)和自注意力(Self-Attention)

本文提供一個適用于圖像輸入的多頭注意力機制&#xff08;Multi-Head Attention&#xff09;PyTorch 實現&#xff0c;適用于 ViT、MAE 等視覺 Transformer 中的注意力計算。 模塊說明 輸入支持圖像格式 (B, C, H, W)內部轉換為序列 (B, N, C)&#xff0c;其中 N H * W多頭注…

每日一題(小白)字符串娛樂篇16

分析題意可以了解到本題要求在一串字符串中找到所有組合起來排序遞增的字符串。我們可以默認所有字符在字符串中的上升序列是1&#xff0c;從第一個字符開始找&#xff0c;如果后面的字符大于前面的字符就說明這是一個上序列那么后面字符所在的數組加一&#xff0c;如果連接不上…

Ubuntu 22 Linux上部署DeepSeek R1保姆式操作詳解(Xinference方式)

一、安裝步驟 1.基礎環境安裝 安裝顯卡驅動、cuda&#xff0c;根據自己硬件情況查找相應編號&#xff0c;本篇不介紹這部分內容&#xff0c;只給出參考指令&#xff0c;詳情請讀者自行查閱互聯網其它參考資料。 sudo apt install nvidia-utils-565-server sudo apt install…

Immutable.js 完全指南:不可變數據的藝術與實踐

引言 在現代前端開發中&#xff0c;狀態管理是一個核心挑戰。隨著應用復雜度增加&#xff0c;如何高效、安全地管理應用狀態變得至關重要。Immutable.js 是 Facebook 推出的一個 JavaScript 庫&#xff0c;它提供了持久化不可變數據結構&#xff0c;可以幫助開發者更好地管理應…

字符串數據類型的基本運算

任務描述 本關任務&#xff1a;從后臺輸入任意三個字符串&#xff0c;求最大的字符串。 相關知識 字符串本身是存放在一塊連續的內存空間中&#xff0c;并以’\0’作為字符串的結束標記。 字符指針變量本身是一個變量&#xff0c;用于存放字符串的第 1 個字符的地址。 字符數…

Ubuntu 22.04 一鍵部署openManus

openManus 前言 OpenManus-RL,這是一個專注于基于強化學習(RL,例如 GRPO)的方法來優化大語言模型(LLM)智能體的開源項目,由來自UIUC 和 OpenManus 的研究人員合作開發。 前提要求 安裝deepseek docker方式安裝 ,windows 方式安裝,Linux安裝方式