一、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資料庫怎麼給表格設定約束的詳細內容。更多資訊請關注PHP中文網其他相關文章!

InnoDBBufferPool通過緩存數據和索引頁來減少磁盤I/O,提升數據庫性能。其工作原理包括:1.數據讀取:從BufferPool中讀取數據;2.數據寫入:修改數據後寫入BufferPool並定期刷新到磁盤;3.緩存管理:使用LRU算法管理緩存頁;4.預讀機制:提前加載相鄰數據頁。通過調整BufferPool大小和使用多個實例,可以優化數據庫性能。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL值得學習,因為它是強大的開源數據庫管理系統,適用於數據存儲、管理和分析。 1)MySQL是關係型數據庫,使用SQL操作數據,適合結構化數據管理。 2)SQL語言是與MySQL交互的關鍵,支持CRUD操作。 3)MySQL的工作原理包括客戶端/服務器架構、存儲引擎和查詢優化器。 4)基本用法包括創建數據庫和表,高級用法涉及使用JOIN連接表。 5)常見錯誤包括語法錯誤和權限問題,調試技巧包括檢查語法和使用EXPLAIN命令。 6)性能優化涉及使用索引、優化SQL語句和定期維護數據庫。

MySQL適合初學者學習數據庫技能。 1.安裝MySQL服務器和客戶端工具。 2.理解基本SQL查詢,如SELECT。 3.掌握數據操作:創建表、插入、更新、刪除數據。 4.學習高級技巧:子查詢和窗口函數。 5.調試和優化:檢查語法、使用索引、避免SELECT*,並使用LIMIT。

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

MySQL是一個開源的關係型數據庫管理系統,廣泛應用於Web開發。它的關鍵特性包括:1.支持多種存儲引擎,如InnoDB和MyISAM,適用於不同場景;2.提供主從復制功能,利於負載均衡和數據備份;3.通過查詢優化和索引使用提高查詢效率。

SQL用於與MySQL數據庫交互,實現數據的增、刪、改、查及數據庫設計。 1)SQL通過SELECT、INSERT、UPDATE、DELETE語句進行數據操作;2)使用CREATE、ALTER、DROP語句進行數據庫設計和管理;3)複雜查詢和數據分析通過SQL實現,提升業務決策效率。

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)