最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫增刪改查超完整示例圖(新手入門必看)

 更新時間:2026年04月27日 09:38:00   作者:念越  
MySQL中的增刪改查操作是實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)管理的重要手段,通過對數(shù)據(jù)庫中數(shù)據(jù)的增加、刪除、修改和查詢,我們可以對數(shù)據(jù)進行有效的管理和利用,這篇文章主要介紹了MySQL數(shù)據(jù)庫增刪改查的相關(guān)資料,需要的朋友可以參考下

在操作之前,我們需要明確自己操作的是哪部分的數(shù)據(jù)。

一、新增(create)

1.單行數(shù)據(jù)

insert into [(字段1,字段2)] values (值,值);
insert into student(id,name) values (1,'張三');

執(zhí)行成功,有一條數(shù)據(jù)被寫入數(shù)據(jù)表。

  • 1.如果列與值的個數(shù)不匹配就會報一個錯誤,這條記錄無法寫入數(shù)據(jù)表

  • 2.簡寫方式:不用在表名后面指定列名,在values列表中按定義字段的順序設(shè)置相應(yīng)的值。
insert into 表名 values (值,值...);

2.指定列插入

insert into 表名(列名) values (值);

3.多行插入

insert into 表名[(列名...)] values (值),(值)...

二、查詢(Retrieve)

1.全列查詢

 select *from 表名;

?? 注意:這個一個非常危險的操作,因為在生產(chǎn)環(huán)境中,一個表中的數(shù)據(jù)量可能會很多很多,當一個查詢開始的時候,磁盤會開銷,網(wǎng)絡(luò)會開銷,這些都是非常緊缺的資源。這一條語句開始執(zhí)行的時候,可能會吃光服務(wù)器所有資源,其他程序或數(shù)據(jù)庫操作就要等待當前SQL語句執(zhí)行完以后才能繼續(xù)執(zhí)行。

2.指定列查詢

select 列名[,列名]...from 表名;

指定查詢id,姓名,和語文成績。

  • 查詢的結(jié)果是一個表達式

  • 把所有學生的語文成績在原來的基礎(chǔ)上加上十分

  • 列與列之間也可以參與運算,計算總分


    還可以利用as關(guān)鍵字給表達式取別名

3.去重:DISTINCT

select distinct 列名 from 表名;

這里沒有加distinct關(guān)鍵字查詢出來的成績有兩個98分

加上distinct關(guān)鍵字查詢出來的記錄如下

重復(fù)的記錄只保留了一條。

?? 注意:在查詢結(jié)果中,每一列都相同MYSQL才認為他們是重復(fù)的數(shù)據(jù),也就是數(shù)據(jù)行與數(shù)據(jù)行之間,兩條記錄完全一致才是重復(fù)的數(shù)據(jù)。
例如:

在查詢數(shù)學成績時,加上id這一列,第一列和第三列記錄,雖然數(shù)學成績一致,但是他們的id不一致,所以distinct關(guān)鍵字也就不把他們當做重復(fù)的數(shù)據(jù)行。

4.排序:ORDER BY

排序規(guī)則

1.升序 ASC(不指定時,默認是升序)
2.降序 DESC

select 列名 from 表名 order by 列名[ASC | DESC];
  • 1.按語文成績從高到低排序(DESC)

  • 2.對數(shù)學成績進行升序排序

  • 3.NULL數(shù)據(jù)排序,視為比任何值都笑,升序出現(xiàn)在最上面,降序出現(xiàn)在最下面。

  • 4.使用表達式及別名排序

    ?? 注意:MYSQL中NULL的特殊性

不論什么值和NULL進行運算,返回值都是NULL
NULL始終被判定為FALSE
NULL的值不是我們以前學過的其他編程語言中的0,在MYSQL中它就是NULL

  • 5.可以對多個字段進行排序,排序的優(yōu)先級與書寫有關(guān)
    例如:先按數(shù)學降序排序,再按語文升序排序,再按英語進行升序排序

5.條件查詢:WHERE

語法:

select *from 表名 where 列名/表達式 運算符 條件;

5.1 運算符說明表

運算符說明
>大于
>=大于等于
<小于
<=小于等于
=等于,NULL 不安全,例如 NULL = NULL 的結(jié)果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的結(jié)果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范圍匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, ...)如果是 option 中的任意一個,返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配,% 表示任意多個(包括 0 個)任意字符,_ 表示任意一個字符

5.5邏輯運算符說明表

運算符說明
AND多個條件必須都為 TRUE(1),結(jié)果才是 TRUE(1)
OR任意一個條件為 TRUE(1),結(jié)果為 TRUE(1)
NOT條件為 TRUE(1),結(jié)果為 FALSE(0)

?? 注意:

  1. WHERE條件可以使用表達式,但不能使用別名。
  2. AND的優(yōu)先級高于OR,在同時使用時,需要使用小括號()包裹優(yōu)先執(zhí)行的部分

例如

  • 1.like模糊匹配
    %表示多個任意字符,_表示任意一個字符

     

     

  • 2.查詢英語成績不及格的同學(<60)

  • 3.查詢語文成績好于英語成績的同學


    .?? 注意:在一行數(shù)據(jù)中的兩個列是可以進行比較的,但不能跨行比較
  • 4.查詢總分在200分一下的同學


    .?? 注意:在where子句中不能用別名作為過濾條件,在where條件中使用了表達式,那么就要把表達式完整的寫在where子句中,不能使用別名。
    出現(xiàn)這種現(xiàn)象和MYSQL執(zhí)行SQL語句的順序有關(guān)
    1.如果要在數(shù)據(jù)中查某些數(shù)據(jù),首先要確定表,先執(zhí)行from;
    2.在查詢過程中要根據(jù)指定的查詢條件把符合條件的數(shù)據(jù)過濾出來,這時執(zhí)行的就是where子句
    3.執(zhí)行select后面的指定的列,這些列最終需要加入到結(jié)果集
    4.排序操作,根據(jù)order by子句中指定的列名和排序規(guī)則進行排序。

     

  • 5.查詢語文成績大于80且英語成績大于80的同學

  • 6.查詢語文成績大于80或英語成績大于80的同學

  • 7.觀察and和or的優(yōu)先級
    and的優(yōu)先級高于or

  • 8.查詢語文成績在[80,90]分的同學的語文成績

  • 9.查詢數(shù)學成績是58 或者 59 或者 98 或者 99 分的同學

查詢方法 1.用OR把所有的條件關(guān)聯(lián)起來
用IN(集合)

  • 10.NULL的查詢:IS[NOT] NULL

  • 11.分頁查詢:LIMIT
    作用:限制查詢結(jié)果集中的條數(shù)
    分頁查詢在項目開發(fā)中運用的非常多,只要查詢的是一個記錄的集合(多條記錄)都在使用分頁查詢。
--起始下標為0
--從0開始,篩選n條結(jié)果
select....from 表名 [where...] [order by...] limit n;

--從s開始,篩選n條結(jié)果
select....from 表名 [where...] [order by...] limit s, n;

?? 注意:如果起始位置超過了整個結(jié)果集的范圍,也是可以執(zhí)行的,只不過是一個空集

--從s開始,篩選n條結(jié)果,比第二種用法更明確,推薦使用
--offset偏移量,也就是從哪開始的意思
select....from 表名 [where...] [order by...] limit n offset s;

?? 注意:s = (當前頁號-1)*每頁顯示的記錄數(shù)

三、修改(Update)

update  表名
set 列名1 = 值1, 列名2 = 值2
where  條件;
  • 1.將孫悟空的數(shù)學成績變更為80分

  • 2.將孫權(quán)的數(shù)學成績變更為60分,語文成績變更為73分

  • 3.將總成績倒數(shù)前三的同學的數(shù)學成績加上5分

四、刪除(Delete)

delete from 表名 [where ...] [order by ...] [limit...]
  • 1.刪除孫悟空的考試成績

  • 2.刪除英語成績倒數(shù)前三的同學的考試成績

    先對英語成績進行升序排序,再限制刪除的條數(shù)。
    ?? 注意:delete不加where條件是個非常危險的操作,會把表中的所有記錄都刪除。

五、文章知識總結(jié)

一、Create(新增)

  • 使用 INSERT INTO 向數(shù)據(jù)表中插入數(shù)據(jù)
  • 支持:
    • 單行插入
    • 指定列插入
    • 多行插入(推薦,效率更高)
  • ?? 插入時必須保證 列數(shù)與值的個數(shù)一致

二、Retrieve(查詢)

查詢是數(shù)據(jù)庫中最常用的操作,重點掌握以下內(nèi)容:

基礎(chǔ)查詢

  • SELECT *(生產(chǎn)環(huán)境慎用)
  • 指定列查詢(推薦)

表達式查詢

  • 列可以參與運算
  • 可以使用 AS 起別名

DISTINCT 去重

  • 只有整行數(shù)據(jù)完全一致才會被認為重復(fù)

ORDER BY 排序

  • 默認升序 ASC
  • 降序 DESC
  • 支持多字段排序(前面的優(yōu)先級更高)
  • NULL 在升序中最小,在降序中最大

WHERE 條件過濾(重點)

  • 支持比較運算符:> >= < <= = !=
  • 支持邏輯運算符:ANDOR、NOT
  • 支持 BETWEENIN、LIKE、IS NULL
  • ?? AND 優(yōu)先級高于 OR
  • ?? WHERE 不能使用別名

MySQL 執(zhí)行順序(高頻考點)

FROM → WHERE → SELECT → ORDER BY → LIMIT

理解執(zhí)行順序可以幫助我們:

  • 明白為什么 WHERE 不能使用別名
  • 理解排序為什么最后執(zhí)行
  • 理解分頁為什么寫在最后

三、Update(修改)

  • 使用 UPDATE ... SET ... WHERE ...
  • ?? 不加 WHERE 會更新整張表(極度危險)

四、Delete(刪除)

  • 使用 DELETE FROM ... WHERE ...
  • 可以結(jié)合 ORDER BY + LIMIT 精準刪除
  • ?? 不加 WHERE 會刪除整張表數(shù)據(jù)

高頻易錯點總結(jié)

  1. NULL 不能使用 = 判斷,要使用 IS NULL
  2. WHERE 中不能使用 SELECT 定義的別名
  3. AND 優(yōu)先級高于 OR
  4. 分頁公式:

s = (當前頁號 - 1) * 每頁條數(shù)

  1. 生產(chǎn)環(huán)境慎用:
    • SELECT *
    • 不帶 WHEREUPDATE
    • 不帶 WHEREDELETE

一句話總結(jié)

先確定數(shù)據(jù)來源(FROM)
再過濾數(shù)據(jù)(WHERE)
再選擇字段(SELECT)
再排序(ORDER BY)
最后限制條數(shù)(LIMIT)

掌握這條主線,MySQL 的 CRUD 操作基本就能熟練掌握。

到此這篇關(guān)于MySQL數(shù)據(jù)庫增刪改查的文章就介紹到這了,更多相關(guān)MySQL增刪改查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL關(guān)鍵字問題分析與解決方案

    MySQL關(guān)鍵字問題分析與解決方案

    在實際開發(fā)中,我們常常會遇到由于SQL語法錯誤導(dǎo)致的數(shù)據(jù)庫操作應(yīng)用不能正常運行的情況,其中,使用了MySQL關(guān)鍵字作為表名或字段名,而沒有邏輯地處理,帶來的問題最為常見,本文將從一個實際案例出發(fā),深入分析關(guān)鍵字問題及其解決方案,并提供進一步優(yōu)化與避免方案
    2024-12-12
  • SQL查詢語句執(zhí)行的過程

    SQL查詢語句執(zhí)行的過程

    這篇文章主要介紹了SQL查詢語句執(zhí)行的過程,文章圍繞主題展開SQL查詢語句的相關(guān)資料,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • C#實現(xiàn)MySQL命令行備份和恢復(fù)

    C#實現(xiàn)MySQL命令行備份和恢復(fù)

    MySQL數(shù)據(jù)庫的備份有很多工具可以使用,今天介紹一下使用C#調(diào)用MYSQL的mysqldump命令完成MySQL數(shù)據(jù)庫的備份與恢復(fù)
    2018-03-03
  • MySQL與存儲過程的相關(guān)資料

    MySQL與存儲過程的相關(guān)資料

    這篇文章主要介紹了MySQL與存儲過程的相關(guān)資料,需要的朋友可以參考下
    2007-03-03
  • MySQL事件與觸發(fā)器專題精煉

    MySQL事件與觸發(fā)器專題精煉

    觸發(fā)器是SQLserver提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲過程,事件是在?MySQL?5.1后引入的,有點類似操作系統(tǒng)的計劃任務(wù),但是周期性任務(wù)是內(nèi)置在MySQL服務(wù)端執(zhí)行的
    2022-03-03
  • MySQL中查詢字段為空或者為null的方法

    MySQL中查詢字段為空或者為null的方法

    這篇文章主要介紹了MySQL中查詢字段為空或者為null的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • SQL常見語句圖文詳解(附詳細代碼)

    SQL常見語句圖文詳解(附詳細代碼)

    作為數(shù)據(jù)庫操作的核心工具,SQL在數(shù)據(jù)管理和查詢中扮演著至關(guān)重要的角色,這篇文章主要介紹了SQL常見語句的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-02-02
  • 解決MySQL錯誤碼:1054 Unknown column ‘**‘ in ‘field list‘的問題

    解決MySQL錯誤碼:1054 Unknown column ‘**‘ in&n

    這篇文章主要介紹了解決MySQL錯誤碼:1054 Unknown column ‘**‘ in ‘field list‘的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • MySQL max_allowed_packet的坑

    MySQL max_allowed_packet的坑

    max_allowed_packet是 MySQL 中的一個設(shè)定參數(shù),用于設(shè)定所接受的包的大小,根據(jù)情形不同,其缺省值可能是 1M 或者 4M,本文主要介紹了MySQL max_allowed_packet的坑,感興趣的可以了解一下
    2024-01-01
  • MySQL數(shù)據(jù)庫遷移后無法啟動的問題解決

    MySQL數(shù)據(jù)庫遷移后無法啟動的問題解決

    本文主要介紹了MySQL數(shù)據(jù)庫遷移后無法啟動的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2025-06-06

最新評論

贵德县| 石泉县| 阳高县| 正蓝旗| 舞阳县| 肥东县| 阿勒泰市| 南投市| 三原县| 古田县| 雅江县| 五常市| 桂东县| 徐水县| 丰县| 广州市| 南皮县| 泽州县| 庆云县| 濉溪县| 湖州市| 宜黄县| 云和县| 堆龙德庆县| 华宁县| 汾阳市| 昭通市| 富裕县| 太白县| 丰县| 北流市| 若羌县| 奉贤区| 桦南县| 邳州市| 丹阳市| 天长市| 通江县| 朔州市| 宜良县| 五华县|