日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

mysql的約束及實例分析

瀏覽:34日期:2023-06-16 19:39:11
目錄表的約束空屬性默認值列描述zerofill主鍵自增長唯一鍵外鍵總結表的約束

為什么要有約束?

我們在收集一些數據的時候會要求該數據必須存在

比如說像是國家在登記公民信息的時候身份證一欄是必須要填寫的不能為空

真正約束字段的是數據類型,但是數據類型約束很單一,需要有一些額外的約束,更好的保證數據的合 法性,從業務邏輯角度保證數據的正確性。比如有一個字段是email,要求是唯一的

表的約束很多,這里主要介紹如下幾個: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。

空屬性

數據庫默認字段基本都是字段為空,但是實際開發時,盡可能保證字段不為空,因為數據為空沒辦法參與運算

所以說對于一些屬性我們要設置為非空

語法

not null

實例

我們這里創建一個班級表 其中包含班級名和所在的教室

在外面正常的邏輯中 班級和教室都是不能為空的

如果班級名為空我們就不知道自己在哪個班如果教室為空我們就不知道自己在哪個教室

所以說我們在設計數據表的時候加上非空約束

默認值

默認值:某一種數據會經常性的出現某個具體的值,可以在一開始就指定好,在需要真實數據的時候, 用戶可以選擇性的使用默認值。

語法

default xxx

我們插入一個數據嘗試

我們這里只插入了值zhangsna但是age和sex都自動填寫了

有了default之后還需要設置非空嘛?

不需要 因為如果我們沒有填值的話 系統會給我們填上默認值 所以說就不存在空值的情況了

列描述

列描述:comment,沒有實際含義,專門用來描述字段,會根據表創建語句保存,用來給程序員或DBA來進行了解。

語法

comment ‘xxx'

此外我們可以通過查看創建語句來看到對于每個列的描述

實例

zerofill

剛開始學習數據庫時,很多人對數字類型后面的長度很迷茫

比如說在下圖中 int類型后面的11是什么意思呢?

整型不是4字節碼?這個10又代表什么呢?其實沒有zerofill這個屬性,括號內的數字是毫無意義的

此時我們修改t8中age類型的屬性 在后面加上zerofill

此時我們發現age的18前面補上了三個0

也就是說zerofill的意義其實是看該類型有沒有達到指定的位數 如果沒有達到就在前面加上0填充

主鍵

主鍵:primary key用來唯一的約束該字段里面的數據,不能重復,不能為空,一張表中最多只能有一個主鍵;主鍵所在的列通常是整數類型。

語法

primary key

實例

我們創建一張表 id作為主鍵 name作為非空列

主鍵約束

主鍵中的值不能重復 一旦重復就會報錯 下面是示例

我們可以看到插入重復id時sql直接報錯了

刪除主鍵

語法

alter table 表名 drop primary key;

添加主鍵

語法

alter table 表名 add primary key(字段列表)

復合主鍵

在創建表的時候,在所有字段之后,使用primary key(主鍵字段列表)來創建主鍵,如果有多個字段 作為主鍵,可以使用復合主鍵

比如說在創建學生的課程表的時候學生id和課程號都是可以重復的 但是學生id和課程號的組合確是不能重復的 所以說我們要將他們設置為復合主鍵

語法

primary key(xxx , yyy)

自增長

auto_increment:當對應的字段,不給值,會自動的被系統觸發,系統會從當前字段中已經有的最大值+1操作,得到一個新的不同的值。通常和主鍵搭配使用,作為邏輯主鍵。

自增長的特點:

任何一個字段要做自增長,前提是本身是一個索引(key一欄有值)自增長字段必須是整數一張表最多只能有一個自增長

語法:

auto_increment

下面是實例

我們開始插入名字 之后查看id的變化情況

我們發現id數據是從1開始依次往后遞增

那么如果我們現在插入一個id為1000的數據之后的id會如何變化呢?

我們可以發現后面的id從1001開始自增了

唯一鍵

在了解唯一鍵之前我們首先要明白一個概念

并不是因為我們選擇一個屬性成為了主鍵這個屬性才具有了唯一性 而是我們選擇了一個具有唯一性的屬性成為了主鍵

也就是說除了主鍵之間還有很多數據也可能具有唯一性 這也就是我們唯一鍵出現的原因

語法

unique

下面是實例

當一個數據成為唯一鍵之后那么這個數據就不能重復了

外鍵

外鍵用于定義主表和從表之間的關系:外鍵約束主要定義在從表上,主表則必須是有主鍵約束或unique約束。

當定義外鍵后,要求外鍵列數據必須在主表的主鍵列存在或為null。

我們先來看最后一句加粗的話 也就是說主表中必須有數據從表中才能插入數據

語法:

foreign key (class_id) references myclass(id)

下面是實例 我們先創建主表 之后再從表中創建外鍵約束

我們首先像從表中插入數據嘗試

我們可以發現主表中如果沒有插入數據從表中是不能插入的

而主表中有數據 從表中就可以插入數據了

而我們刪除數據的時候必須要先刪除從表中的數據才能刪除主表

這里總結下

外鍵是在從表中定義的從表添加數據必須主表先添加主表刪除數據必須從表先刪除

我們如何理解外鍵約束

首先這是一種約束 它肯定是為了防止我們做出錯誤或不符合邏輯的操作的

理論上,上面的例子,我們不創建外鍵約束,就正常建立學生表,以及班級表,該有的字段我們都有。

但是實際過程中由于可能會由于人為操作的失誤而造成一些錯誤 比如說一些數據只有學生表中有 而不存在于班級表中(這樣就不知道這個學生在哪個班了)

所以說我們添加外鍵約束是必須的 它的本質其實就是將插入和刪除數據的合法性交給mysql去審核

總結

到此這篇關于mysql的約束及實例分析的文章就介紹到這了,更多相關mysql的約束內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲激情av| 激情五月综合| 免费国产自久久久久三四区久久| 亚洲伦乱视频| 欧美日韩免费观看一区=区三区| 久久精品91| 另类国产ts人妖高潮视频| 日韩中文字幕区一区有砖一区 | 国产精品伊人| 韩国女主播一区二区三区| 日韩免费在线| 视频一区免费在线观看| 日本亚洲视频| 风间由美中文字幕在线看视频国产欧美| 国产精品sm| 亚洲午夜91| 91精品麻豆| 欧美日韩一二| 91精品福利观看| 久久久国产亚洲精品| 亚洲毛片视频| 亚洲天堂一区二区| 日韩1区2区日韩1区2区| se01亚洲视频| 日韩精品亚洲aⅴ在线影院| 高清久久一区| 日韩高清三区| 91精品韩国| 国产精品一区二区精品视频观看| 日韩精品免费一区二区三区| 日韩欧美四区| 国产精品视区| 日韩a一区二区| 日本a口亚洲| 日韩中文欧美在线| 99精品视频在线观看免费播放| 日本成人在线一区| 夜夜精品视频| se01亚洲视频| 久久久久久色| 首页国产欧美久久| 激情欧美亚洲| 国产成人精品一区二区免费看京| 日韩精品免费观看视频| 99视频+国产日韩欧美| 日韩一区二区三区免费播放| 国产欧美高清| 欧美日本精品| 青草综合视频| 欧美日一区二区在线观看| 亚洲一区久久| 鲁大师成人一区二区三区| 91成人超碰| 在线视频日韩| 丝袜亚洲精品中文字幕一区| av亚洲在线观看| 狠狠久久婷婷| 欧美日韩在线观看视频小说| 色天使综合视频| 亚洲五月婷婷| 久久国产精品99国产| 综合激情一区| 综合激情网站| 国产麻豆一区| 国产suv精品一区二区四区视频| 国产激情久久| 日韩黄色大片网站| 免费精品国产的网站免费观看| 在线一区电影| 日韩一区二区三免费高清在线观看| 日本在线成人| 国产精品对白久久久久粗| 久久香蕉精品香蕉| 久久青草久久| 亚洲ww精品| 精品少妇av| 在线一区免费| 青青国产精品| 亚洲伊人av| 午夜在线精品| 国产精品久久| 亚洲va在线| 亚洲精品日韩久久| 精品国产乱码久久久| 精品欧美激情在线观看| 欧美在线首页| 99国产精品免费视频观看| 尹人成人综合网| 欧美a在线观看| 黄色亚洲免费| 久久精品五月| 香蕉成人久久| 国产成人久久精品麻豆二区| 99热精品在线| 在线亚洲人成| 久久狠狠亚洲综合| 欧美在线亚洲| 国产videos久久| 日韩精彩视频在线观看| 亚洲大全视频| 精品网站999| 亚洲18在线| av高清一区| 日韩成人午夜精品| 99riav1国产精品视频| 久久久久免费| 国产精品第一国产精品| 日韩制服丝袜av| 在线 亚洲欧美在线综合一区| 日韩1区2区| 精品黄色一级片| 国产精品久久乐| 日本在线不卡视频一二三区| 黑丝一区二区| 欧美日韩三区| 在线看片不卡| 黄色日韩精品| 激情偷拍久久| 99久久亚洲精品| 日韩精品首页| 99久久激情| 欧美日韩一二三四| 一区二区小说| 国产精品99一区二区| 99久久亚洲精品| 欧美成人精品| 国产亚洲高清视频| 一本色道精品久久一区二区三区| 亚洲精品电影| 蜜桃视频第一区免费观看| 国产毛片一区| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 日韩精品高清不卡| 欧美一区精品| 久久久91麻豆精品国产一区| 欧美激情99| 人人香蕉久久| av一区二区高清| 日产欧产美韩系列久久99| 国产亚洲精品精品国产亚洲综合 | 久久久久免费| 欧美亚洲国产精品久久| 国产一区白浆| 日韩不卡一二三区| av最新在线| 国产一区成人| 国产精品久久久亚洲一区| 国产美女高潮在线| 亚洲一区久久| 国产欧美自拍| 99精品视频精品精品视频| 日av在线不卡| 精品淫伦v久久水蜜桃| 一区免费在线| 国产精东传媒成人av电影| 免费观看亚洲| 亚洲免费福利一区| 97se综合| 日本欧美韩国一区三区| 肉色欧美久久久久久久免费看 | 精品一区二区三区中文字幕在线| 99精品视频在线| 欧美精品三级在线| 好吊日精品视频| 中文字幕人成乱码在线观看 | 蜜桃av在线播放| 日韩一区欧美二区| 日本精品影院| 国产乱人伦丫前精品视频| 欧美日韩一二三四| 久久精品免视看国产成人| 亚洲网址在线观看| 日本久久成人网| 成人亚洲精品| 国产福利亚洲| 日韩精品久久理论片| 亚洲一区欧美二区| 秋霞影院一区二区三区| 国产不卡精品在线| 久久三级毛片| 国产精品xxx| 日韩不卡免费视频| 天堂va在线高清一区| 日韩中文字幕麻豆| 蘑菇福利视频一区播放| 午夜av一区| 亚洲一区久久| 亚洲欧美日本视频在线观看| 91久久中文| 丝袜美腿亚洲一区| 视频一区国产视频| 日本一区二区三区视频在线看| 蜜桃一区二区三区在线观看| 午夜在线精品| 日韩精品欧美大片| 久久av免费看| 国产精品www.| 日本久久综合| 欧美/亚洲一区| 亚洲精品午夜av福利久久蜜桃|