SQL語法CONSTRAINT約束操作詳情
CONSTRAINT約束,即對數據庫表中的數據進行約束,以保證數據記錄的完整性和有效性。
比較常用的是,創建表時添加約束,但是為瞭整理記錄,這裡把所有的用法都寫下來,但是大傢按照最常見的重點掌握。
1.主鍵約束 primary key
#主鍵約束 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 //每個表隻有一個主鍵 刪除的時候不分單列主鍵還是聯合主鍵 #主鍵作用是主鍵約束的列是唯一且非空
2.自增長約束 auto_increment
#自增長約束 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開始(無論有無初始值)
3.非空約束 not null
#非空約束 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)
4.唯一約束 unique
#唯一約束 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 是約束名 若沒有名字 則默認是使用的列名
5.默認約束 default
#默認約束 default #添加約束 #方法一:address varchar(20) DEFAULT '北京' #方法二:ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT '北京' (創建表後添加) #刪除約束 #ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT NULL
6.零填充約束 zerofill
#零填充約束 zerofill (顯示效果) 瞭解即可 #添加約束 #address varchar(20) zerofill #刪除約束 #ALTER TABLE emp6 MODIFY id int
到此這篇關於SQL語法CONSTRAINT約束操作詳情的文章就介紹到這瞭,更多相關SQL語法CONSTRAINT約束操作內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MySQL約束之默認約束default與零填充約束zerofill
- Python全棧之學習MySQL(1)
- MySQL約束超詳解
- MySQL數據庫如何給表設置約束詳解
- MySQL完整性約束的定義與實例教程