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

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

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

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

一、新增(create)

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

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

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

  • 1.如果列與值的個(gè)數(shù)不匹配就會(huì)報(bào)一個(gè)錯(cuò)誤,這條記錄無(wú)法寫(xiě)入數(shù)據(jù)表

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

2.指定列插入

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

3.多行插入

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

二、查詢(xún)(Retrieve)

1.全列查詢(xún)

 select *from 表名;

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

2.指定列查詢(xún)

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

指定查詢(xún)id,姓名,和語(yǔ)文成績(jī)。

  • 查詢(xún)的結(jié)果是一個(gè)表達(dá)式

  • 把所有學(xué)生的語(yǔ)文成績(jī)?cè)谠瓉?lái)的基礎(chǔ)上加上十分

  • 列與列之間也可以參與運(yùn)算,計(jì)算總分


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

3.去重:DISTINCT

select distinct 列名 from 表名;

這里沒(méi)有加distinct關(guān)鍵字查詢(xún)出來(lái)的成績(jī)有兩個(gè)98分

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

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

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

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

4.排序:ORDER BY

排序規(guī)則

1.升序 ASC(不指定時(shí),默認(rèn)是升序)
2.降序 DESC

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

  • 2.對(duì)數(shù)學(xué)成績(jī)進(jìn)行升序排序

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

  • 4.使用表達(dá)式及別名排序

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

不論什么值和NULL進(jìn)行運(yùn)算,返回值都是NULL
NULL始終被判定為FALSE
NULL的值不是我們以前學(xué)過(guò)的其他編程語(yǔ)言中的0,在MYSQL中它就是NULL

  • 5.可以對(duì)多個(gè)字段進(jìn)行排序,排序的優(yōu)先級(jí)與書(shū)寫(xiě)有關(guān)
    例如:先按數(shù)學(xué)降序排序,再按語(yǔ)文升序排序,再按英語(yǔ)進(jìn)行升序排序

5.條件查詢(xún):WHERE

語(yǔ)法:

select *from 表名 where 列名/表達(dá)式 運(yùn)算符 條件;

5.1 運(yùn)算符說(shuō)明表

運(yùn)算符說(shuō)明
>大于
>=大于等于
<小于
<=小于等于
=等于,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 中的任意一個(gè),返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配,% 表示任意多個(gè)(包括 0 個(gè))任意字符,_ 表示任意一個(gè)字符

5.5邏輯運(yùn)算符說(shuō)明表

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

?? 注意:

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

例如

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

     

     

  • 2.查詢(xún)英語(yǔ)成績(jī)不及格的同學(xué)(<60)

  • 3.查詢(xún)語(yǔ)文成績(jī)好于英語(yǔ)成績(jī)的同學(xué)


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


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

     

  • 5.查詢(xún)語(yǔ)文成績(jī)大于80且英語(yǔ)成績(jī)大于80的同學(xué)

  • 6.查詢(xún)語(yǔ)文成績(jī)大于80或英語(yǔ)成績(jī)大于80的同學(xué)

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

  • 8.查詢(xún)語(yǔ)文成績(jī)?cè)赱80,90]分的同學(xué)的語(yǔ)文成績(jī)

  • 9.查詢(xún)數(shù)學(xué)成績(jī)是58 或者 59 或者 98 或者 99 分的同學(xué)

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

  • 10.NULL的查詢(xún):IS[NOT] NULL

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

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

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

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

?? 注意:s = (當(dāng)前頁(yè)號(hào)-1)*每頁(yè)顯示的記錄數(shù)

三、修改(Update)

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

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

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

四、刪除(Delete)

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

  • 2.刪除英語(yǔ)成績(jī)倒數(shù)前三的同學(xué)的考試成績(jī)

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

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

一、Create(新增)

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

二、Retrieve(查詢(xún))

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

基礎(chǔ)查詢(xún)

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

表達(dá)式查詢(xún)

  • 列可以參與運(yùn)算
  • 可以使用 AS 起別名

DISTINCT 去重

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

ORDER BY 排序

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

WHERE 條件過(guò)濾(重點(diǎn))

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

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

FROM → WHERE → SELECT → ORDER BY → LIMIT

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

  • 明白為什么 WHERE 不能使用別名
  • 理解排序?yàn)槭裁醋詈髨?zhí)行
  • 理解分頁(yè)為什么寫(xiě)在最后

三、Update(修改)

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

四、Delete(刪除)

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

高頻易錯(cuò)點(diǎn)總結(jié)

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

s = (當(dāng)前頁(yè)號(hào) - 1) * 每頁(yè)條數(shù)

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

一句話總結(jié)

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

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

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

相關(guān)文章

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

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

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

    SQL查詢(xún)語(yǔ)句執(zhí)行的過(guò)程

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

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

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

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

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

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

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

    MySQL中查詢(xún)字段為空或者為null的方法

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

    SQL常見(jiàn)語(yǔ)句圖文詳解(附詳細(xì)代碼)

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

    解決MySQL錯(cuò)誤碼:1054 Unknown column ‘**‘ in&n

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

    MySQL max_allowed_packet的坑

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

    MySQL數(shù)據(jù)庫(kù)遷移后無(wú)法啟動(dòng)的問(wèn)題解決

    本文主要介紹了MySQL數(shù)據(jù)庫(kù)遷移后無(wú)法啟動(dòng)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2025-06-06

最新評(píng)論

临沭县| 汝州市| 丹棱县| 始兴县| 高邑县| 莒南县| 合山市| 宁南县| 丽江市| 高青县| 湛江市| 漳州市| 黄浦区| 南陵县| 沂源县| 巴林右旗| 寻甸| 合作市| 澄江县| 临桂县| 苍溪县| 大邑县| 电白县| 吐鲁番市| 吴旗县| 志丹县| 藁城市| 桃园县| 丰都县| 隆安县| 康保县| 稻城县| 玛沁县| 神农架林区| 资兴市| 朝阳县| 大荔县| 山东| 洪洞县| 甘谷县| 夏邑县|