MySQL基礎學習之DML,DQL(二)

這里寫目錄標題

  • 一、DML
    • 1、INSERT語句
      • 1)、給指定列添加數據
      • 2)、給全部列添加數據
      • 3)、批量數據添加數據
      • 4)、操作
    • 2、UPDATE語句
    • 3、DELETE語句
  • 二、DQL
    • 1、單表查詢
      • 1)查詢語法
      • 2)查詢全部
      • 3)查詢部分
      • 4)條件查詢
      • 5)聚合函數
      • 6)排序查詢
      • 7)分組查詢
      • 8)分頁查詢

一、DML

1、INSERT語句

1)、給指定列添加數據

-- 標準語法
INSERT INTO 表名(列名1,列名2,...) VALUES (1,2,...);

2)、給全部列添加數據

-- 標準語法
INSERT INTO 表名 VALUES (1,2,3,...);

3)、批量數據添加數據

-- 默認添加所有列數據 標準語法
INSERT INTO 表名 VALUES (1,2,3,...),(1,2,3,...),(1,2,3,...);

4)、操作

#給指定列添加數據
insert into product(ID,NAME,PRICE,BRAND,STOCK) values(1,'YU7','32.99','小米','2');#默認全部列添加數據,注意插入數據要匹配表的字段數
insert into product VALUES(1,'SU7','30.99','小米','10','2025-07-10');#批量添加數據
insert into product(ID,NAME,PRICE,BRAND,STOCK) values
(1,'X1','22.99','寶馬','4'),
(1,'X3','32.99','寶馬','5'),
(1,'X5','42.99','寶馬','6');insert into product values
(1,'GLA','25.99','奔馳','10','2025-07-10'),
(1,'GLB','28.99','奔馳','10','2025-07-10'),
(1,'GLC','33.99','奔馳','10','2025-07-10'),
(1,'GLE','63.99','奔馳','10','2025-07-10');

注意:

  • 列名和值的數量以及數據類型要對應
  • 除了數字類型,其他數據類型的數據都需要加引號(單雙引號都可以,推薦單引號)

2、UPDATE語句

-- 標準語法
UPDATE 表名 SET 列名1 =1,列名2 =2,... [where 條件];
-- 標準語法
update product set CREATETIME = '2025-07-11' where BRAND = '寶馬';

注意:

  • 修改語句中必須加條件
  • 如果不加條件,則將所有數據都修改(慎重)

3、DELETE語句

-- 標準語法
DELETE FROM 表名 [WHERE 條件];

注意:

  • 修改語句中必須加條件
  • 如果不加條件,則將所有數據都修改
  • 如果在生產環境使用update和delete命令一定要慎重

二、DQL

1、單表查詢

1)查詢語法

select字段列表
from表名列表
where條件列表
group by分組字段
having分組之后的條件
order by排序
limit分頁限定

2)查詢全部

-- 標準語法
SELECT * FROM 表名;--查詢product表中所有數據
select * from product

注意:

  • 在代碼開發中不要用select * ,因為對性能,查詢速度都有影響。

3)查詢部分

  • 多個字段查詢
-- 標準語法
SELECT 列名1,列名2,... FROM 表名;-- 查詢名稱、價格、品牌
select name,price,brand from product
  • 去重查詢
    去重查詢關鍵字:distinct,這是sql中常用的關鍵字。
-- 標準語法
SELECT DISTINCT 列名1,列名2,... FROM 表名;
--查詢品牌
select distinct brand from product
--查詢名稱以及品牌
select distinct name,brand from product

在這里插入圖片描述
在這里插入圖片描述
從上面兩個結果可以看出:

  • 對單列使用distinct去除重復值時,會過濾掉多余重復相同的值,只返回唯一的值。
  • 對多列數據進行去重處理,只需在DISTINCT關鍵字后依次列出需要去重的字段名,并用英文逗號隔開即可。
  • 計算列的值(四則運算)
-- 標準語法
SELECT 列名1 運算符(+ - * /) 列名2 FROM 表名;

計算列的值
標準語法:
SELECT 列名1 運算符(+ - * /) 列名2 FROM 表名;

如果某一列為null,可以進行替換
ifnull(表達式1,表達式2)
表達式1:想替換的列
表達式2:想替換的值
  • 起別名
-- 標準語法
SELECT 列名1,列名2,... AS 別名 FROM 表名;
-- 查詢商品名稱和庫存,庫存數量在原有基礎上加10。進行null值判斷。起別名為getSum
SELECT NAME,IFNULL(stock,0)+10 AS getsum FROM product;

4)條件查詢

  • 條件分類
項目Value
>大于
<小于
>=大于等于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN … AND …在某個范圍之內(都包含)
IN(…)多選一
LIKE 占位符模糊查詢 _單個任意字符 %多個任意字符
IS NULL是NULL
IS NOT NULL不是NULL
AND 或 &&并且
OR 或 ||或者
NOT 或 !非,不是
  • 條件查詢優先級
  1. 括號:括號的條件會被優先處理。
  2. 邏輯運算符:and 、or
  3. 比較運算符:=,<>,!=,>,<>=,<=
  4. between和in
  5. like
  6. is null
  7. exists
  8. order by
  9. limit
  • 條件查詢語法
-- 標準語法
SELECT 列名 FROM 表名 WHERE 條件;
-- 查詢庫存大于20的商品信息
select * from product where STOCK >20-- 查詢品牌為寶馬的商品信息
select * from product where BRAND ='寶馬'-- 查詢金額在30~ 50之間的商品信息
select * from product where PRICE between 30 and 50;
select * from product where PRICE >30 and PRICE <50;-- 查查詢庫存為14,15,16的商品信息
select * from product where stock in (14,15,16);-- 查詢庫存為null的商品信息
select * FROM product where stock is null; -- 查詢庫存不為null的商品信息
select * FROM product where stock is not null; -- 查詢名稱以小米為開頭的商品信息
SELECT * FROM product WHERE NAME LIKE '小米%';-- 查詢名稱第二個字是馬的商品信息
select * from product where brand like '_馬%'-- 查詢名稱為四個字符的商品信息
select * from product where brand like '____'

5)聚合函數

將一列數據作為一個整體,進行縱向的計算

項目Value
count(列名)統計數量(一般選用不為null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值
  • 聚合函數語法
-- 標準語法
SELECT 函數名(列名) FROM 表名 [WHERE 條件];-- 計算product表中總記錄條數
SELECT COUNT(*) FROM product;-- 獲取最高價格
SELECT MAX(price) FROM product;
-- 獲取最高價格的商品名稱
SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product);-- 獲取最低庫存
SELECT MIN(stock) FROM product;
-- 獲取最低庫存的商品名稱
SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product);-- 獲取總庫存數量
SELECT SUM(stock) FROM product;
-- 獲取品牌為蘋果的總庫存數量
SELECT SUM(stock) FROM product WHERE brand='蘋果';-- 獲取品牌為小米的平均商品價格
SELECT AVG(price) FROM product WHERE brand='小米';

6)排序查詢

  • 排序分類
    • 多個排序條件,當前邊的條件值一樣時,才會判斷第二條件
    • 對指定列排序,ASC升序(默認的) DESC降序
  • 排序語法
-- 標準語法
SELECT 列名 FROM 表名 [WHERE 條件] ORDER BY 列名1 排序方式1,列名2 排序方式2;-- 按照庫存升序排序asc可省略
select * from product order by stock;-- 查詢名稱中包含小米的商品信息。按照金額降序排序
select * from product where brand like '%小米%' order by price des
-- 按照金額升序排序,如果金額相同,按照庫存降序排列
select * from product order by price,stock desc;

7)分組查詢

-- 標準語法
SELECT 列名 FROM 表名 [WHERE 條件] GROUP BY 分組列名 [HAVING 分組后條件過濾] [ORDER BY 排序列名 排序方式];-- 按照品牌分組,獲取每組商品的總金額
SELECT brand,SUM(price) FROM product GROUP BY brand;-- 對金額大于30元的商品,按照品牌分組,獲取每組商品的總金額
SELECT brand,SUM(price) FROM product WHERE price > 4000 GROUP BY brand;-- 對金額大于30元的商品,按照品牌分組,獲取每組商品的總金額,只顯示總金額大于70的
select brand ,SUM(price) AS getSum from  product where PRICE >30 group by brand having getSum >70;-- 對金額大于40元的商品,按照品牌分組,獲取每組商品的總金額,只顯示總金額大于70元的、并按照總金額的降序排列
select brand ,SUM(price) AS getSum from  product where PRICE >30 group by brand having getSum >70 order by getSum Desc;

8)分頁查詢

-- 標準語法
SELECT * FROM 表名 LIMIT (頁碼-1)*每頁數量, 每頁數量;
-- 公式:開始索引 = (當前頁碼-1) * 每頁顯示的條數-- 每頁顯示2條數據
SELECT * FROM product LIMIT 0,2;  -- 第一頁 開始索引=(1-1) * 2
SELECT * FROM product LIMIT 2,2;  -- 第二頁 開始索引=(2-1) * 2
SELECT * FROM product LIMIT 4,2;  -- 第三頁 開始索引=(3-1) * 2
SELECT * FROM product LIMIT 6,2;  -- 第四頁 開始索引=(4-1) * 2

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

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

相關文章

在 Linux 系統中實現 Spring Boot 程序自動啟動的最佳實踐

在實際部署 Spring Boot 項目的生產環境中&#xff0c;如何確保服務自動啟動&#xff08;如開機自動運行、宕機自動恢復&#xff09;是一項基礎而關鍵的運維能力。本文將系統介紹如何在 Linux 中將 Spring Boot 應用注冊為 systemd 服務&#xff0c;實現進程守護與自動啟動。&a…

如何建立項目團隊的自驅力文化?

建立項目團隊的自驅力文化&#xff0c;關鍵在于賦權機制、目標共創、持續反饋、內在激勵、價值認同。 其中&#xff0c;“目標共創”尤其重要。項目成員若未參與目標制定&#xff0c;僅被動接受任務&#xff0c;將很難激發責任感和參與熱情。反之&#xff0c;通過共創目標&…

【React Native】布局文件-底部TabBar

布局文件-底部tabBar 內容配置 export default function Layout() {return (<Tabs />); }默認會將布局文件是將與它在同一個目錄的所有文件&#xff0c;包括下級目錄的文件&#xff0c;全都配置成Tab了。&#xff1a; 這樣做顯然不對&#xff0c;正確的做法是 在app目…

CompareFace使用

CompareFace 使用 CompareFace 有三種服務&#xff0c;分別是人臉識別&#xff08;RECOGNITION&#xff09;、人臉驗證&#xff08;VERIFICATION&#xff09;、人臉檢測&#xff08;DETECTION&#xff09;。 人臉識別其實就是人臉身份識別(每張照片只有一個人臉)&#xff0c;…

APP測試之Monkey壓力測試

&#xff08;一&#xff09;Monkey簡介 Monkey意指猴子&#xff0c;頑皮淘氣。所以Monkey測試&#xff0c;顧名思義也就像猴子一樣在軟件上亂敲按鍵&#xff0c;猴子什么都不懂&#xff0c;就愛搗亂。 Monkey 是 Android SDK 自帶的命令行工具&#xff0c;它通過向系統發送偽…

時序大模型為時序數據庫帶來的變革與機遇

時序數據&#xff08;Time Series Data&#xff09;作為記錄系統狀態隨時間變化的重要數據類型&#xff0c;在物聯網、金融交易、工業監控等領域呈爆炸式增長。傳統時序數據庫專注于高效存儲和查詢時序數據&#xff0c;而時序大模型&#xff08;Time Series Foundation Models&…

深入核心:理解Spring Boot的三大基石:起步依賴、自動配置與內嵌容器

深入核心&#xff1a;理解Spring Boot的三大基石&#xff1a;起步依賴、自動配置與內嵌容器 摘要&#xff1a;在上一章&#xff0c;我們領略了Spring Boot帶來的革命性開發體驗。但魔法的背后&#xff0c;必有其科學的支撐。本章將帶你深入Spring Boot的內核&#xff0c;系統性…

達夢數據庫配置兼容MySQL

前言 作為一名數據庫管理員或開發者&#xff0c;當項目需要從MySQL遷移到達夢數據庫時&#xff0c;最關心的莫過于兼容性問題。達夢作為國產數據庫的佼佼者&#xff0c;提供了良好的MySQL兼容模式&#xff0c;今天我就來分享一下如何配置達夢數據庫以實現對MySQL的兼容。 一、為…

js與vue基礎學習

vue創建項目 安裝node安裝node、npm、cnpm node -v npm -v #npm服務器位置處于國外&#xff0c;下載包的速度會比較緩慢。阿里為國內用戶提供的cnpm&#xff0c;他是npm的鏡像&#xff0c;下載第三方包時&#xff0c;們完全可以使用cnpm來替代npm。 cnpm -v在node中執行JavaScr…

【開源.NET】一個 .NET 開源美觀、靈活易用、功能強大的圖表庫

文章目錄一、項目介紹二、適用場景三、功能模塊四、功能特點五、效果展示六、開源地址一、項目介紹 LiveCharts2 是一個開源、簡單、靈活、交互式且功能強大的 .NET 圖表庫。LiveCharts2 現在幾乎可以在任何地方運行&#xff1a;Maui、Uno Platform、Blazor-wasm、WPF、WinFor…

使用Whistle自定義接口返回內容:Mock流式JSON數據全解析

一.mock接口返回數據流程 定位目標接口 在Whistle的Network面板中找到需要Mock的接口&#xff0c;右鍵點擊請求信息&#xff0c;選擇COPY -> URL復制完整URL&#xff0c;確保URL路徑精確到具體接口。準備Mock數據 點擊對應接口&#xff0c;在右側面板切換到response標簽頁&a…

【前端】富文本編輯器插件 wangEditor 5 基本使用(Vue2)

https://www.wangeditor.com/v5 一、安裝 首先安裝editor yarn add wangeditor/editor # 或者 npm install wangeditor/editor --save安裝Vue2組件 yarn add wangeditor/editor-for-vue # 或者 npm install wangeditor/editor-for-vue --save或者Vue3 yarn add wangeditor/…

自適應哈希索引 和 日志緩沖區

目錄 1. 自適應哈希索引在內存中的位置 2. 自適應哈希索引的作用 3. 為什么要創建自適應哈希索引 4. 適應哈希索引的Key -Value如何設置&#xff1f; 5. 日志緩沖區在內存中的位置 6. 日志緩沖區的作用 7. 日志不通過LogBuffer直接寫入磁盤不行嗎&#xff1f; 1. 自適應哈…

中國旅行社協會在京召開“文旅人工智能應用研討會”,助力文旅創新發展

7月15日&#xff0c;由中國旅行社協會數字經濟專業委員會和在線旅行服務商分會聯合主辦的“人工智能技術在文旅產業中的應用”研討會在北京舉行。中國旅行社協會副會長、秘書長孫桂珍出席并致辭&#xff0c;中國工程院外籍院士、具身智能機器人專家張建偉、北京第二外國語學院旅…

Linux之Zabbix分布式監控篇(一)

一、概念和特點概念Zabbix是一款開源、免費的監控軟件 主要用于7*24*365實時監控網絡設置&#xff0c;操作系統&#xff0c;應用程序&#xff0c;網絡帶寬等資源的運行狀態&#xff0c;并且一旦發生異常能夠第一時間個SA管理員發送報警信息特點Zabbix是c/s結構&#xff0c;有c…

ZYNQ千兆光通信實戰:Tri Mode Ethernet MAC深度解析

—— 從硬件設計到Linux驅動的光通信創新實踐** 當ZYNQ遇上光通信 在工業控制、醫療成像和航空航天等領域,抗干擾、長距離傳輸的光通信技術至關重要。Xilinx ZYNQ-7000系列憑借ARM+FPGA的架構,結合Tri Mode Ethernet MAC (TEMAC) 核心,為千兆光通信提供了完美解決方案。本文…

求不重疊區間總和最大值

例題鏈接&#xff1a;1051-習題-數學考試_2021秋季算法入門班第一章習題&#xff1a;模擬、枚舉、貪心 來源&#xff1a;牛客網 時間限制&#xff1a;C/C/Rust/Pascal 1秒&#xff0c;其他語言2秒 空間限制&#xff1a;C/C/Rust/Pascal 32 M&#xff0c;其他語言64 M 64bit …

【Golang】GORM - GEN工具 快速開始

文章目錄建項目建庫建表main.gouser.gocompany.go生成效果&#xff08;更進一步&#xff09;自定義dynamic SQL實踐官方地址&#xff1a;https://gorm.io/zh_CN/gen/index.html 以mysql為例 建項目 go mod init 項目名稱 go mod tidy建庫建表 建數據庫demo&#xff0c;正常…

飛書 “打破” AI 與協同辦公的「黑箱」

文 | 智能相對論作者 | 陳泊丞在協同辦公領域&#xff0c;自從有了AI&#xff0c;微軟、釘釘、Google Workspace、Salesforce、企業微信、飛書等廠商都試圖通過深度整合AI技術&#xff0c;從智能會議、內容創作、數據管理等場景重構辦公范式。微軟通過Microsoft 365 Copilot將A…

leetcode:674. 最長連續遞增序列[動歸]

學習要點 練習動歸注意不要馬虎 題目鏈接 674. 最長連續遞增序列 - 力扣&#xff08;LeetCode&#xff09; 題目描述 解法&#xff1a;動歸 class Solution { public:int findLengthOfLCIS(vector<int>& nums) {int n nums.size();if(nums.size() < 1) …