MySQL學習筆記(四)——DML和DQL

目錄

1.?DML

1.1 添加數據

1.1.1 給指定字段添加數據

1.1.2 給全部字段添加數據

1.1.3?批量添加數據

1.2 修改數據

1.3 刪除數據

2. DQL

2.1 基本語法

2.2 基礎查詢

2.2.1 查詢多個字段

2.2.2 字段設置別名

2.2.3 去除重復記錄

2.3 條件查詢

2.4 聚合函數

2.5 分組查詢

2.6?排序查詢

2.7 分頁查詢

2.8 案例

2.9 執行順序

3. DCL

3.1 管理用戶

3.2 權限控制


1.?DML

DML 英文全稱是 Data Manipulation Language( 數據操作語言 ) ,用來對數據庫中表的數據記錄進行增、刪、改操作。
  • 添加數據(INSERT
  • 修改數據(UPDATE
  • 刪除數據(DELETE

1.1 添加數據

1.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');
插入數據完成之后,我們有兩種方式,查詢數據庫的數據:
  • A. 方式一
    • 在左側的表名上雙擊,就可以查看這張表的數據。
  • B. 方式二
    • 可以直接一條查詢數據的SQL語句, 語句如下:
    • select * from employee;

案例:

  • employee表所有的字段添加數據

執行如下 SQL ,添加的年齡字段值為 -1
insert into employee(id,workno,name,gender,age,idcard,entrydate)
values(1,'1','Itcast','男',-1,'123456789012345678','2000-01-01');
執行上述的 SQL 語句時,報錯了,具體的錯誤信息如下:
因為 employee 表的 age 字段類型為 tinyint ,而且還是無符號的 unsigned ,所以取值只能在 0-255 之間。

1.1.2 給全部字段添加數據

INSERT INTO 表名 VALUES (值1, 值2, ...);
案例:
  • 插入數據到employee表,具體的SQL如下:
insert into employee values(2,'2','張無忌','男',18,'123456789012345670','2005-01-
01');

1.1.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');
注意事項:
  • 插入數據時,指定的字段順序需要與值的順序是一一對應的。
  • 字符串和日期型數據應該包含在引號中。
  • 插入的數據大小,應該在字段的規定范圍內。

1.2 修改數據

修改數據的具體語法為 :
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 條件 ] ;
案例 :
  • A. 修改id1的數據,將name修改為itheima
update employee set name = 'itheima' where id = 1;
  • B. 修改id1的數據, name修改為小昭, gender修改為 女
update employee set name = '小昭' , gender = '女' where id = 1;
  • C. 將所有的員工入職日期修改為 2008-01-01
update employee set entrydate = '2008-01-01';
注意事項:
  • 修改語句的條件可以有,也可以沒有,如果沒有條件,則會修改整張表的所有數據。

1.3 刪除數據

刪除數據的具體語法為:
DELETE FROM 表名 [ WHERE 條件 ] ;
案例 :
  • A. 刪除gender為女的員工
delete from employee where gender = '女';
  • B. 刪除所有員工
delete from employee; 
注意事項:
  • DELETE 語句的條件可以有,也可以沒有,如果沒有條件,則會刪除整張表的所有數據。
  • DELETE 語句不能刪除某一個字段的值(可以使用UPDATE,將該字段值置為NULL即可)。
  • 當進行刪除全部數據操作時,datagrip會提示我們,詢問是否確認刪除,我們直接點擊執行?即可。

2. DQL

DQL 英文全稱是 Data Query Language( 數據查詢語言 ) ,數據查詢語言,用來查詢數據庫中表的記錄。
查詢關鍵字 :
  • SELECT
在一個正常的業務系統中,查詢操作的頻次是要遠高于增刪改的,當我們去訪問企業官網、電商網站,在這些網站中我們所看到的數據,實際都是需要從數據庫中查詢并展示的。而且在查詢的過程中,可能還會涉及到條件、排序、分頁等操作。
那么,本小節我們主要學習的就是如何進行數據的查詢操作。 我們先來完成如下數據準備工作 :
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', '柳巖666', '女', 20, '123456789012345678', '北京', '2000-01-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (2, '00002', '張無忌', '男', 18, '123456789012345670', '北京', '2005-09-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (3, '00003', '韋一笑', '男', 38, '123456789712345670', '上海', '2005-08-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (4, '00004', '趙敏', '女', 18, '123456757123845670', '北京', '2009-12-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (5, '00005', '小昭', '女', 16, '123456769012345678', '上海', '2007-07-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (6, '00006', '楊逍', '男', 28, '12345678931234567X', '北京', '2006-01-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (7, '00007', '范瑤', '男', 40, '123456789212345670', '北京', '2005-05-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (8, '00008', '黛綺絲', '女', 38, '123456157123645670', '天津', '2015-05-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (9, '00009', '范涼涼', '女', 45, '123156789012345678', '北京', '2010-04-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (10, '00010', '陳友諒', '男', 53, '123456789012345670', '上海', '2011-01-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (11, '00011', '張士誠', '男', 55, '123567897123465670', '江蘇', '2015-05-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (12, '00012', '常遇春', '男', 32, '123446757152345670', '北京', '2004-02-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (13, '00013', '張三豐', '男', 88, '123656789012345678', '江蘇', '2020-11-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (14, '00014', '滅絕', '女', 65, '123456719012345670', '西安', '2019-05-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (15, '00015', '胡青牛', '男', 70, '12345674971234567X', '西安', '2018-04-01');
insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (16, '00016', '周芷若', '女', 18, null, '北京', '2012-06-01');
準備完畢后,我們就可以看到 emp 表中準備的 16 條數據。接下來,我們再來完成 DQL 語法的學習。

2.1 基本語法

DQL 查詢語句,語法結構如下:
SELECT
字段列表
FROM
表名列表
WHERE
條件列表
GROUP BY
分組字段列表
HAVING
分組后條件列表
ORDER BY
排序字段列表
LIMIT
分頁參數
我們在講解這部分內容的時候,會將上面的完整語法進行拆分,分為以下幾個部分:
  • 基本查詢(不帶任何條件)
  • 條件查詢(WHERE
  • 聚合函數(countmaxminavgsum
  • 分組查詢(group by
  • 排序查詢(order by
  • 分頁查詢(limit

2.2 基礎查詢

2.2.1 查詢多個字段

在基本查詢的 DQL 語句中,不帶任何的查詢條件,查詢的語法如下:
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ; 
SELECT * FROM 表名 ;
注意 :
  • * 號代表查詢所有字段,在實際開發中盡量少用(不直觀、影響效率)。

2.2.2 字段設置別名

SELECT 字段1 [ AS 別名1 ] , 字段2 [ AS 別名2 ] ... FROM 表名; 
SELECT 字段1 [ 別名1 ] , 字段2 [ 別名2 ] ... FROM 表名;

2.2.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; 
select * from emp;
  • C. 查詢所有員工的工作地址,起別名
select workaddress as '工作地址' from emp;
-- as可以省略
select workaddress '工作地址' from emp;
  • D. 查詢公司員工的上班地址有哪些(不要重復)
select distinct workaddress '工作地址' from emp;

2.3 條件查詢

1). 語法
SELECT 字段列表 FROM 表名 WHERE 條件列表 ; 
2). 條件
常用的比較運算符如下 :
比較運算符
功能
>
大于
>=
大于等于
<
小于
<=
小于等于
=
等于
<> !=
不等于
BETWEEN ... AND ...
在某個范圍之內 ( 含最小、最大值 )
IN(...)
in之后的列表中的值,多選一
LIKE 占位符
模糊匹配(_匹配單個字符, %匹配任意個字符)
IS NULL
NULL
常用的邏輯運算符如下 :
邏輯運算符
功能
AND &&
并且 (多個條件同時成立)
OR ||
或者 (多個條件任意一個成立)
NOT !
, 不是
案例 :
  • 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';

2.4 聚合函數

1). 介紹
將一列數據作為一個整體,進行縱向計算 。
2). 常見的聚合函數
函數
功能
count
統計數量
max
最大值
min
最小值
avg
平均值
sum
求和
3). 語法
SELECT 聚合函數(字段列表) FROM 表名 ;
注意 :
  • NULL值是不參與所有聚合函數運算的。
案例:
  • A. 統計該企業員工數量
select count(*) from emp; -- 統計的是總記錄數
select count(idcard) from emp; -- 統計的是idcard字段不為null的記錄數
對于 count 聚合函數,統計符合條件的總記錄數,還可以通過 count( 數字 / 字符串 ) 的形式進行統計查詢,比如:
select count(1) from emp;
對于count(*) 、count(字段)、 count(1) 的具體原理,我們在進階篇中SQL優化部分會詳細講解,此處大家只需要知道如何使用即可。
  • 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 = '西安';

2.5 分組查詢

1). 語法
SELECT 字段列表 FROM 表名 [ WHERE 條件 ] GROUP BY 分組字段名 [ HAVING 分組后過濾條件 ];
2). where having 區別
  • 執行時機不同:
    • where是分組之前進行過濾,不滿足where條件,不參與分組;
    • having是分組之后對結果進行過濾。
  • 判斷條件不同:
    • where不能對聚合函數進行判斷,而having可以。
注意事項:
  • 分組之后,查詢的字段一般為聚合函數和分組字段,查詢其他字段無任何意義。
  • 執行順序: where > 聚合函數 > having 。
  • 支持多字段分組, 具體語法為 : group by columnA,columnB
案例 :
  • 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(*) as address_count from emp while age < 45 group by workaddress having address_count >= 3 ; 
  • D. 統計各個工作地址上班的男性及女性員工的數量
select workaddress, gender, count(*) as '數量' from emp group by gender, workaddress;

2.6?排序查詢

排序在日常開發中是非常常見的一個操作,有升序排序,也有降序排序。
1). 語法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ; 
2). 排序方式
  • ASC : 升序(默認值)
  • DESC: 降序

注意事項:

  • 如果是升序, 可以不指定排序方式ASC ;
  • 如果是多字段排序,當第一個字段值相同時,才會根據第二個字段進行排序 ;
案例 :
  • 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;

2.7 分頁查詢

分頁操作在業務系統開發時,也是非常常見的一個功能,我們在網站中看到的各種各樣的分頁條,后臺都需要借助于數據庫的分頁操作。
1). 語法
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查詢記錄數 ; 
注意事項:
  • 起始索引從0開始,起始索引 = (查詢頁碼 - 1)* 每頁顯示記錄數
  • 分頁查詢是數據庫的方言,不同的數據庫有不同的實現,MySQL中是LIMIT。
  • 如果查詢的是第一頁數據,起始索引可以省略,直接簡寫為 limit 10。
案例 :
  • A. 查詢第1頁員工數據, 每頁展示10條記錄
select * from emp limit 0,10;
select * from emp limit 10;
  • B. 查詢第2頁員工數據, 每頁展示10條記錄 --------> (頁碼-1)*頁展示記錄數
    • (2 - 1)* 10 = 10
select * from emp limit 10,10;

2.8 案例

1). 查詢年齡為 20,21,22,23 歲的員工信息。
select * from emp where gender = '女' and age in(20,21,22,23);
2). 查詢性別為 男 ,并且年齡在 20-40 ( ) 以內的姓名為三個字的員工。
select * from emp while gender = '男' and ( age between 20 and 40 ) and name like '___';
3). 統計員工表中 , 年齡小于 60 歲的 , 男性員工和女性員工的人數。
select gender, count(*) from emp where age < 60 group by gender; 
4). 查詢所有年齡小于等于 35 歲員工的姓名和年齡,并對查詢結果按年齡升序排序,如果年齡相同按入職時間降序排序。
select name , age from emp where age <= 35 order by age asc , entrydate desc;
5). 查詢性別為男,且年齡在 20-40 ( ) 以內的前 5 個員工信息,對查詢的結果按年齡升序排序,
年齡相同按入職時間升序排序。
select * from emp where gender = '男' and age between 20 and 40 order by age asc, entrydate asc limit 0, 5 ;
  • 前五個員工就是查詢第一頁的員工,每一頁員工展示 5 條數據

2.9 執行順序

在講解 DQL 語句的具體語法之前,我們已經講解了 DQL 語句的完整語法,及編寫順序,接下來,我們要來說明的是DQL 語句在執行時的執行順序,也就是先執行那一部分,后執行那一部分。

驗證:
  • 查詢年齡大于15的員工姓名、年齡,并根據年齡進行升序排序。
select name , age from emp where age > 15 order by age asc;
  • 在查詢時,我們給emp表起一個別名 e,然后在select where中使用該別名。
select e.name , e.age from emp as e where e.age > 15 order by age asc;
執行上述 SQL 語句后,我們看到依然可以正常的查詢到結果,此時就說明: from 先執行 , 然 where 和 select 執行。那 where select 到底哪個先執行呢 ?
此時,此時我們可以給 select 后面的字段起別名,然后在 where 中使用這個別名,然后看看是否可
以執行成功。
select e.name as ename , e.age as eage from emp as e where eage > 15 order by age asc; 
執行上述 SQL 報錯了:
由此我們可以得出結論 : from 先執行,然后執行 where , 再執行 select
接下來,我們再執行如下 SQL 語句,查看執行效果:
select e.name as ename , e.age as eage from emp as e where e.age > 15 order by eage asc;
結果執行成功。 那么也就驗證了 : order by 是在 select 語句之后執行的。
綜上所述,我們可以看到 DQL 語句的執行順序為:
  • from ... where ... group by ... having ... select ... order by ... limit ...

3. DCL

DCL 英文全稱是 Data Control Language ( 數據控制語言 ) ,用來管理數據庫用戶、控制數據庫的訪
問權限。

3.1 管理用戶

1). 查詢用戶
select * from mysql.user;
查詢的結果如下 :
其中 Host? 代表當前用戶訪問的主機 , 如果為? localhost, 僅代表只能夠在當前本機訪問,是不可以遠程訪問的。 User? 代表的是訪問該數據庫的用戶名。 在?MySQL?中需要通過?Host?和?Use r來唯一標識一個用戶
2). 創建用戶
CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼';
3). 修改用戶密碼
ALTER USER '用戶名'@'主機名' IDENTIFIED WITH mysql_native_password BY '新密碼' ;
4). 刪除用戶
DROP USER '用戶名'@'主機名' ; 

注意事項:

  • 在MySQL中需要通過用戶名@主機名的方式,來唯一標識一個用戶。
  • 主機名可以使用 % 通配。
  • 這類SQL開發人員操作的比較少,主要是DBA( Database Administrator 數據庫管理員)使用。
案例:
  • 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';

3.2 權限控制

MySQL 中定義了很多種權限,但是常用的就以下幾種:
權限
說明
ALL, ALL PRIVILEGES
所有權限
SELECT
查詢數據
INSERT
插入數據
UPDATE
修改數據
DELETE
刪除數據
ALTER
修改表
DROP
刪除數據庫//視圖
CREATE
創建數據庫/
上述只是簡單羅列了常見的幾種權限描述,其他權限描述及含義,可以直接參考 官方文檔
1). 查詢權限
SHOW GRANTS FOR '用戶名'@'主機名' ; 
2). 授予權限
GRANT 權限列表 ON 數據庫名.表名 TO '用戶名'@'主機名';
3). 撤銷權限
REVOKE 權限列表 ON 數據庫名.表名 FROM '用戶名'@'主機名';
注意事項:
  • 多個權限之間,使用逗號分隔
  • 授權時, 數據庫名和表名可以使用 * 進行通配,代表所有。
案例 :
  • 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/bicheng/75968.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75968.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75968.shtml

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

相關文章

DeepSeek-MLA

MLA 結構 需要緩存 KV 向量共用的壓縮隱特征K 向量多頭共享的帶位置編碼的向量 為什么帶有位置信息的 Q 向量來自于隱特征向量&#xff0c;而帶有位置的 K 向量來自于 H 向量且共享呢&#xff1f; 最好的方法肯定是從H向量直接計算并且不共享&#xff0c;但是會大大增加顯存使…

檢索增強技術RAG和向量數據庫技術的優勢和劣勢,應用范圍和價值

RAG 和向量數據庫在技術棧中處于不同層級&#xff0c;前者側重生成任務的準確性與動態性&#xff0c;后者專注檢索效率與擴展性。在實際應用中&#xff0c;二者常協同工作&#xff0c;但也可獨立服務于不同場景。企業需根據需求選擇&#xff1a;若需生成內容&#xff0c;RAG 是…

Python爬蟲教程013:使用CrawlSpider爬取讀書網數據并保存到mysql數據庫

文章目錄 3.8 CrawlSpider介紹3.9 CrawlSpider爬取讀書網案例3.9.1 創建項目3.9.2 定義要爬取的數據結構3.9.3 獲取數據3.9.4 保存數據到本地3.9.5 保存數據到mysql數據庫3.9.6 完整項目下載3.8 CrawlSpider介紹 CrawlSpider 是 Scrapy 框架中 最常用的高級爬蟲類之一,用于構…

Three.js 系列專題 5:加載外部模型

內容概述 Three.js 支持加載多種 3D 文件格式(如 GLTF、OBJ、FBX),這讓開發者可以直接使用專業建模軟件(如 Blender、Maya)創建的復雜模型。本專題將重點介紹 GLTF 格式的加載,并調整模型的位置和材質。 學習目標 理解常見 3D 文件格式及其特點。掌握使用 GLTFLoader 加…

P1006 [NOIP 2008 提高組] 傳紙條 題解

題目傳送門 前言 每次準備摸魚時都在這道題的界面。 今天有空做做&#xff0c;順便寫一波題解&#xff0c;畢竟估值蹭蹭往下跳。 雙倍經驗&#xff1a;P1004 [NOIP 2000 提高組] 方格取數&#xff0c;P1006 [NOIP 2008 提高組] 傳紙條。 題意簡述 現有一個 m m m 行 n …

LLM架構解析:長短期記憶網絡(LSTM)(第三部分)—— 從基礎原理到實踐應用的深度探索

本專欄深入探究從循環神經網絡&#xff08;RNN&#xff09;到Transformer等自然語言處理&#xff08;NLP&#xff09;模型的架構&#xff0c;以及基于這些模型構建的應用程序。 本系列文章內容&#xff1a; NLP自然語言處理基礎詞嵌入&#xff08;Word Embeddings&#xff09…

ffmpeg提取字幕

使用ffmpeg -i test.mkv 獲取視頻文件的字幕流信息如下 Stream #0:4(chi): Subtitle: subrip (srt) (default) Metadata: title : chs Stream #0:5(chi): Subtitle: subrip (srt) Metadata: title : cht Stream #0:6(jpn)…

Python設計模式:構建模式

1. 什么是構建模式 構建模式&#xff08;Builder Pattern&#xff09;是一種創建型設計模式&#xff0c;它允許使用多個簡單的對象一步步構建一個復雜的對象。構建模式通過將構建過程與表示分離&#xff0c;使得同樣的構建過程可以創建不同的表示。換句話說&#xff0c;構建模…

使用 VIM 編輯器對文件進行編輯

一、VIM 的兩種狀態 VIM&#xff08;vimsual&#xff09;是 Linux/UNIX 系列 OS 中通用的全屏編輯器。vim 分為兩種狀態&#xff0c;即命令狀態和編輯狀態&#xff0c;在命令狀態下&#xff0c;所鍵入的字符系統均作命令來處理&#xff1b;而編輯狀態則是用來編輯文本資料&…

GaussDB回調機制深度實踐:從事件驅動到系統集成

GaussDB回調機制深度實踐&#xff1a;從事件驅動到系統集成 一、回調機制核心概念 回調類型矩陣 二、核心實現技術棧 觸發器回調開發 sql -- 創建審計觸發器回調 CREATE OR REPLACE FUNCTION audit_trigger() RETURNS TRIGGER AS $$ BEGININSERT INTO audit_log (operati…

AI小白:AI算法中常用的數學函數

文章目錄 一、激活函數1. Sigmoid2. ReLU&#xff08;Rectified Linear Unit&#xff09;3. Tanh&#xff08;雙曲正切&#xff09;4. Softmax示例代碼&#xff1a;激活函數的實現 二、損失函數1. 均方誤差&#xff08;MSE&#xff09;2. 交叉熵損失&#xff08;Cross-Entropy&…

idea 打不開terminal

IDEA更新到2024.3后Terminal終端打不開的問題_idea terminal打不開-CSDN博客

Python代碼list列表的使用和常用方法及增刪改查

Python代碼list列表的使用和常用方法及增刪改查 提示&#xff1a;幫幫志會陸續更新非常多的IT技術知識&#xff0c;希望分享的內容對您有用。本章分享的是Python基礎語法。前后每一小節的內容是存在的有&#xff1a;學習and理解的關聯性&#xff0c;希望對您有用~ python語法-p…

Open CASCADE學習|讀取點集擬合樣條曲線(續)

問題 上一篇文章已經實現了樣條曲線擬合&#xff0c;但是仍存在問題&#xff0c;Tolerance過大擬合成直線了&#xff0c;Tolerance過大頭尾波浪形。 正確改進方案 1?? 核心參數優化 通過調整以下參數控制曲線平滑度&#xff1a; Standard_Integer DegMin 3; // 最低階…

Python基礎知識點(列表與字典)

列表list[] # list [12,34,56,78] # print(list) """ 1.list可以保存同一類型的數據 或 不同類型的數據 2.list是有序的&#xff0c;所以可以通過[下標]訪問元素 3.list保存重復的值 4.list是可變的&#xff0c;可以添加 刪除元素 """ …

在 Elasticsearch 中使用 Amazon Nova 模型

作者&#xff1a;來自 Elastic Andre Luiz 了解如何在 Elasticsearch 中使用 Amazon Nova 系列模型。 在本文中&#xff0c;我們將討論 Amazon 的 AI 模型家族——Amazon Nova&#xff0c;并學習如何將其與 Elasticsearch 結合使用。 關于 Amazon Nova Amazon Nova 是 Amazon …

MySQL8.0.40編譯安裝(Mysql8.0.40 Compilation and Installation)

MySQL8.0.40編譯安裝 近期MySQL發布了8.0.40版本&#xff0c;與之前的版本相比&#xff0c;部分依賴包發生了變化&#xff0c;因此重新編譯一版&#xff0c;也便于大家參考。 1. 下載源碼 選擇對應的版本、選擇源碼、操作系統 如果沒有登錄或者沒有MySQL官網賬號&#xff0…

python中pyside6多個py文件生成exe

網上見到的教程大多數都是pyinstaller安裝單個py文件,針對多個py文件的打包,鮮有人提及;有也是部分全而多的解釋,讓人目不暇接,本次記錄自己設置一個聲波捕捉界面的打包過程。 1.pycharm中調用pyinstaller打包 參考鏈接:https://blog.csdn.net/weixin_45793544/articl…

Java中使用Function Call實現AI大模型與業務系統的集成?

這個理念實際上很早就出現了&#xff0c;只不過早期的模型推理理解能力比較差&#xff0c;用戶理解深度預測不夠&#xff0c;現在每天的迭代有了改進&#xff0c;逐步引入到我們本身的業務系統&#xff0c;讓AI大模型集成進來管理自身業務功能。當然現在也不是一個什么難事了。…

id 屬性自動創建 js 全局變量

給一個元素設置 id 屬性&#xff0c;它會在 js 中創建全局變量&#xff0c;如 <div class"test" click"test" id"idTest">test</div>test() {console.log(idTest:, window.idTest) }.test {height: 50px;width: 200px;background-c…