欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、介紹

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

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

  • 主鍵:唯一標(biāo)識一條記錄,不能重復(fù),不允許為空。主要用來保證數(shù)據(jù)的完整性。
  • 外鍵: 表的外鍵是另一表的主鍵,外鍵可以有重復(fù),可以為控制。主要用來和其他表建立聯(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
);

建表時添加外鍵約束:

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

建表后單獨添加主鍵約束:

ALTER TABLE student MODIFY id INT PRIMARY KEY;

建表后單獨添加非空約束:

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

建表后單獨添加唯一約束:

ALTER TABLE student MODIFY age INT UNIQUE;

建表后單獨添加外鍵約束:

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)級操作

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

    這可能是困然很多人的一個問題,MySQL通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的SQL語句,下面這篇文章主要給大家介紹了關(guān)于MySQL實戰(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ù)用于計算日期和時間之間的差異,TIMESTAMPDIFF()函數(shù)返回的結(jié)果是整數(shù),但你可以通過在計算過程中使用適當(dāng)?shù)某▉慝@得所需的小數(shù)部分,本文介紹MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用,感興趣的朋友一起看看吧
    2023-12-12
  • mysql 錯誤號碼1129 解決方法

    mysql 錯誤號碼1129 解決方法

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

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

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

    MySql 8.0.16-win64 安裝教程

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

    MySQL添加外鍵時報錯:1215 Cannot add the foreign key constraint的解決方法

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

    SQLyog連接MySQL8.0+報錯:錯誤號碼2058的解決方案

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

最新評論