<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
為了防止往資料表中插入錯誤的資料,在MySQL中,定義了一些維護資料庫完整性的規則,即表的約束。
常見的表的約束:
上表中列舉的約束條件都是針對表中欄位進行限制, 從而保證資料表中資料的正確性和唯一性。
在MySQL中,為了快速查詢表中的某條資訊,可以通過設定主鍵來實現。主鍵約束是通過PRIMARY KEY定義的,它可以唯一標識表中的記錄,這就好比身份證可以用來標識人的身份一樣。
在MySQL中,主鍵約束分兩種,具體如下:
1、單欄位主鍵
單欄位主鍵指的是由一個欄位構成的主鍵,其基本語法如下:
上述案例中,表student建立了id、name和grade三個欄位,其中id欄位是主鍵。
2、多欄位主鍵
多欄位主鍵指的是多個欄位組合而成的主鍵,其基本的語法格式如下所示:
上述案例中,表student建立了id、name和grade三個欄位,其中id和name兩個欄位組合可以唯一確定一條記錄。
【補充】一個表最多可以建立一個主鍵。
如果表A的主鍵是表B中的欄位,則該欄位稱為表B的外來鍵;另外表A稱為主表,表B稱為從表。外來鍵是用來
實現參照完整性的,不同的外來鍵約束方式將可以使兩張表緊密的結合起來,特別是修改或刪除的級聯操作將使
得日常維護更輕鬆。外來鍵主要用來保證資料的完整性和一致性。其基本語法如下:
【補充】一個表允許有多個外來鍵,且外來鍵只適用於InnoDB表,MyISAM表不支援外來鍵。
InnoDB表和MyISAM表的主要區別是:InnoDB表支援事務、行鎖和外來鍵,MyISAM不支援;InnoDB表索引式修改效率較MyISAM高,MyISAM表查詢、插入和刪除效率較InnoDB高,而且MyISAM索引和資料分離,索引壓縮儲存,而InnoDB索引和資料緊密結合,不支援壓縮,所以MyISAM記憶體利用率比InnoDB高;另外MyISAM的移植性也更強。
非空約束指的是欄位的值不能為NULL,在MySQL中,非空約束是通過NOT NULL定義的,其基本語法
如下:
上述案例中,表student包含id、name和grade三個欄位。其中id為主鍵,name為非空欄位。
【補充】一個表可以有多個非空約束欄位。
唯一約束用於儲存資料表中欄位的唯一性,類似於主鍵,即表中欄位值不能重複出現。
唯一約束是通過UNIQUE定義的,其基本語法如下:
上述案例中,表student包含id、name和grade三個欄位。其中id為主鍵,name欄位為唯一值,不能重複。
【補充】一個表可以有多個唯一約束欄位。
預設約束用於給資料表中的欄位指定預設值,即當在表中插入一條新紀錄時,如果沒有給這個欄位賦值,那麼,資料庫系統會自動為這個欄位插入預設值。
預設值是通過DEFAULT關鍵字定義的,其基本語法如下:
上述案例中,表student包含id、name和grade三個欄位。其中id為主鍵,grade欄位的預設值為0。
【補充】一個表可以有多個預設約束欄位。
在資料表中,若想為表中插入新記錄自動生成唯一的ID,可以使用AUTO_INCREMENT約束來實現。
AUTO_INCREMENT約束的欄位可以是任何整數型別。預設情況下,改欄位的值是從1開始自增的。
其基本語法如下:
上述案例中,表student包含id、name和grade三個欄位。其中id為主鍵,且沒插入一條新紀錄,id都會自動增加。
【補充】一個表只能設定一個自增約束欄位。
primary key (PK) #標識該欄位為該表的主鍵,可以唯一的標識記錄,主鍵就是不為空 且唯一當然其還有加速查詢的作用 foreign key (FK) #標識該欄位為該表的外來鍵,用來建立表與表的關聯關係 not null #標識該欄位不能為空 unique key (UK) #標識該欄位的值是唯一的 auto_increment #標識該欄位的值自動增長(整數型別,而且為主鍵) default #為該欄位設定預設值 unsigned #將整型設定為無符號即正數 zerofill #不夠使用0進行填充
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45