您好,登錄后才能下訂單哦!
小編給大家分享一下SQL語法中CONSTRAINT約束怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
CONSTRAINT約束,即對數據庫表中的數據進行約束,以保證數據記錄的完整性和有效性。
比較常用的是,創建表時添加約束,但是為了整理記錄,這里把所有的用法都寫下來,但是大家按照最常見的重點掌握。
#主鍵約束 primary key #添加主鍵 添加后系統會默認為對應的列添加索引 提高檢索速度 #方法一(單列主鍵):id int PRIMARY KEY //方法一是創建表時 當前定義字段后 方法二是創建表時 所有定義字段后 #方法二(單|多列主鍵):CONSTRAINT pk1 PRIMARY KEY(name,deptId) //CONSTRAINT pk1可以省略 pk1是索引名 可以任意取 #方法三(創建表后添加):ALTER TABLE emp1 ADD PRIMARY KEY(eid) //可以是單列也可以是多列 #刪除主鍵 #ALTER TABLE emp1 DROP PRIMARY KEY //每個表只有一個主鍵 刪除的時候不分單列主鍵還是聯合主鍵 #主鍵作用是主鍵約束的列是唯一且非空
#自增長約束 auto_increment #一般用來實現主鍵的自增長約束 用戶就不再需要為其賦值 數據庫自動賦值 默認從1開始 #id int PRIMARY KEY auto_increment #創建表時可以指定自增長初始值 /*CREATE TABLE IF NOT EXISTS mydb1.employee( id int, name varchar(20), gender varchar(10), salary double )auto_increment=100;*/ #創建表后可以添加自增長初始值 #ALTER TABLE emp2 auto_increment=100 #delete 后默認自增長從斷點開始 #truncate 后默認自增長從1開始(無論有無初始值)
#非空約束 not null //真正的空是NULL 而不是'NULL'或者'' #添加約束 #方法一:name varchar(20) not null #方法二:ALTER TABLE emp3 MODIFY name varchar(20) not null (創建表后添加) #刪除約束 #ALTER TABLE emp3 MODIFY name varchar(20)
#唯一約束 unique #添加約束 //在mysql中NULL和任何值都不相同 包括它自己 #方法一:name varchar(20) unique #方法二:ALTER TABLE emp4 ADD CONSTRAINT unique_pn unique(name) (創建表后添加) #刪除約束 #ALTER TABLE emp4 DROP INDEX unique_pn // unique_pn 是約束名 若沒有名字 則默認是使用的列名
#默認約束 default #添加約束 #方法一:address varchar(20) DEFAULT '北京' #方法二:ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT '北京' (創建表后添加) #刪除約束 #ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT NULL
#零填充約束 zerofill (顯示效果) 了解即可 #添加約束 #address varchar(20) zerofill #刪除約束 #ALTER TABLE emp6 MODIFY id int
以上是“SQL語法中CONSTRAINT約束怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。