婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > MySQL約束類(lèi)型及舉例介紹

MySQL約束類(lèi)型及舉例介紹

熱門(mén)標(biāo)簽:湘潭電銷(xiāo)機(jī)器人咨詢(xún)電話 電銷(xiāo)機(jī)器人針對(duì)的 400電話辦理都選易號(hào)網(wǎng) 寶應(yīng)電信400電話辦理費(fèi)用 外呼系統(tǒng)防封號(hào)違法嗎 高德地圖標(biāo)注模式 高德地圖標(biāo)注中心個(gè)人注冊(cè) 如何在高德地圖標(biāo)注新地址 外呼系統(tǒng)服務(wù)

約束 

  • 約束保證數(shù)據(jù)的完整性和一致性
  • 約束分為表級(jí)約束和列級(jí)約束
  • 約束類(lèi)型包括:NOT NULL (非空約束),PRIMARY KEY(主鍵約束),UNIQUE KEY(唯一約束),DEFAULT(默認(rèn)約束),F(xiàn)OREIGN(外鍵約束)

1.主鍵約束

  • PRIMARY KEY
  • 每張數(shù)據(jù)表只能存在一個(gè)主鍵
  • 主鍵保證記錄的唯一性,主鍵的值不重復(fù)
  • 主鍵自動(dòng)為 NOT NULL

舉例,創(chuàng)建一張student表,將學(xué)號(hào)設(shè)置為主鍵創(chuàng)建完表之后,通過(guò)SHWO COLUMNS FROM student查看表結(jié)構(gòu)

CREATE TABLE student(
id int PRIMARY KEY,
stu_name varchar(20)
);

2.唯一約束

  • UNIQUE KEY
  • 唯一約束可以保證記錄的唯一性
  • 唯一約束的字段可以為空值(NULL)
  • 每張數(shù)據(jù)表可以存在多個(gè)唯一約束

舉例,創(chuàng)建一個(gè)teacher表,id字段自增,tea_name唯一

CREATE TABLE teacher(
id int AUTO_INCREMENT PRIMARY KEY,
tea_name varchar(20) NOT NULL UNIQUE KEY
);

3.默認(rèn)約束

  • DEFAULT
  • 當(dāng)插入記錄時(shí),如果沒(méi)有明確為字段賦值,則自動(dòng)賦予默認(rèn)值

舉例,創(chuàng)建一張course表,默認(rèn)上課時(shí)間為40分鐘

CREATE TABLE course(
id int AUTO_INCREMENT PRIMARY KEY,
cou_name varchar(20) NOT NULL UNIQUE KEY,
time int DEFAULT 40
);
INSERT INTO course(cou_name) values('語(yǔ)文');

4.非空約束

  • NOT NULL
  • 強(qiáng)制列不能為 NULL 值,約束強(qiáng)制字段始終包含值。
  • 這意味著,如果不向字段添加值,就無(wú)法插入新記錄或者更新記錄。

舉例,在 "Persons" 表創(chuàng)建時(shí)在 Id列、name列創(chuàng)建 not null 約束:

create table Persons(
id int not NULL,
p_name varchar(20) not null, 
deparment varchar(20),
address varchar(20),
telNum varchar(20)
)
DESC Persons;

5.外鍵約束

  • FOREIGN KEY
  • 保持?jǐn)?shù)據(jù)的一致性,完整性
  • 實(shí)現(xiàn)1對(duì)1或1對(duì)n關(guān)系

1.父表與子表必須使用相同的存儲(chǔ)引擎,而且禁止使用臨時(shí)表。
2.數(shù)據(jù)表的存儲(chǔ)引擎只能是InnoDB
3.外鍵列和參照列必須具有相似的數(shù)據(jù)類(lèi)型。其中數(shù)字的長(zhǎng)度或是否有符號(hào)位必須相同;而字符的長(zhǎng)度則可以不同。
4.外鍵列和參照列必須創(chuàng)建索引。如果外鍵列不存在索引的話,MySQL將自動(dòng)創(chuàng)建索引。

CREATE TABLE school(
id int AUTO_INCREMENT PRIMARY KEY,
sname varchar(20) NOT NULL
);
CREATE TABLE student2(
id int AUTO_INCREMENT PRIMARY KEY,
sid int,
FOREIGN KEY (sid) REFERENCES school(id)
);

外鍵約束的參照操作

  • CASCADE : 從父表刪除或更新且自動(dòng)刪除或更新子表中匹配的行
  • 父表中被引用的列刪除了某個(gè)數(shù)據(jù),子表中刪除對(duì)應(yīng)數(shù)據(jù)的行
CREATE TABLE student3(
id int AUTO_INCREMENT PRIMARY KEY,
sid int,
FOREIGN KEY (sid) REFERENCES school(id) ON DELETE CASCADE
);
  • SET NULL:從父表刪除或更新行,并設(shè)置子表的外鍵列為NULL。如果使用該項(xiàng),必須保證子表列沒(méi)有指定NOT NULL
  • 父表中刪除數(shù)據(jù),將子表中的引用設(shè)置為NULL
  • RESTRICT:拒絕對(duì)父表的刪除或更新操作
  • NO ACTION:標(biāo)準(zhǔn)SQL的關(guān)鍵字,在MySQL中與RESTRICT相同

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • mysql完整性約束實(shí)例詳解
  • MySQL約束超詳解
  • MySQL中常見(jiàn)的六個(gè)約束類(lèi)型詳解
  • 基于MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)約束實(shí)例及五種完整性約束介紹
  • MySQL學(xué)習(xí)之?dāng)?shù)據(jù)庫(kù)表五大約束詳解小白篇

標(biāo)簽:蘭州 佛山 宿遷 賀州 南充 馬鞍山 黃山 黔南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL約束類(lèi)型及舉例介紹》,本文關(guān)鍵詞  MySQL,約束,類(lèi)型,及,舉例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL約束類(lèi)型及舉例介紹》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySQL約束類(lèi)型及舉例介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 抚松县| 扶沟县| 上饶县| 邛崃市| 珲春市| 乐昌市| 塔河县| 循化| 靖西县| 德化县| 来安县| 绍兴县| 南丰县| 齐河县| 屏边| 庆阳市| 衡水市| 碌曲县| 南雄市| 福鼎市| 新平| 肥西县| 乐安县| 辽宁省| 根河市| 林甸县| 平定县| 南岸区| 侯马市| 称多县| 迭部县| 赤城县| 榆中县| 扶风县| 新余市| 吉木萨尔县| 吉安市| 连江县| 乌拉特前旗| 秀山| 墨玉县|