国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql

文章目錄

SQL約束

一、主鍵約束

二、非空約束

三、唯一約束

四、默認(rèn)值約束

五、外鍵約束(了解)

六、總結(jié)


SQL約束

一、主鍵約束

  1. PRIMARY KEY 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。
  2. 主鍵必須包含唯一的值。
  3. 主鍵列不能包含 NULL 值。
  4. 每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只能有一個(gè)主鍵。

遵循原則:

  1. 主鍵應(yīng)當(dāng)是對(duì)用戶沒有意義的
  2. 永遠(yuǎn)也不要更新主鍵。
  3. 主鍵不應(yīng)包含動(dòng)態(tài)變化的數(shù)據(jù),如時(shí)間戳、創(chuàng)建時(shí)間列、修改時(shí)間列等。
  4. 主鍵應(yīng)當(dāng)由計(jì)算機(jī)自動(dòng)生成。

創(chuàng)建主鍵約束:創(chuàng)建表時(shí),在字段描述處,聲明指定字段為主鍵

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql

刪除主鍵約束:如需撤銷 PRIMARY KEY 約束,請(qǐng)使用下面的 SQL

alter table persons2 drop primary key;

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql

補(bǔ)充:自動(dòng)增長(zhǎng)

我們通常希望在每次插入新記錄時(shí),數(shù)據(jù)庫(kù)自動(dòng)生成字段的值。

我們可以在表中使用 auto_increment(自動(dòng)增長(zhǎng)列)關(guān)鍵字,自動(dòng)增長(zhǎng)列類型必須是整型,自動(dòng)增長(zhǎng)列必須為鍵(一般是主鍵)。

下列 SQL 語(yǔ)句把 "Persons" 表中的 "Id" 列定義為 auto_increment 主鍵

create table persons3(
	id int auto_increment primary key,
	first_name varchar(255),
	last_name varchar(255),
	address varchar(255),
	city varchar(255)
) default charset=utf8;

向persons添加數(shù)據(jù)時(shí),可以不為Id字段設(shè)置值,也可以設(shè)置成null,數(shù)據(jù)庫(kù)將自動(dòng)維護(hù)主鍵值:

insert into persons3(first_name,last_name) values('Bill','Gates');
insert into persons3(id,first_name,last_name) values(null,'Bill','Gates');

運(yùn)行效果:

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql

二、非空約束

NOT NULL 約束強(qiáng)制列不接受 NULL 值。

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

下面的 SQL 語(yǔ)句強(qiáng)制 "id" 列和 "last_name" 列不接受 NULL 值:

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql

?

三、唯一約束

UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。

UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。

PRIMARY KEY 擁有自動(dòng)定義的 UNIQUE 約束。

請(qǐng)注意: 每個(gè)表可以有多個(gè) UNIQUE 約束,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束。

MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束,MySQL,數(shù)據(jù)庫(kù),mysql,sql?

四、默認(rèn)值約束

default 默認(rèn)值

五、外鍵約束(了解)

外鍵約束(多表關(guān)聯(lián)使用)

比如:有兩張數(shù)據(jù)表,這兩個(gè)數(shù)據(jù)表之間有聯(lián)系,通過了某個(gè)字段可以建立連接,這個(gè)字段在其中一個(gè)表中是主鍵,在另外一張表中,我們就把其稱之為外鍵

六、總結(jié)

主鍵約束:唯一標(biāo)示,不能重復(fù),不能為空。

  • 主鍵應(yīng)當(dāng)是對(duì)用戶沒有意義的
  • 永遠(yuǎn)也不要更新主鍵。
  • 主鍵不應(yīng)包含動(dòng)態(tài)變化的數(shù)據(jù),如時(shí)間戳、創(chuàng)建時(shí)間列、修改時(shí)間列等。
  • 主鍵應(yīng)當(dāng)由計(jì)算機(jī)自動(dòng)生成。

自動(dòng)增長(zhǎng):

我們可以在表中使用 auto_increment(自動(dòng)增長(zhǎng)列)關(guān)鍵字,自動(dòng)增長(zhǎng)列類型必須是整型,自動(dòng)增長(zhǎng)列必須為鍵(一般是主鍵)。

非空約束:

NOT NULL 約束強(qiáng)制列不接受 NULL 值。

唯一約束:

  • UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。
  • UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。
  • PRIMARY KEY 擁有自動(dòng)定義的 UNIQUE 約束。

  • ??博客主頁(yè):https://lansonli.blog.csdn.net

  • ??歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正!

  • ??本文由 Lansonli 原創(chuàng),首發(fā)于 CSDN博客??

  • ??停下休息的時(shí)候不要忘了別人還在奔跑,希望大家抓緊時(shí)間學(xué)習(xí),全力奔赴更美好的生活?文章來源地址http://www.zghlxwxcb.cn/news/detail-827341.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(九):SQL約束的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Mysql】萬字長(zhǎng)文帶你快速掌握數(shù)據(jù)庫(kù)基礎(chǔ)概念及SQL基本操作

    【Mysql】萬字長(zhǎng)文帶你快速掌握數(shù)據(jù)庫(kù)基礎(chǔ)概念及SQL基本操作

    為了鞏固所學(xué)的知識(shí),作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當(dāng)然,如果能幫到一些萌新進(jìn)行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯(cuò)誤,歡迎讀者朋友們批評(píng)指正。 (博客的參考源碼可以在我主頁(yè)的資源里找到,如果在學(xué)習(xí)的

    2024年02月15日
    瀏覽(54)
  • 一篇文章打好SQL基礎(chǔ),熟悉數(shù)據(jù)庫(kù)的基礎(chǔ)操作和方法,以及安裝MySQL軟件包和Python操作MySQL基礎(chǔ)使用

    一篇文章打好SQL基礎(chǔ),熟悉數(shù)據(jù)庫(kù)的基礎(chǔ)操作和方法,以及安裝MySQL軟件包和Python操作MySQL基礎(chǔ)使用

    SQL的全稱:Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言,用于 訪問和處理數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)計(jì)算機(jī)語(yǔ)言 。 SQL語(yǔ)言1974年有Boyce和Chamberlin提出的,并且首先在IBM公司研制的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)SystemR上實(shí)現(xiàn)。 經(jīng)過多年發(fā)展,SQL已經(jīng)成為數(shù)據(jù)庫(kù)領(lǐng)域同意的數(shù)據(jù)操作標(biāo)準(zhǔn)語(yǔ)言,可以說幾乎市面上所

    2024年02月08日
    瀏覽(104)
  • 【MySQL數(shù)據(jù)庫(kù)】MySQL 高級(jí)SQL 語(yǔ)句一

    【MySQL數(shù)據(jù)庫(kù)】MySQL 高級(jí)SQL 語(yǔ)句一

    ) % :百分號(hào)表示零個(gè)、一個(gè)或多個(gè)字符 _ :下劃線表示單個(gè)字符 ‘A_Z’:所有以 ‘A’ 起頭,另一個(gè)任何值的字符,且以 ‘Z’ 為結(jié)尾的字符串。例如,‘ABZ’ 和 ‘A2Z’ 都符合這一個(gè)模式,而 ‘AKKZ’ 并不符合 (因?yàn)樵?A 和 Z 之間有兩個(gè)字符,而不是一個(gè)字符)。 ‘ABC%’

    2024年02月09日
    瀏覽(1352)
  • 【MySQL 數(shù)據(jù)庫(kù)】7、SQL 優(yōu)化

    【MySQL 數(shù)據(jù)庫(kù)】7、SQL 優(yōu)化

    ① 批量插入數(shù)據(jù) ② 手動(dòng)控制事務(wù) ③ 主鍵順序插入,性能要高于亂序插入 主鍵亂序插入 : 8 1 9 21 88 2 4 15 89 5 7 3 主鍵順序插入 : 1 2 3 4 5 7 8 9 15 21 88 89 【☆】 】 ① 如果需要一次性插入大批量數(shù)據(jù)(百萬級(jí)別),使用 insert 語(yǔ)句插入性能 很低 ② 可使用 MySQL 數(shù)據(jù)庫(kù)提供的 loa

    2024年02月08日
    瀏覽(33)
  • 【數(shù)據(jù)庫(kù)】MySQL 高級(jí)(進(jìn)階) SQL 語(yǔ)句

    【數(shù)據(jù)庫(kù)】MySQL 高級(jí)(進(jìn)階) SQL 語(yǔ)句

    location表格創(chuàng)建 store_info表格創(chuàng)建 顯示表格中一個(gè)或數(shù)個(gè)字段的所有數(shù)據(jù)記錄 不顯示重復(fù)的數(shù)據(jù)記錄 按照條件進(jìn)行查詢 在已知的字段數(shù)據(jù)取值范圍內(nèi)取值 另外還有not in命令,用法一致,表示顯示不在指定范圍內(nèi)的字段的值。 在兩個(gè)字段數(shù)據(jù)值之間取值,包含兩邊字段的數(shù)據(jù)

    2024年02月09日
    瀏覽(28)
  • MySQL之SQL與數(shù)據(jù)庫(kù)簡(jiǎn)介

    SQL首先是一門高級(jí)語(yǔ)言,同其他的C/C++,Java等語(yǔ)言類似,不同的是他是一種結(jié)構(gòu)化查詢語(yǔ)言,用戶訪問和處理數(shù)據(jù)庫(kù)的語(yǔ)言,那類似于C語(yǔ)言,SQL也有自己的標(biāo)準(zhǔn),目前市面上的數(shù)據(jù)庫(kù)系統(tǒng)都支持SQL-92標(biāo)準(zhǔn) SQL這門語(yǔ)言是具有統(tǒng)一性的,但是不同的數(shù)據(jù)庫(kù)支持的SQL有略微差別,

    2024年01月23日
    瀏覽(26)
  • 數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作

    數(shù)據(jù)庫(kù)應(yīng)用:MySQL數(shù)據(jù)庫(kù)SQL高級(jí)語(yǔ)句與操作

    目錄 一、理論 1.克隆表與清空表 2.SQL高級(jí)語(yǔ)句 3.SQL函數(shù) 4.SQL高級(jí)操作 5.MySQL中6種常見的約束 二、實(shí)驗(yàn) ?1.克隆表與清空表 2.SQL高級(jí)語(yǔ)句 3.SQL函數(shù) 4.SQL高級(jí)操作 5.主鍵表和外鍵表 ?三、總結(jié) 克隆表:將數(shù)據(jù)表的數(shù)據(jù)記錄生成到新的表中。 (1)克隆表 ①?先創(chuàng)建再導(dǎo)入 ②?創(chuàng)建

    2024年02月13日
    瀏覽(101)
  • 【MySQL】數(shù)據(jù)庫(kù)SQL語(yǔ)句之DML

    【MySQL】數(shù)據(jù)庫(kù)SQL語(yǔ)句之DML

    目錄 前言: 一.DML添加數(shù)據(jù) 1.1給指定字段添加數(shù)據(jù) 1.2給全部字段添加數(shù)據(jù) 1.3批量添加數(shù)據(jù) 二.DML修改數(shù)據(jù) 三.DML刪除數(shù)據(jù) 四.結(jié)尾 ? 時(shí)隔一周,啊蘇今天來更新啦,簡(jiǎn)單說說這周在做些什么吧,上課、看書、放松等,哈哈哈,所以博客就這樣被擱了。 ? 今天感覺不錯(cuò),給大

    2024年02月08日
    瀏覽(95)
  • 【MySQL】——關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(大綱)

    【MySQL】——關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(大綱)

    ??個(gè)人專欄: ?? 算法設(shè)計(jì)與分析:算法設(shè)計(jì)與分析_IT閆的博客-CSDN博客 ??Java基礎(chǔ):Java基礎(chǔ)_IT閆的博客-CSDN博客 ??c語(yǔ)言:c語(yǔ)言_IT閆的博客-CSDN博客 ??MySQL:數(shù)據(jù)結(jié)構(gòu)_IT閆的博客-CSDN博客 ??數(shù)據(jù)結(jié)構(gòu):??????數(shù)據(jù)結(jié)構(gòu)_IT閆的博客-CSDN博客 ??C++:C++_IT閆的博客-CSDN博

    2024年01月20日
    瀏覽(54)
  • 主流數(shù)據(jù)庫(kù)(SQL Server、Mysql、Oracle)通過sql實(shí)現(xiàn)多行數(shù)據(jù)合為一行

    主流數(shù)據(jù)庫(kù)(SQL Server、Mysql、Oracle)通過sql實(shí)現(xiàn)多行數(shù)據(jù)合為一行

    1、方法一:使用 STUFF 和 FOR XML PATH 進(jìn)行多行合并成一行 (1)FOR XML PATH用法 FOR XML 是 SQL Server 提供的一種功能,允許您將查詢結(jié)果轉(zhuǎn)換為 XML 格式。 PATH 模式則是其中一種靈活的方式來構(gòu)造自定義的XML結(jié)構(gòu)。 1、基本字符串連接 : 當(dāng)您想從單列中提取所有行的數(shù)據(jù)并連接成一

    2024年04月10日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包