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

MySQL表的約束與基本查詢圖文詳解

 更新時間:2026年01月04日 10:08:16   作者:打不了嗝  
MySQL中的表約束是確保數(shù)據(jù)完整性、準(zhǔn)確性和合法性的關(guān)鍵機制,這篇文章主要介紹了MySQL表的約束與基本查詢的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一. 表的約束

1. 空屬性

表創(chuàng)建的時候默認(rèn)屬性為null。null 表示當(dāng)用戶插入數(shù)據(jù)時,該字段允許為空。反之,not null 就是不允許為空

案例:

當(dāng)類型設(shè)置為 not null 時,我們插入數(shù)據(jù)不添加該項就會導(dǎo)致報錯。

2. 默認(rèn)值

當(dāng)我們插入數(shù)據(jù)時,可以提前設(shè)置好默認(rèn)值,當(dāng)我們插入數(shù)據(jù)沒有添加該項時,就會按照默認(rèn)值自動填充。

案例:

當(dāng)我們設(shè)置好默認(rèn)值后,我們插入后就會自動填充其余數(shù)據(jù)。

3. 列描述

comment 列描述,沒有特別含義,用于給列進行備注

案例:

4. zerofill

zerofill 用于填充數(shù)字類型前的空位,用0進行填充

案例:

這里的int(5)占著5位,數(shù)字18占2位,使用zerofill后會自動填充剩余3位為0

5. 主鍵

主鍵primary key是唯一的約束字段里的數(shù)據(jù),主鍵標(biāo)識的字段不能重復(fù)且不能為空。一張表內(nèi)往往只能有一個主鍵。

案例:

我們給id添加主鍵后,第一次插入id為1的時候是成功的,第二次插入id為1的時候會告警重復(fù)。

當(dāng)我們想要刪除主鍵時,進行drop操作即可。

我們也可以用兩個字段當(dāng)做復(fù)合主鍵進行使用。

6. 自增長

auto_increment:當(dāng)對應(yīng)字段不給值時,會按照當(dāng)前已有的最大值進行+1操作,獲得一個新的值。它必須是一個 key 值,并且必須是整數(shù),一張表中最多只能存在一個自增長。

案例:

例如我們插入a時 id 默認(rèn)為1,插入 b 時系統(tǒng)會自動給 id 加上 1

7. 唯一鍵

唯一鍵的作用是保證該字段的內(nèi)容唯一。它與主鍵的區(qū)別在于,主鍵是保證字段是唯一的但同時他也要起到標(biāo)識的作用。而唯一鍵只是在業(yè)務(wù)邏輯上需要保證唯一,他不需要起到標(biāo)識作用。

案例:

我們用 unique 標(biāo)識唯一鍵,此時在id列上 id 就不能重復(fù)

8. 外鍵

外鍵 foreign key (字段名) references 主表() ,主要是連接主表和從表,將兩個表建立聯(lián)系

案例:

插入一個班級號為30的學(xué)生,因為沒有這個班級,所以插入不成功

二. 基本查詢

1. Create

(1)單行數(shù)據(jù) + 全列插入

插入的數(shù)量和順序要和定義表時一致。

案例:

(2)多行數(shù)據(jù) + 指定列插入

插入兩條記錄的數(shù)量和順序要和定義表時一致。

案例:

(3)插入否則更新

on duplicate key update,檢查表中是否存在該主鍵的數(shù)據(jù),若不存在直接插入,若存在則覆蓋插入

案例:

如何判斷表中數(shù)據(jù)是否沖突或者覆蓋了

0 row affected:表中有數(shù)據(jù)沖突,但要插入的值和原先的值一致,所以0行改變

1 row affected:表中沒有數(shù)據(jù)沖突,數(shù)據(jù)被 插入

2 row affected:表中有數(shù)據(jù)沖突,并且數(shù)據(jù)已經(jīng)更新

(4)替換

replace into 【表名】,若表沖突就進行覆蓋,不沖突就直接插入

案例:

2. Retrieve

(1)SELECT 列

全列查詢 select * from 【表名】

案例:

指定列查詢 select 【列】,【列】from 【表】

案例:

查詢不包含字段 select 【表達式】from 【表】

案例:

去重列元素 select distinct 【列】from【表】

案例:

(2)WHRER 條件

where 相當(dāng)于我們學(xué)習(xí)語言中的判斷條件,往往是優(yōu)先執(zhí)行的,先執(zhí)行判斷條件再執(zhí)行函數(shù)體

例如這里我們篩選要求數(shù)學(xué)和英語成績

案例:

like ‘【樣式】%’  可以篩選有相似的列,如下面我們篩選了孫相關(guān)的列

案例:

(3)結(jié)果排序

asc 為升序,desc 為降序

我們通過下面案例可以觀察,多個排序是按照第一個優(yōu)先,在第一個一樣的基礎(chǔ)上才會進行第二項排序。當(dāng)我們不加desc或者asc,默認(rèn)情況下是采用asc(升序),所以我們使用時只用desc即可

案例:

order by 用于跟在select后面進行結(jié)果排序

(4)篩選分頁結(jié)果

當(dāng)我們查詢大量數(shù)據(jù)時,我們可以采取分頁的方法,避免一次性加載數(shù)據(jù)過多

案例:

limit 是要返回的行數(shù),offset 是偏移量

3. Update

update 【表】set【列改變】where【列名】

用于更新表內(nèi)數(shù)據(jù)

案例:

這里對孫權(quán)的數(shù)學(xué)成績改為了60

4. Delete

Delete from【表名】where【列定位】

案例:

若我們想刪除整張表無需添加where即可實現(xiàn)

5. 聚合函數(shù)

聚合函數(shù)類似,count  sum  avg  max  min,用于計算列數(shù)量,數(shù)據(jù)總和,平均最大最小值

案例:

總結(jié) 

到此這篇關(guān)于MySQL表的約束與基本查詢的文章就介紹到這了,更多相關(guān)MySQL表的約束與基本查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL查詢in操作 查詢結(jié)果按in集合順序顯示

    MySQL查詢in操作 查詢結(jié)果按in集合順序顯示

    MySQL 查詢in操作,查詢結(jié)果按in集合順序顯示的實現(xiàn)代碼,需要的朋友可以參考下。
    2010-12-12
  • mysql屬于關(guān)系型數(shù)據(jù)庫嗎

    mysql屬于關(guān)系型數(shù)據(jù)庫嗎

    在本篇文章里小編給大家分享的是一篇關(guān)于mysql是否屬于關(guān)系型數(shù)據(jù)庫的相關(guān)文章,有興趣的朋友們可以參考下。
    2020-06-06
  • mysql報錯:1406 Data too long for column問題的多種解決方案

    mysql報錯:1406 Data too long for colu

    這篇文章給大家介紹了多種解決mysql報錯:1406, Data too long for column的解決方法,如果有遇到相同問題的朋友可以參考閱讀本文,對解決問題有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • mysql 5.7.18 winx64安裝配置方法圖文教程

    mysql 5.7.18 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了windows7下mysql 5.7.18 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • mysql數(shù)據(jù)庫鏈接失敗常見問題及解決

    mysql數(shù)據(jù)庫鏈接失敗常見問題及解決

    這篇文章主要介紹了mysql數(shù)據(jù)庫鏈接失敗常見問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySql 5.7.17壓縮包免安裝的配置過程圖解

    MySql 5.7.17壓縮包免安裝的配置過程圖解

    這篇文章主要介紹了MySql 5.7.17壓縮包免安裝的配置過程圖解,本文圖文并茂給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • mysql函數(shù)split功能實現(xiàn)

    mysql函數(shù)split功能實現(xiàn)

    mysql 5.* 的版本現(xiàn)在沒有split 函數(shù),但有些地方會用,在這里就簡單記錄一下
    2012-09-09
  • mysql 索引合并的使用

    mysql 索引合并的使用

    索引合并是mysql底層為我們提供的智能算法。本文就介紹了mysql 索引合并的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java將excel中的數(shù)據(jù)導(dǎo)入到mysql中

    Java將excel中的數(shù)據(jù)導(dǎo)入到mysql中

    這篇文章主要介紹了Java將excel中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫,小編覺得挺不錯的,現(xiàn)在分享給大家,需要的朋友可以參考借鑒
    2018-05-05
  • MySQL中字符串比較大小詳解(日期字符串比較問題)

    MySQL中字符串比較大小詳解(日期字符串比較問題)

    varchar類型的數(shù)據(jù)是不能直接比較大小的,下面這篇文章主要給大家介紹了關(guān)于MySQL中字符串比較大小的相關(guān)資料,詳細(xì)介紹了日期字符串比較問題,需要的朋友可以參考下
    2022-08-08

最新評論

通榆县| 灌云县| 襄汾县| 东乌| 肇源县| 三明市| 抚顺市| 彭水| 象州县| 磐石市| 陆河县| 沧州市| 遵义县| 屯门区| 江陵县| 双桥区| 赤城县| 新沂市| 郓城县| 丹江口市| 双城市| 安乡县| 红原县| 中江县| 浪卡子县| 济宁市| 高州市| 益阳市| 如东县| 赞皇县| 钦州市| 建宁县| 巴彦县| 内江市| 太康县| 多伦县| 罗定市| 吕梁市| 商城县| 蓬溪县| 普洱|