SQL語法CONSTRAINT約束操作詳情
CONSTRAINT約束,即對數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行約束,以保證數(shù)據(jù)記錄的完整性和有效性。
比較常用的是,創(chuàng)建表時添加約束,但是為了整理記錄,這里把所有的用法都寫下來,但是大家按照最常見的重點掌握。
1.主鍵約束 primary key
#主鍵約束 primary key #添加主鍵 添加后系統(tǒng)會默認(rèn)為對應(yīng)的列添加索引 提高檢索速度? #方法一(單列主鍵):id int PRIMARY KEY //方法一是創(chuàng)建表時 當(dāng)前定義字段后 方法二是創(chuàng)建表時 所有定義字段后 #方法二(單|多列主鍵):CONSTRAINT pk1 PRIMARY KEY(name,deptId) //CONSTRAINT pk1可以省略 pk1是索引名 可以任意取 #方法三(創(chuàng)建表后添加):ALTER TABLE emp1 ADD PRIMARY KEY(eid) //可以是單列也可以是多列 #刪除主鍵 #ALTER TABLE emp1 DROP PRIMARY KEY //每個表只有一個主鍵 刪除的時候不分單列主鍵還是聯(lián)合主鍵 #主鍵作用是主鍵約束的列是唯一且非空
2.自增長約束 auto_increment
#自增長約束 auto_increment? #一般用來實現(xiàn)主鍵的自增長約束 用戶就不再需要為其賦值 數(shù)據(jù)庫自動賦值 默認(rèn)從1開始 #id int PRIMARY KEY auto_increment #創(chuàng)建表時可以指定自增長初始值 /*CREATE TABLE IF NOT EXISTS mydb1.employee( ?? ??? ?id int, ?? ??? ?name varchar(20), ?? ??? ?gender varchar(10), ?? ??? ?salary double )auto_increment=100;*/ #創(chuàng)建表后可以添加自增長初始值 #ALTER TABLE emp2 auto_increment=100 #delete 后默認(rèn)自增長從斷點開始 #truncate 后默認(rèn)自增長從1開始(無論有無初始值)
3.非空約束 not null
#非空約束 not null ?//真正的空是NULL 而不是'NULL'或者'' #添加約束 #方法一:name varchar(20) not null #方法二:ALTER TABLE emp3 MODIFY name varchar(20) not null (創(chuàng)建表后添加) #刪除約束 #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) (創(chuàng)建表后添加) #刪除約束 #ALTER TABLE emp4 DROP INDEX unique_pn // unique_pn 是約束名 若沒有名字 則默認(rèn)是使用的列名
5.默認(rèn)約束 default
#默認(rèn)約束 default #添加約束 #方法一:address varchar(20) DEFAULT '北京' #方法二:ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT '北京' (創(chuàng)建表后添加) #刪除約束 #ALTER TABLE emp5 MODIFY address varchar(20) DEFAULT NULL
6.零填充約束 zerofill
#零填充約束 zerofill (顯示效果) 了解即可 #添加約束 #address varchar(20) zerofill #刪除約束 #ALTER TABLE emp6 MODIFY id int?
到此這篇關(guān)于SQL語法CONSTRAINT約束操作詳情的文章就介紹到這了,更多相關(guān)SQL語法CONSTRAINT約束操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于數(shù)據(jù)庫中的查詢優(yōu)化
這篇文章主要介紹了關(guān)于數(shù)據(jù)庫中的查詢優(yōu)化,對于大型的應(yīng)用系統(tǒng),數(shù)據(jù)動輒上百萬,就需要了解DBMS對查詢語句的處理過程和優(yōu)化算法,更好的利用其優(yōu)化算法,以提高系統(tǒng)的性能,需要的朋友可以參考下2023-07-07
解決Java程序使用MySQL時返回參數(shù)為亂碼的示例教程
這篇文章主要介紹了解決Java程序使用MySQL返回參數(shù)為亂碼的問題的教程,通過示例來講解utf-8編碼在MySQL中的相關(guān)配置,示例需要的朋友可以參考下2015-12-12
如何解決MySQL安裝遇到Start service紅叉問題
在安裝MySQL時,若遇到StartService步驟打紅叉無法繼續(xù),可通過計算機(jī)管理以管理員身份運行服務(wù),找到MySQL服務(wù),更改為本地系統(tǒng)賬戶登錄,解決安裝問題,此方法為實際操作經(jīng)驗,可供參考,確保安裝順利完成2024-10-10
MySql服務(wù)器系統(tǒng)變量和狀態(tài)變量介紹
這篇文章主要介紹了MySql服務(wù)器系統(tǒng)變量和狀態(tài)變量介紹,本文分別講解了它們的作用、設(shè)置方法和獲取方法,需要的朋友可以參考下2014-12-12
MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法
這篇文章主要介紹了MySQL創(chuàng)建用戶并授權(quán)及撤銷用戶權(quán)限、設(shè)置與更改用戶密碼、刪除用戶等等,需要的朋友可以參考下2014-08-08
30個mysql千萬級大數(shù)據(jù)SQL查詢優(yōu)化技巧詳解
本文總結(jié)了30個mysql千萬級大數(shù)據(jù)SQL查詢優(yōu)化技巧,特別適合大數(shù)據(jù)里的MYSQL使用2018-03-03

