SQL--約束

SQL--約束

博客說明

文章所涉及的資料來自互聯(lián)網(wǎng)整理和個(gè)人總結(jié),意在于個(gè)人學(xué)習(xí)和經(jīng)驗(yàn)匯總,如有什么地方侵權(quán)掷豺,請聯(lián)系本人刪除,謝謝薄声!

概念

對表中的數(shù)據(jù)進(jìn)行限定当船,保證數(shù)據(jù)的正確性、有效性和完整性

分類

  • 主鍵約束:primary key
  • 非空約束:not null
  • 唯一約束:unique
  • 外鍵約束:foreign key

非空約束

not null默辨,值不能為null

  1. 創(chuàng)建表時(shí)添加約束

    CREATE TABLE stu(
     id INT,
     NAME VARCHAR(20) NOT NULL -- name為非空
    );
    
  2. 創(chuàng)建表完后生年,添加非空約束

    ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
    
  3. 刪除name的非空約束

    ALTER TABLE stu MODIFY NAME VARCHAR(20);
    

主鍵約束

primary key

  1. 注意:

    1. 含義:非空且唯一
    2. 一張表只能有一個(gè)字段為主鍵
    3. 主鍵就是表中記錄的唯一標(biāo)識(shí)
  2. 在創(chuàng)建表時(shí),添加主鍵約束

    create table stu(
     id int primary key,-- 給id添加主鍵約束
     name varchar(20)
    );
    
  3. 刪除主鍵

    -- 錯(cuò)誤 alter table stu modify id int ;
    ALTER TABLE stu DROP PRIMARY KEY;
    
  4. 創(chuàng)建完表后廓奕,添加主鍵

    ALTER TABLE stu MODIFY id INT PRIMARY KEY;
    
  5. 自動(dòng)增長:

    1. 概念:如果某一列是數(shù)值類型的抱婉,使用 auto_increment 可以來完成值得自動(dòng)增長

    2. 在創(chuàng)建表時(shí),添加主鍵約束桌粉,并且完成主鍵自增長

      create table stu(
        id int primary key auto_increment,-- 給id添加主鍵約束
        name varchar(20)
      );
      
    3. 刪除自動(dòng)增長

      ALTER TABLE stu MODIFY id INT;
      
    4. 添加自動(dòng)增長

      ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
      

唯一約束

unique蒸绩,值不能重復(fù)

  1. 創(chuàng)建表時(shí),添加唯一約束

    CREATE TABLE stu(
         id INT,
         phone_number VARCHAR(20) UNIQUE -- 添加了唯一約束
    );
    
    • 注意mysql中铃肯,唯一約束限定的列的值可以有多個(gè)null
  2. 刪除唯一約束

    ALTER TABLE stu DROP INDEX phone_number;
    
  3. 在創(chuàng)建表后患亿,添加唯一約束

    ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
    

外鍵約束

foreign key,讓表于表產(chǎn)生關(guān)系,從而保證數(shù)據(jù)的正確性押逼。

  1. 在創(chuàng)建表時(shí)步藕,可以添加外鍵

    • 語法:

      create table 表名(
         ....
         外鍵列
         constraint 外鍵名稱 foreign key (外鍵列名稱) references 主表名稱(主表列名稱)
      );
      
  2. 刪除外鍵

    ALTER TABLE 表名 DROP FOREIGN KEY 外鍵名稱;
    
  3. 創(chuàng)建表之后,添加外鍵

    ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵字段名稱) REFERENCES 主表名稱(主表列名稱);
    
  4. 級聯(lián)操作

    1. 添加級聯(lián)操作

      語法:ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱

      FOREIGN KEY (外鍵字段名稱) REFERENCES 主表名稱(主表列名稱) ON UPDATE CASCADE ON DELETE CASCADE  ;
      
    2. 分類:

      1. 級聯(lián)更新:ON UPDATE CASCADE
      2. 級聯(lián)刪除:ON DELETE CASCADE

感謝

黑馬程序員

以及勤勞的自己

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挑格,一起剝皮案震驚了整個(gè)濱河市咙冗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漂彤,老刑警劉巖雾消,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灾搏,死亡現(xiàn)場離奇詭異,居然都是意外死亡立润,警方通過查閱死者的電腦和手機(jī)狂窑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桑腮,“玉大人泉哈,你說我怎么就攤上這事∑铺郑” “怎么了丛晦?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長添忘。 經(jīng)常有香客問我采呐,道長若锁,這世上最難降的妖魔是什么搁骑? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮又固,結(jié)果婚禮上仲器,老公的妹妹穿的比我還像新娘。我一直安慰自己仰冠,他們只是感情好乏冀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洋只,像睡著了一般辆沦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上识虚,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天肢扯,我揣著相機(jī)與錄音,去河邊找鬼担锤。 笑死蔚晨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肛循。 我是一名探鬼主播铭腕,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼多糠!你這毒婦竟也來了累舷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夹孔,失蹤者是張志新(化名)和其女友劉穎笋粟,沒想到半個(gè)月后怀挠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡害捕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年绿淋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尝盼。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吞滞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裁赠,到底是詐尸還是另有隱情,我是刑警寧澤赴精,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布佩捞,位于F島的核電站,受9級特大地震影響蕾哟,放射性物質(zhì)發(fā)生泄漏一忱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一谭确、第九天 我趴在偏房一處隱蔽的房頂上張望帘营。 院中可真熱鬧,春花似錦逐哈、人聲如沸芬迄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禀梳。三九已至,卻和暖如春肠骆,著一層夾襖步出監(jiān)牢的瞬間算途,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工哗戈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郊艘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓唯咬,卻偏偏與公主長得像纱注,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子胆胰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355