MySQL 基本查詢(一)

文章目錄

  • Create(insert)
    • 指定列的單行插入和全列插入
    • 多行全列插入和指定列的多行插入
    • 如果主鍵存在,要插入替換存在的值
    • replace
  • 基本select
      • 全列查詢
      • 指定列查詢
      • where子句
      • where子句案例
        • 語文成績在 [80, 90] 分的同學及語文成績
        • 數學成績是 58 或者 59 或者 98 或者 99 分的同學及數學成績
        • 姓孫的同學 及 孫某同學
        • 語文成績好于英語成績的同學
        • 總分在 200 分以下的同學
        • 語文成績 > 80 并且不姓孫的同學
        • 孫某同學,否則要求總成績 > 200 并且 語文成績 < 數學成績 并且 英語成績 > 80
      • NULL 的查詢
      • order by 子句
      • order by 子句案例
        • NULL值比任何值都小
        • 查詢同學各門成績,依次按 數學降序,英語降序,語文升序的方式顯示
        • 查詢姓孫的同學或者姓曹的同學數學成績,結果按數學成績由高到低顯示
      • 篩選分頁結果

CRUD : Create(創建), Retrieve(讀取),Update(更新),Delete(刪除)

Create(insert)

指定列的單行插入和全列插入

create table students(
id int unsigned primary key auto_increment,
sn int unsigned unique key,
name varchar(30) not null,
qq varchar(30) unique key
);
// 指定列插入
insert into students (sn,name,qq) values(1,'張三','123456789');
// 全列插入
insert into students values(12,2,'李四','12345678');
// into可以省略
insert students values(13,3,'王五','123456'); 

多行全列插入和指定列的多行插入

// 全列插入
insert into students values(15,5,'曹操','12345'),
(16,6,'諸葛亮','123');
// 指定列插入
insert into students (sn,name,qq) values(6,'項羽','125'),(7,'張飛','126');

如果主鍵存在,要插入替換存在的值

  1. 由于 主鍵 或者 唯一鍵 對應的值已經存在而導致插入失敗
// 發生主鍵沖突,把主鍵后面的屬性都修改了
// 要更新的值不能和其他的主鍵和唯一鍵沖突
insert into students values(13,132,'xuyou','111111') on duplicate key update sn=132,name='xuyou',qq='111111';

在這里插入圖片描述
在這里插入圖片描述

2. 1行被影響,等價于數據直接插入,2行被影響,表中有沖突數據并且要被update更新,0行被影響,表中的老的數據和update要更新的值是一樣的

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3. 通過 MySQL 函數獲取受到影響的數據行數

select row_count();

-1表示沒有行受到影響

在這里插入圖片描述

1行受到影響

在這里插入圖片描述

replace

  1. 主鍵 或者 唯一鍵 沒有沖突,則直接插入
  2. 主鍵 或者 唯一鍵 如果沖突,則刪除后再插入
replace into students (name,name,qq) values(222,'張三','123');
  1. 1 row affected:表中沒有沖突數據,數據被插入
  2. 2 row affected:表中有沖突數據,刪除后重新插入

在這里插入圖片描述

基本select

全列查詢

  1. *,通配符,可以進行全列查詢,把所有數據都遍歷一遍,公司中不建議使用 * ,因為數據庫的數據太多了,全遍歷還是不方便查看
select * from 表名

指定列查詢

  1. 指定列的順序不需要按定義表的順序來
select name,math,id from 表名
  1. select 可以幫你計算出表達式放到這一列中

在這里插入圖片描述
在這里插入圖片描述
4. 可以重命名表達式的名字

在這里插入圖片描述
5. 也可以不帶as重命名

在這里插入圖片描述
在這里插入圖片描述

// 多加一列,數學+10分的列
select name 姓名,math 數學,math+10 from exam_result;

6. 對查詢結果進行去重

在這里插入圖片描述

where子句

  1. where可以篩選行,只要包含了=的是不可以用來比較NULL的,是不安全的
  2. 比較運算符

在這里插入圖片描述
3. 邏輯運算符
在這里插入圖片描述

select name,english from exam_result where english < 60;

在這里插入圖片描述

where子句案例

語文成績在 [80, 90] 分的同學及語文成績

select chinese,name from exam_result where chinese between 80 and 90;
select chinese,name from exam_result where chinese >= 80 and chinese <= 90;

在這里插入圖片描述

數學成績是 58 或者 59 或者 98 或者 99 分的同學及數學成績
  1. in,如果是 option 中的任意一個,返回 TRUE(1)
select name,math from exam_result where math = 58 or math = 59 or math = 98 or math = 99;
// in表示只要在括號中存在的就滿足條件
select name,math from exam_result where math in(58,59,98,99);
姓孫的同學 及 孫某同學
  1. like,模糊匹配。% 表示任意多個(包括 0 個)任意字符;_ 表示任意一個字符
// 把姓孫的都匹配出來
select name from exam_result where name like '孫%';
// 把孫某匹配出來
select name from exam_result where name like '孫_';
語文成績好于英語成績的同學
select name,chinese,english from exam_result where chinese > english;
總分在 200 分以下的同學
select name,chinese+english+math as total from exam_result where chinese+english+math < 200;
  1. 篩選的條件是先從哪個表中找,再按條件篩選,最后要篩選出對應的屬性,第三步才知道total,所以第二步才會報錯

在這里插入圖片描述

語文成績 > 80 并且不姓孫的同學
select name,chinese from exam_result where chinese > 80 and name not like '孫%'; 
孫某同學,否則要求總成績 > 200 并且 語文成績 < 數學成績 并且 英語成績 > 80
select name,chinese,math,english,chinese+math+english as 總分 from exam_result where name like '孫_' or (chinese+math+english > 200 and chinese < math and english > 80);

在這里插入圖片描述

NULL 的查詢

  1. ’ ‘和NULL是不一樣的,’ '是空串
select * from test where name is null;
select * from test where name is not null;

在這里插入圖片描述
2. NULL和任何數比較都是NULL,NULL是不參與比較的

在這里插入圖片描述
3. <=> 可以用于NULL比較,0表示假,1表示真
在這里插入圖片描述

order by 子句

  1. asc為升序,desc為降序,默認是asc
  2. SELECT … FROM table_name [WHERE …]
    ORDER BY column [ASC|DESC], […];
// 按數學成績升序排序
select name,math from exam_result where order by math asc;
// 按數學成績降序排序
select name,math from exam_result where order by math desc;

order by 子句案例

NULL值比任何值都小

在這里插入圖片描述

查詢同學各門成績,依次按 數學降序,英語降序,語文升序的方式顯示
  1. 如果數學成績相同,按照英語成績升序的順序排列,如果數學,英語成績相同,按照語文升序的順序排列
select name,math,english,chinese from exam_result where order by math desc,english desc,chinese asc;// 不顯示給升序和降序,默認是升序排序
select name,math,english,chinese from exam_result
where order by math;
  1. 可以使用別名了,因為是先有別名,再使用別名
    在這里插入圖片描述
查詢姓孫的同學或者姓曹的同學數學成績,結果按數學成績由高到低顯示
  1. order by的執行順序是比where的順序要晚
select name,math from exam_result where name like '孫%' or name like '曹%' order by math desc;

篩選分頁結果

// 篩選出前5行的數據
select * from exam_result limit 5;

在這里插入圖片描述
2. 從第二條記錄開始篩選

在這里插入圖片描述

// n表示行數,s表示從下標哪個位置開始篩選
select * from test limit n offset s;

3. 對未知表進行查詢時,最好加一條 LIMIT 1,避免因為表中數據過大,查詢全表數據導致數據庫卡死
4. 也可以進行分頁操作,如下圖,按三行分1頁

在這里插入圖片描述
5. 需要有數據才能排序,只有數據準備好了,你才需要顯示,limit的本質功能是’顯示’數據,并且limit的順序等級是最后的,在排序后
6. 需要排序好后再分頁查看,比如要查看5到10名的成績,則需要排升序,再分頁

在這里插入圖片描述

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

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

相關文章

LeetCode路徑總和系列問題解析:I、II、III的解決方案與優化

文章目錄 引言一、路徑總和 I&#xff08;LeetCode 112&#xff09;問題描述方法思路Java代碼實現復雜度分析 二、路徑總和 II&#xff08;LeetCode 113&#xff09;問題描述方法思路Java代碼實現復雜度分析 三、路徑總和 III&#xff08;LeetCode 437&#xff09;問題描述方法…

NFC 碰一碰發視頻貼牌技術,音頻功能的開發實踐與技術解析

在數字化營銷與信息交互場景中&#xff0c;NFC 碰一碰技術憑借其便捷性和高效性&#xff0c;成為快速傳遞多媒體內容的新選擇。通過 NFC 實現視頻音頻的快速傳輸&#xff0c;不僅能提升用戶體驗&#xff0c;還能為各類場景帶來創新應用。本文將深入探討該功能開發過程中的關鍵技…

跨境電商生死劫:IP篩查三法則破解封號魔咒

一、血淚數據&#xff1a;90%封號案源于IP污染 跨境電商平臺風控系統持續升級&#xff0c;2023年亞馬遜全球封號案例中&#xff0c;67%涉及賬號關聯&#xff08;Marketplace Pulse數據&#xff09;&#xff0c;其中IP問題占比高達91%。更觸目驚心的是&#xff1a; 新號存活率&…

MIPS架構詳解:定義、應用與其他架構對比

一、MIPS架構的定義 MIPS&#xff08;Microprocessor without Interlocked Pipeline Stages&#xff09; 是一種經典的精簡指令集&#xff08;RISC&#xff09;處理器架構&#xff0c;由斯坦福大學John Hennessy團隊于1981年提出&#xff0c;強調高效流水線設計和硬件簡化。 核…

第十六屆藍橋杯 2025 C/C++組 脈沖強度之和

目錄 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 思路&#xff1a; 思路詳解&#xff1a; 代碼&#xff1a; 代碼詳解&#xff1a; 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; P12338 [藍橋杯 2025 省 B/Python B 第二場] 脈沖強度…

從Ping到iperf3:深度實戰無線網絡壓測與優化指南

以下是測試無線網絡穩定性的詳細步驟與工具指南&#xff0c;涵蓋信號質量、吞吐量、干擾排查等關鍵維度&#xff1a; 一、基礎信號質量測試 1. 信號強度與覆蓋測試 工具&#xff1a;手機APP&#xff08;WiFi Analyzer、NetSpot&#xff09;或筆記本&#xff08;Acrylic WiFi&a…

MySQL 連接池 (Pool) 常用方法詳解

MySQL 連接池 (Pool) 常用方法詳解 1. 創建連接池 首先需要創建連接池實例&#xff1a; const mysql require(mysql2/promise); // 使用Promise版本const pool mysql.createPool({host: localhost,user: root,password: password,database: test,waitForConnections: true…

大型連鎖酒店集團數據湖應用示例

目錄 一、應用前面臨的嚴峻背景 二、數據湖的精細化構建過程 &#xff08;一&#xff09;全域數據整合規劃 &#xff08;二&#xff09;高效的數據攝取與存儲架構搭建 &#xff08;三&#xff09;完善的元數據管理體系建設 &#xff08;四&#xff09;強大的數據分析平臺…

GNU gettext 快速上手

文章目錄 1.簡介2.核心概念國際化 (i18n)本地化 (l10n)POT 文件PO 文件MO 文件文本域翻譯函數 3.主要組件4.使用示例參考文獻 1.簡介 GNU gettext 是一套用于軟件國際化&#xff08;internationalization&#xff0c;i18n&#xff09;和本地化&#xff08;localization&#x…

分享:VTK版本的選擇 - WPF空域問題

在早期版本中&#xff0c;ActiViz 對 Windows Presentation Foundation (WPF) 框架的支持是通過 WindowsFormHost 組件實現的&#xff0c;這種方式依賴于 WindowsForm 和 WPF 的互操作性。然而&#xff0c;這種方法存在一個眾所周知的“空域問題”&#xff08;airspace issue&a…

python數據分析(六):Pandas 多數據操作全面指南

Pandas 多數據操作全面指南&#xff1a;Merge, Join, Concatenate 與 Compare 1. 引言 在數據分析工作中&#xff0c;我們經常需要處理多個數據集并將它們以各種方式組合起來。Pandas 提供了多種強大的多數據操作方法&#xff0c;包括合并(merge)、連接(join)、連接(concaten…

spring 面試題

一、Spring 基礎概念 什么是 Spring 框架&#xff1f; Spring 是一個開源的 Java 應用程序框架&#xff0c;它提供了一種輕量級的、非侵入式的方式來構建企業級應用。Spring 的核心功能包括依賴注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;、面向切面編程…

OpenCV-Python (官方)中文教程(部分一)_Day20

22.直方圖 22.1直方圖的計算,繪制與分析 使用 OpenCV 或 Numpy 函數計算直方圖 使用 Opencv 或者 Matplotlib 函數繪制直方圖 將要學習的函數有&#xff1a;cv2.calcHist(),np.histogram() 什么是直方圖呢&#xff1f;通過直方圖你可以對整幅圖像的灰度分布有一個整體的 了…

數電發票整理:免費實用工具如何高效解析 XML 發票數據

如今數字電子發票越來越普及&#xff0c;但是數電發票的整理還是頗有講究~ 今天給大家介紹一個 XML 發票閱讀器。使用它完全不收取任何費用&#xff0c;且無廣告干擾&#xff0c;對財務人員而言十分實用。 01 軟件介紹 這款軟件就是XML格式&#xff08;數電票&#xff09;閱讀…

深度學習正則化:原理、方法與應用深度解析

摘要 本文深入探討深度學習中的正則化技術&#xff0c;介紹其避免過擬合的重要性&#xff0c;詳細講解常見的正則化方法&#xff0c;如 L 1 L_1 L1?和 L 2 L_2 L2?正則化、Dropout等&#xff0c;并通過線性回歸案例和神經網絡訓練流程對其進行直觀闡釋。幫助讀者理解正則化原…

【爬蟲】deepseek談爬蟲工具

2025 年&#xff0c;隨著 Web 技術的演進和反爬機制的升級&#xff0c;工具生態也會進一步優化。以下是 2025 年爬蟲 & 自動化測試的前沿工具預測&#xff0c;結合行業趨勢和現有技術發展方向&#xff1a; &#x1f680; 2025 年推薦組合&#xff08;預測版&#xff09; 1…

SQLMesh 測試自動化:提升數據工程效率

在現代數據工程中&#xff0c;確保數據模型的準確性和可靠性至關重要。SQLMesh 提供了一套強大的測試工具&#xff0c;用于驗證數據模型的輸出是否符合預期。本文將深入探討 SQLMesh 的測試功能&#xff0c;包括如何創建測試、支持的數據格式以及如何運行和調試測試。 SQLMesh …

Java學習手冊:Spring 中常用的注解

一、組件注解 Component &#xff1a;用于標記一個類為 Spring 管理的 Bean&#xff0c;是 Spring 的基本組件注解。Spring 會通過類路徑掃描自動檢測并注冊標記了 Component 的類為 Bean。Service &#xff1a;是 Component 的派生注解&#xff0c;用于標記服務層類&#xff…

前端跨域問題詳解:原因、解決方案與最佳實踐

引言 在現代Web開發中&#xff0c;跨域問題是前端工程師幾乎每天都會遇到的挑戰。隨著前后端分離架構的普及和微服務的發展&#xff0c;跨域請求變得愈發常見。本文將深入探討跨域問題的本質、各種解決方案以及在實際開發中的最佳實踐。 一、什么是跨域問題&#xff1f; 1.1…

[計算機網絡]物理層

文章目錄 物理層的概述與功能傳輸介質雙絞線:分類:應用領域: 同軸電纜&#xff1a;分類: 光纖&#xff1a;分類: 無線傳輸介質&#xff1a;無線電波微波&#xff1a;紅外線&#xff1a;激光&#xff1a; 物理層設備中繼器&#xff1a;放大器&#xff1a;集線器(Hub)&#xff1a…