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

Mysql中的SQL約束Constraint有哪幾種

 更新時(shí)間:2024年01月16日 09:58:53   作者:加油當(dāng)當(dāng)  
這篇文章主要介紹了Mysql中的SQL約束Constraint有哪幾種,約束是為了使表中的數(shù)據(jù)有效,常見的約束有非空約束、唯一性約束、主鍵約束、外鍵約束、檢查約束,需要的朋友可以參考下

常用約束

  • 非空約束(not null):約束的字段不能為NULL;只有列級(jí)約束,沒有表級(jí)約束(也就是說,只能約束某個(gè)字段值不為空);
  • 唯一約束(unique):約束的字段不能重復(fù);既有列級(jí)約束,也有表級(jí)約束;
  • 主鍵約束(primary key):約束的字段既不能為NULL,也不能重復(fù)(簡稱PK);既有列級(jí)約束,也有表級(jí)約束;
  • 外鍵約束(foreign key):...(簡稱FK);
  • 檢查約束(check):注意Oracle數(shù)據(jù)庫有check約束,但是mysql沒有,目前mysql不支持該約束;

not null

只有列級(jí)約束,沒有表級(jí)約束(也就是說,只能約束某個(gè)字段值不為空);

create table t_student(
student_name         varchar(25) not null,    
)

unique

既有列級(jí)約束,也有表級(jí)約束; unique約束修飾的字段具有唯一性,不能重復(fù)。 但可以是NULL,NULL不是值,所以多個(gè)NULL不是重復(fù)

列級(jí)約束

create table t_user(
id int,
username varchar(255) unique
);

多個(gè)字段聯(lián)合起來添加1個(gè)約束unique 【表級(jí)約束】

create table t_user(
id int,
usercode varchar(255),
username varchar(255),
unique(usercode,username) 
);

主鍵約束

primary key:既有列級(jí)約束,也有表級(jí)約束; 主鍵相關(guān)的術(shù)語?                 

主鍵約束 : primary key

主鍵字段 : id字段添加primary key之后,id叫做主鍵字段

主鍵值 : id字段中的每一個(gè)值都是主鍵值。

主鍵特點(diǎn):不能為NULL,也不能重復(fù) 一張表的主鍵約束只能有一個(gè); 有表級(jí)約束也有列級(jí)約束

表級(jí)約束

create table t_user(
id int,
username varchar(255),
primary key(id)                  
);

列級(jí)約束

create table t_student()
student_id          int(10)  primary key,    
student_name         varchar(20) not null,
sex                char(2)  default  'm',
birthday        date,
email                varchar(30)  ,
classes_id        int(3)        
)

主鍵值自增

drop table if exists t_user;
create table t_user(
id int primary key auto_increment, 
username varchar(255)
);

外鍵約束

關(guān)于外鍵約束的相關(guān)術(shù)語:

  • 外鍵約束: foreign key
  • 外鍵字段:添加有外鍵約束的字段
  • 外鍵值:外鍵字段中的每一個(gè)值。

外鍵可以為NULL;

如果表中某個(gè)字段為外鍵字段,則該字段的值必須來源參照表的主鍵;

外鍵主要是維護(hù)表之間的關(guān)系的,主要是為了保證參照完整性,如果表中的某個(gè)字段為外鍵字段,那么該字段的值必須來源于參照的表的主鍵。

順序要求:

  • 刪除數(shù)據(jù)的時(shí)候,先刪除子表,再刪除父表。
  • 添加數(shù)據(jù)的時(shí)候,先添加父表,在添加子表。
  • 創(chuàng)建表的時(shí)候,先創(chuàng)建父表,再創(chuàng)建子表。
  • 刪除表的時(shí)候,先刪除子表,在刪除父表。
create table t_class(
cno int,
cname varchar(255),
primary key(cno)
);
create table t_student(
sno int,
sname varchar(255),
classno int,
primary key(sno),
foreign key(classno) references t_class(cno)
);
  1. 級(jí)聯(lián)更新與級(jí)聯(lián)刪除 父表中的數(shù)據(jù)更改,子表中的數(shù)據(jù)也會(huì)跟著變動(dòng)。
  2. 父表中的數(shù)據(jù)刪除,子表中的數(shù)據(jù)也會(huì)刪除。

到此這篇關(guān)于Mysql中的SQL約束Constraint有哪幾種的文章就介紹到這了,更多相關(guān)Mysql的Constraint約束內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql sql99語法 內(nèi)連接非等值連接詳解

    mysql sql99語法 內(nèi)連接非等值連接詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于mysql sql99語法 內(nèi)連接非等值連接的相關(guān)知識(shí)點(diǎn)文章,有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • MySQL數(shù)據(jù)庫優(yōu)化的六種方式總結(jié)

    MySQL數(shù)據(jù)庫優(yōu)化的六種方式總結(jié)

    關(guān)于數(shù)據(jù)庫優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,所以下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫優(yōu)化的六種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • mysql+Spring數(shù)據(jù)庫隔離級(jí)別與性能分析

    mysql+Spring數(shù)據(jù)庫隔離級(jí)別與性能分析

    數(shù)據(jù)庫隔離級(jí)別與Spring配置事務(wù)的聯(lián)系及性能影響,以下是個(gè)人理解,如果有瑕疵請(qǐng)及時(shí)指正
    2014-05-05
  • mysql count詳解及函數(shù)實(shí)例代碼

    mysql count詳解及函數(shù)實(shí)例代碼

    這篇文章主要介紹了mysql count詳解及函數(shù)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • MySQL實(shí)現(xiàn)定時(shí)自動(dòng)備份的流程步驟(Windows環(huán)境)

    MySQL實(shí)現(xiàn)定時(shí)自動(dòng)備份的流程步驟(Windows環(huán)境)

    這篇文章主要介紹了MySQL實(shí)現(xiàn)定時(shí)自動(dòng)備份的流程步驟(Windows環(huán)境),文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • 深入解析MySQL?事務(wù)

    深入解析MySQL?事務(wù)

    這篇文章主要給大家分享的是mysql事務(wù)解析,事務(wù)(transaction)是業(yè)務(wù)邏輯的一個(gè)基本的單元組成,下面文章圍繞mysql事務(wù)的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下希望對(duì)大家有所幫助
    2022-01-01
  • mysql實(shí)現(xiàn)事務(wù)的提交和回滾實(shí)例

    mysql實(shí)現(xiàn)事務(wù)的提交和回滾實(shí)例

    這篇文章主要介紹了mysql實(shí)現(xiàn)事務(wù)的提交和回滾,需要的朋友可以參考下
    2014-06-06
  • MySQL中聚簇索引和非聚簇索引的區(qū)別及說明

    MySQL中聚簇索引和非聚簇索引的區(qū)別及說明

    聚簇索引決定數(shù)據(jù)物理存儲(chǔ)順序,每表僅一個(gè),葉子節(jié)點(diǎn)存數(shù)據(jù)行;非聚簇索引獨(dú)立存儲(chǔ),可多個(gè),葉子節(jié)點(diǎn)存主鍵指針,聚簇索引適合主鍵查詢,范圍效率高;非聚簇需回表,維護(hù)成本低,合理選擇提升性能
    2025-08-08
  • MySql統(tǒng)計(jì)函數(shù)COUNT的具體使用詳解

    MySql統(tǒng)計(jì)函數(shù)COUNT的具體使用詳解

    本文主要介紹了MySql統(tǒng)計(jì)函數(shù)COUNT的具體使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 為什么代碼規(guī)范要求SQL語句不要過多的join

    為什么代碼規(guī)范要求SQL語句不要過多的join

    SQL中的join可以根據(jù)某些條件把指定的表給結(jié)合起來并將數(shù)據(jù)返回給客戶端,那么在項(xiàng)目開發(fā)中如果需要使用join語句,如何優(yōu)化提升性能?本文就來詳細(xì)的介紹一下
    2021-06-06

最新評(píng)論

年辖:市辖区| 辽源市| 怀柔区| 黔东| 武夷山市| 方城县| 涞源县| 襄樊市| 秦安县| 邵武市| 镇宁| 逊克县| 文化| 襄汾县| 松江区| 新安县| 长武县| 沛县| 临朐县| 丹棱县| 镇巴县| 盐城市| 高邮市| 游戏| 泸水县| 太白县| 邹平县| 温州市| 托克逊县| 高台县| 汝州市| 玛多县| 安顺市| 萍乡市| 绥中县| 富民县| 铅山县| 大化| 嵊州市| 新龙县| 尚志市|