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!

推薦閱讀: