亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數(shù)據(jù)庫(kù)的約束限制詳解

 更新時(shí)間:2022年08月03日 09:06:46   作者:面屏思過(guò)???????  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)的約束限制詳解,數(shù)據(jù)庫(kù)的約束是對(duì)表中數(shù)據(jù)進(jìn)行的一種限制,為了保證數(shù)據(jù)的正確性、有效性、完整性,下文簡(jiǎn)單介紹需要的朋友可以參考一下

一、介紹

數(shù)據(jù)庫(kù)的約束是對(duì)表中數(shù)據(jù)進(jìn)行的一種限制,為了保證數(shù)據(jù)的正確性、有效性、完整性。

無(wú)論是在添加數(shù)據(jù)還是在刪除數(shù)據(jù)的時(shí)候,都能提供幫助。所有的關(guān)系型數(shù)據(jù)庫(kù)都支持對(duì)數(shù)據(jù)表的約束。

  • 主鍵:唯一標(biāo)識(shí)一條記錄,不能重復(fù),不允許為空。主要用來(lái)保證數(shù)據(jù)的完整性。
  • 外鍵: 表的外鍵是另一表的主鍵,外鍵可以有重復(fù),可以為控制。主要用來(lái)和其他表建立聯(lián)系。

二、操作

添加

添加主鍵:

// 一般設(shè)置id為主鍵
CREATE TABLE student(
	id INT PRIMARY KEY,
	NAME VARCHAR(30),
	age INT
);

添加自增主鍵:

CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(30),
	age INT
);

創(chuàng)建唯一約束:

// 這里age為唯一約束
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(30),
	age INT UNIQUE
);

創(chuàng)建非空約束:

// 這里 NAME 屬性為非空約束
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(30) NOT NULL,
	age INT UNIQUE
);

建表時(shí)添加外鍵約束:

// 這里是指orderlist這個(gè)表的uid是USER表id主鍵的外鍵約束 
CREATE TABLE orderlist(
	id INT PRIMARY KEY AUTO_INCREMENT,    -- id
	number VARCHAR(20) NOT NULL,          -- 訂單編號(hào)
	uid INT,			      -- 外鍵列
	CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id)
);

建表后單獨(dú)添加主鍵約束:

ALTER TABLE student MODIFY id INT PRIMARY KEY;

建表后單獨(dú)添加非空約束:

ALTER TABLE student MODIFY NAME VARCHAR(30) NOT NULL;

建表后單獨(dú)添加唯一約束:

ALTER TABLE student MODIFY age INT UNIQUE;

建表后單獨(dú)添加外鍵約束:

ALTER TABLE orderlist ADD CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id);

刪除

刪除主鍵:

LTER TABLE student DROP PRIMARY KEY;

刪除自增約束:

ALTER TABLE student MODIFY id INT;

刪除唯一約束:

ALTER TABLE student DROP INDEX age;

刪除非空約束:

ALTER TABLE student MODIFY NAME VARCHAR(30);

刪除外鍵約束:

ALTER TABLE orderlist DROP FOREIGN KEY ou_fk1;

外鍵聯(lián)級(jí)操作

	添加外鍵約束,同時(shí)添加級(jí)聯(lián)更新  標(biāo)準(zhǔn)語(yǔ)法:
	ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (本表外鍵列名) REFERENCES 主表名(主鍵列名) 
	ON UPDATE CASCADE;
	
	添加外鍵約束,同時(shí)添加級(jí)聯(lián)刪除  標(biāo)準(zhǔn)語(yǔ)法:
	ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (本表外鍵列名) REFERENCES 主表名(主鍵列名) 
	ON DELETE CASCADE;
	
	添加外鍵約束,同時(shí)添加級(jí)聯(lián)更新和級(jí)聯(lián)刪除  標(biāo)準(zhǔn)語(yǔ)法:
	ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (本表外鍵列名) REFERENCES 主表名(主鍵列名) 
	ON UPDATE CASCADE ON DELETE CASCADE;

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)的約束限制詳解的文章就介紹到這了,更多相關(guān)MySQL 約束內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql數(shù)據(jù)庫(kù)在表中添加數(shù)據(jù)三種操作方式

    mysql數(shù)據(jù)庫(kù)在表中添加數(shù)據(jù)三種操作方式

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)在表中添加數(shù)據(jù)三種方式,首先創(chuàng)建數(shù)據(jù)庫(kù)和表,創(chuàng)建完成后就可以進(jìn)行添加數(shù)據(jù)的操作了,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • MYSQL與sqlyog連接的實(shí)現(xiàn)

    MYSQL與sqlyog連接的實(shí)現(xiàn)

    本文主要介紹了MYSQL與sqlyog連接的實(shí)現(xiàn),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • MySQL中JSON_ARRAYAGG和JSON_OBJECT函數(shù)功能和用法

    MySQL中JSON_ARRAYAGG和JSON_OBJECT函數(shù)功能和用法

    JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它可以用來(lái)存儲(chǔ)和表示結(jié)構(gòu)化的數(shù)據(jù),在MySQL數(shù)據(jù)庫(kù)中,JSON格式的數(shù)據(jù)處理已經(jīng)變得越來(lái)越常見(jiàn),本文將深入探討這兩個(gè)函數(shù)的用途、語(yǔ)法和示例,以幫助您更好地理解它們的功能和用法,需要的朋友可以參考下
    2023-09-09
  • MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL

    MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL

    這可能是困然很多人的一個(gè)問(wèn)題,MySQL通過(guò)慢查詢(xún)?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的SQL語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于MySQL實(shí)戰(zhàn)記錄之如何快速定位慢SQL的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用示例小結(jié)

    MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用示例小結(jié)

    在MySQL中,DATEDIFF()函數(shù)和TIMESTAMPDIFF()函數(shù)用于計(jì)算日期和時(shí)間之間的差異,TIMESTAMPDIFF()函數(shù)返回的結(jié)果是整數(shù),但你可以通過(guò)在計(jì)算過(guò)程中使用適當(dāng)?shù)某▉?lái)獲得所需的小數(shù)部分,本文介紹MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用,感興趣的朋友一起看看吧
    2023-12-12
  • mysql 錯(cuò)誤號(hào)碼1129 解決方法

    mysql 錯(cuò)誤號(hào)碼1129 解決方法

    在本篇文章里我們給大家整理了關(guān)于mysql 錯(cuò)誤號(hào)碼1129以及解決方法,需要的朋友們可以參考下。
    2019-08-08
  • 聊聊MySQL事務(wù)的特性和隔離級(jí)別

    聊聊MySQL事務(wù)的特性和隔離級(jí)別

    這篇文章主要介紹了MySQL事務(wù)的特性和隔離級(jí)別的相關(guān)資料,幫助大家粗略的認(rèn)識(shí)下MySQL 事務(wù)的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-09-09
  • MySql 8.0.16-win64 安裝教程

    MySql 8.0.16-win64 安裝教程

    本文通過(guò)圖文并茂的形式給大家介紹了MySql 8.0.16-win64 安裝教程 ,需要的朋友可以參考下
    2019-06-06
  • MySQL添加外鍵時(shí)報(bào)錯(cuò):1215 Cannot add the foreign key constraint的解決方法

    MySQL添加外鍵時(shí)報(bào)錯(cuò):1215 Cannot add the foreign key constraint的解決方法

    大家都知道MySQL中經(jīng)常會(huì)需要?jiǎng)?chuàng)建父子表之間的約束,這個(gè)約束是需要建立在主外鍵基礎(chǔ)之上的,最近在MySQL添加外鍵時(shí)發(fā)現(xiàn)了一個(gè)報(bào)錯(cuò):1215 Cannot add the foreign key constraint,所以這篇文章就給大家介紹了如何解決在創(chuàng)建主外鍵約束過(guò)程中碰到的這個(gè)問(wèn)題。
    2016-11-11
  • SQLyog連接MySQL8.0+報(bào)錯(cuò):錯(cuò)誤號(hào)碼2058的解決方案

    SQLyog連接MySQL8.0+報(bào)錯(cuò):錯(cuò)誤號(hào)碼2058的解決方案

    本文將總結(jié)如何解決 SQLyog 連接 MySQL8.0+ 時(shí)報(bào)錯(cuò):錯(cuò)誤號(hào)碼2058,文中通過(guò)圖文結(jié)合和代碼示例給大家總結(jié)了三種解決方案,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12

最新評(píng)論