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'@'%';

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

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

相關文章

【NLP】15. NLP推理方法詳解 --- 動態規劃:序列標注,語法解析,共同指代

動態規劃 (Dynamic Programming) 動態規劃&#xff08;Dynamic Programming&#xff0c;簡稱 DP&#xff09;是一種通過將問題分解為較小子問題來優化計算效率的技術。它特別適用于優化最優解問題&#xff0c;比如序列標注&#xff08;sequence tagging&#xff09;這類任務。…

JavaScript中的NaN、undefined和null 的區別

NaN代表"Not a Number",它是一種特殊的數值,用于表示非數字值。當一個操作無法返回有效的數值時,通常會得到NaN作為結果。 let result = 10 / abc; console.log(result); // 輸出 NaN需要注意的是,NaN與自身不相等,我們無法通過簡單的比較操作符(如==或===)來…

Turtle事件處理(鍵盤與鼠標交互)

Turtle 提供了 事件驅動編程,允許我們使用 鍵盤 和 鼠標 控制 Turtle,從而實現交互式繪圖。例如,我們可以讓 Turtle 響應 按鍵、鼠標點擊 和 拖動 事件,使其根據用戶的輸入進行移動、旋轉或繪制圖形。 1. 事件機制概述 Turtle 的事件處理主要依賴 turtle.Screen() 提供的 …

【Keepalived】Keepalived-2.3.3明確結束對CentOS 7的支持

2025年3月30日&#xff0c;官方發布了Keepalived的最新版&#xff0c;版本號&#xff1a;2.3.3 而2024年11月3日發布的2.3.2版本&#xff0c;在CentOS 7.9上編譯的時候&#xff0c;就出現了報錯&#xff0c;但是在Alma Linux 8.10上&#xff0c;則可以成功編譯安裝&#xff0c…

PyTorch --torch.cat張量拼接原理

在 PyTorch 的 torch.cat 函數中&#xff0c;out 參數用于指定輸出張量的存儲位置。是否使用 out 參數直接影響結果的存儲方式和張量的內存行為。以下是詳細解釋&#xff1a; 不使用 out 參數&#xff08;默認行為&#xff09; 含義&#xff1a;不提供 out 參數時&#xff0c;…

人工智能之數學基礎:矩陣對角化的本質

本文重點 前面的課程中,我們學習了矩陣的對角化,基于對角化可以將矩陣A轉變為對角矩陣D,但是你有沒有想過,為什么要進行矩陣對角化,矩陣對角化究竟做了一件什么事情呢? 矩陣對角化的本質 幾何解釋: 從幾何變換的角度看,矩陣對角化意味著我們找到了一組基,使得線性變…

ubuntu的ubuntu--vg-ubuntu--lv磁盤擴容

在我們安裝ubuntu時&#xff0c;如果選擇的是自動分區&#xff0c;就會按照邏輯卷的形式來分區&#xff0c;并且只分配100G其余的并不會被分配&#xff0c;這對我們大多數情況來說都是不合理的&#xff0c;所以&#xff0c;如何擴充呢 下面以一個小的案例來說明如何擴充 問題…

Redis BitMap 實現簽到及連續簽到統計

一、引言 用戶簽到功能是很多應用都離不開的一個板塊&#xff0c;單詞打開、QQ達人等等為我們所熟知&#xff0c;這項功能該如何實現呢&#xff0c;一些朋友可能想當然的覺得無非將每日的簽到數據記錄下來不就好了&#xff0c;不會去細想用誰記錄&#xff0c;如何記錄才合適。 …

前端國際化-插件模式

文章目錄 Webpack 插件開發解析中文調用有道翻譯 API生成 JSON 語言文件React 國際化實現 Webpack 插件開發 創建 i18n-webpack-plugin.js 插件&#xff1a;在 src 目錄下掃描所有文件使用 babel-parser 解析 JavaScript/JSX 代碼識別中文文本通過有道翻譯 API 翻譯生成 local…

IP屬地和發作品的地址不一樣嗎

在當今這個數字化時代&#xff0c;互聯網已經成為人們日常生活不可或缺的一部分。隨著各大社交平臺功能的不斷完善&#xff0c;一個新功能——IP屬地顯示&#xff0c;逐漸走進大眾視野。這一功能在微博、抖音、快手等各大平臺上得到廣泛應用&#xff0c;旨在幫助公眾識別虛假信…

PP-ChatOCRv3新升級:多頁PDF信息抽取支持自定義提示詞工程,拓展大語言模型功能邊界

文本圖像信息抽取技術在自動化辦公、建筑工程、教育科研、金融風控、醫療健康等行業領域具有廣泛應用場景。2024年9月&#xff0c;飛槳低代碼開發工具PaddleX中新增文本圖像智能產線PP-ChatOCRv3&#xff0c;充分結合PaddleOCR的文本圖像版面解析能力和文心一言語言理解優勢&am…

算法刷題記錄——LeetCode篇(1.2) [第11~20題](持續更新)

更新時間&#xff1a;2025-03-29 LeetCode題解專欄&#xff1a;實戰算法解題 (專欄)技術博客總目錄&#xff1a;計算機技術系列目錄頁 優先整理熱門100及面試150&#xff0c;不定期持續更新&#xff0c;歡迎關注&#xff01; 17. 電話號碼的字母組合 給定一個僅包含數字 2-9…

如何在 vue 渲染百萬行數據,vxe-table 渲染百萬行數據性能對比,超大量百萬級表格渲染

vxe-table 渲染百萬行數據性能對比&#xff0c;超大量百萬級表格渲染&#xff1b;如何在 vue 渲染百萬行數據&#xff1b;當在開發項目時&#xff0c;遇到需要流暢支持百萬級數據的表格時&#xff0c; vxe-table 就可以非常合適了&#xff0c;不僅支持強大的功能&#xff0c;虛…

阿里 FunASR 開源中文語音識別大模型應用示例(準確率比faster-whisper高)

文章目錄 Github官網簡介模型安裝非流式應用示例流式應用示例 Github https://github.com/modelscope/FunASR 官網 https://www.funasr.com/#/ 簡介 FunASR是一個基礎語音識別工具包&#xff0c;提供多種功能&#xff0c;包括語音識別&#xff08;ASR&#xff09;、語音端…

如何使用 LLaMA-Factory 微調 LLaMA3

【LLaMa3微調】使用 LLaMA-Factory 微調LLaMA3 實驗環境 1.1 機器 操作系統&#xff1a;Windows 10 或 UbuntuPyTorch 版本&#xff1a;2.1.0Python 版本&#xff1a;3.10&#xff08;針對Ubuntu 22.04&#xff09;Cuda 版本&#xff1a;12.1GPU 配置&#xff1a;p100 (16GB) …

使用Java ApI 實現Hadoop文件上傳

目錄 文件傳輸步驟 windows的本機文件傳輸 linux的虛擬機文件傳輸 文件傳輸步驟 建立連接 在connect2HDFS()方法中&#xff0c;通過設置Configuration對象來指定HDFS的URI&#xff08;在這個例子中為hdfs://192.168.12.133:9000&#xff09;&#xff0c;并初始化一個FileSys…

喜訊 | 耘瞳科技視覺檢測與測量裝備榮膺“2024機器視覺創新產品TOP10”

3月28日&#xff0c;全球機器視覺行業盛會VisionChina2025&#xff08;上海&#xff09;機器視覺展完美收官。展會期間&#xff0c;由機器視覺產業聯盟&#xff08;CMVU&#xff09;舉辦的“2024機器視覺創新產品TOP10”企業名單正式揭曉&#xff0c;耘瞳科技“工業跨尺度場景實…

數據可視化(matplotlib)-------圖表樣式美化

目錄 一、圖表樣式概述 &#xff08;一&#xff09;、默認圖表樣式 &#xff08;二&#xff09;、圖表樣式修改 1、局部修改 2、全局修改 二、使用顏色 &#xff08;一&#xff09;、使用基礎顏色 1、單詞縮寫或單詞表示的顏色 2、十六進制/HTML模式表示的顏色 3、RGB…

202518 | Ngnix

Ngnix是什么 Nginx&#xff08;發音為“engine-x”&#xff09;是一個開源的高性能HTTP服務器、反向代理服務器、負載均衡器和郵件代理服務器。它由俄羅斯程序員Igor Sysoev開發&#xff0c;首次發布于2004年&#xff0c;旨在解決C10K問題&#xff08;即如何高效地處理10,000個…

WP Mail 郵件發送:WordPress Mail SMTP設置

在我們WordPress搭建個人網站完成后&#xff0c;讀者或者客戶發送的電子郵件&#xff0c;包括你的WPForms電子郵件通知&#xff0c;如果無法到達預定收件人收件箱&#xff0c;這會對我們網站的運營造成很大的影響&#xff0c;問題在于WordPress Mail SMTP的發送方式。 SMTP&am…