亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫怎么給表設置約束

發布時間:2022-03-10 08:59:57 來源:億速云 閱讀:220 作者:iii 欄目:開發技術

今天小編給大家分享一下MySQL數據庫怎么給表設置約束的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    一、PK(主鍵約束)

    1、什么是主鍵?

    • 在了解主鍵之前,先了解一下什么是關鍵字

    • 關鍵字:在表中具有唯一性的字段,比如一個人的身份證號,學號。一個表中可以有多個關鍵字。

    • 主鍵也叫主關鍵字,就是由一個或多個關鍵字組成的,并且可以通過主鍵獲得整個表的信息。比如訂單表,通過訂單編號可以獲取到訂單中的姓名,商品,價格等信息。

    注意:關鍵字不一定是主鍵,主鍵一定是關鍵字

    特點:主鍵不能為空,具有唯一性不能重復。一個表要么只有一個主鍵,要么沒有主鍵,不可以有多個主鍵。

    2、怎么設置主鍵?

    方法一:在創建表時設置主鍵

    -- 建立User表
    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    -- 在這里設置id為主鍵
    PRIMARY KEY(User_id)
    )
    CREATE TABLE Users(
    -- 也可以在字段中直接設置主鍵
    User_id int NOT NULL PRIMARY KEY,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18)
    )

    以上兩種方式都可以創建主鍵,效果一樣。

    方法二:創建表時沒有設置主鍵,后續在表中設置主鍵

    • 首先建一個沒有設置主鍵的表

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18)
    )
    • 然后再設置主鍵

    原理是向創建表時的代碼中添加 PRIMARY KEY(User_id)
    跟方法一中的第一個原理一樣

    ALTER TABLE user ADD PRIMARY KEY(User_id)

    原理是向User_id 字段中添加 PRIMARY KEY
    跟方法一中的第二個原理一樣

    ALTER TABLE users MODIFY User_id INT PRIMARY KEY;

    二、FK(外鍵約束)

    1、什么是外鍵

    • 外鍵又叫外關鍵字,代表兩個表直接的聯系。一張表的外鍵一定是另一張表的主鍵,以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。

    • 比如訂單表中包含了商品ID,用戶ID兩個外鍵。其中商品ID是商品信息表的主鍵,用戶ID是用戶表的主鍵。

    注意:一個表中的外鍵可以有多個,也可以沒有。

    2、怎么設置外鍵

    方法一:創建表時設置外鍵約束

    在前面設置主鍵的基礎上來舉例,前面創建了一個用戶表,那么現在創建一個訂單表。

    CREATE TABLE dingdan(
    DDid INT PRIMARY KEY NOT NULL,
    User_id INT NOT null,
    DDname VARCHAR(20) NOT NULL,
    -- 設置約束關系,dingdan表中的User_id 與 user表中的User_id表示的是同一個數據
    constraint fk FOREIGN KEY(User_id) REFERENCES user(User_id)
    )

    方法二:創建表時沒有設置主鍵,后續在表中設置主鍵

    alter table student add constraint stfk foreign key(stid) references teacher(tid)

    注意:建立了主外鍵關系后,主表中的數據不能隨意刪除。比如訂單中有一條數據包含了某個用戶,那么用戶表中就不能把該用戶的信息刪除,否則會報錯。

    三、unique(唯一約束)

    1、什么是唯一約束?

    某個字段如果設置了唯一約束,那么該字段要么不寫,要寫就不能重復。

    2、如何設置唯一約束

    還是創建一個用戶表,這次表中多了郵箱字段。設置郵箱不能重復

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_Email VARCHAR(40) UNIQUE
    )

    四、not null(非空)

    意思就是這個字段不能為空

    接著上面唯一約束來寫,這里規定郵箱不僅不能重復而且不能為空

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_Email VARCHAR(40) UNIQUE not null
    )

    五、default(默認值)

    意思就是這個字段如果你不寫,那么會默認給你一個值繼續上面的User表來寫,在這里添加一個性別字段,如果你不寫性別那么默認為男

    CREATE TABLE User(
    User_id int NOT NULL,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_gender enum('男','女') default '男'
    )

    六、auto_increment(自增)

    自增就是自動遞增,也就是說如果你在這個字段沒有填寫數據,系統會自動根據上一條數據加1

    一般用在ID,編號

    將用戶表中的ID設為自增

    CREATE TABLE User(
    User_id int auto_increment,
    User_name VARCHAR(20),
    User_pwd VARCHAR(18),
    User_gender enum('男','女') default '男'
    )

    注意:第一個數據如果不填,默認會給一個值。所以即便ID是主鍵,也可以不填數據

    以上就是“MySQL數據庫怎么給表設置約束”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    墨脱县| 唐河县| 南宫市| 普宁市| 中卫市| 临海市| 蛟河市| 乳源| 三门峡市| 曲沃县| 略阳县| 平乡县| 南平市| 吴川市| 加查县| 通辽市| 辽阳县| 定陶县| 福州市| 潼南县| 县级市| 江山市| 蒙城县| 抚州市| 荆州市| 饶阳县| 沙湾县| 水城县| 江永县| 长子县| 广河县| 临夏县| 德兴市| 且末县| 安远县| 华池县| 杭州市| 彭山县| 昭平县| 离岛区| 兴隆县|