您好,登錄后才能下訂單哦!
這篇文章主要介紹“MySQL約束是什么意思”,在日常操作中,相信很多人在MySQL約束是什么意思問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL約束是什么意思”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
MySQL約束操作
1.非空約束
2.唯一約束
3.主鍵約束
4.外鍵約束
5、級聯
概念:對表中的數據進行限定,保證數據的正確性,有效性和完整性。
分類:
主鍵:primary key
非空約束:not null
唯一約束:unique
外鍵約束:foreign key
not null
,值不能為空。
創建表時添加非空約束:
CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL );
創建表完后,添加非空約束
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
刪除非空約束
ALTER TABLE stu MODIFY NAME VARCHAR(20);
unique,
值不能重復。
創建表時添加唯一約束
CREATE stu( id INT; phone_number VARCHAR(20) UNIQUE );
注意:
mysql
中,唯一約束限定的列的值可以有多個null
。
刪除唯一約束
ALTER TABLE stu DROP INDEX phone_number;
創建表完后,添加唯一約束
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
primary key,
非空且唯一。
一張表只能有一個字段為主鍵。
主鍵就是表中記錄的唯一標識。
創建表時添加主鍵約束
CREATE TABLE stu( id INT PRIMARY KEY, NAME VARCHAR(20) );
刪除主鍵
ALTER TABLE stu DROP PRIMARY KEY;
創建表完后,添加主鍵
ALTER TABLE stu MODIFY id INT PRIMARY KEY ;
這里補充一個知識點:自動增長
概念:如果某一列是數值類型的,使用auto_increment
可以來完成自動增長。
例子:
在創建表時,添加主鍵約束,并且完成主鍵自動增長
CREATE TABLE stu( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); #自動增長會根據當前列的最后一行的值往后增加。
刪除自動增長
ALTER TABLE stu MODIFY id INT; #這樣只會刪除自動增長,主鍵刪不掉。
創建表完后,在添加自動增長
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
foreign ley
,讓表與表產生關系,從而保證數據的正確性。
在創建表時,可以添加外鍵
CREATE TABLE 表名( ... 外鍵列 CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵列名稱) REFERENCES 主表名稱(主表列名稱) );
刪除外鍵
ALTER TABLE 表名 DROP FOREIGN KEY 外鍵名稱;
創建表之后,添加外鍵
ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵字段名稱) REFERENCES 主表名稱(主表列名稱);
添加級聯操作
ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (外鍵字段名稱) REFERENCES 主表名稱(主表列名稱) ON UPDATE CASCADE ON DELETE CASCADE ;
級聯刪除
ON UPDATE CASCADE
到此,關于“MySQL約束是什么意思”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。