資源描述:
《sql語句創(chuàng)建表》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、1.定義基本表語句????語法:????USE?數(shù)據(jù)庫名CREATETABLE表名(列名類型(大小)DEFAULT'默認(rèn)值',??????????????????????????????????????????????????????????列名類型(大小)DEFAULT'默認(rèn)值',????????????????????????????????????????????????????????????列名類型(大小)DEFAULT'默認(rèn)值',?????????????????????????????????????????????????
2、?????????......);????注:綠色部份是可以省略的。????例:CREATETABLES(SNOchar(2),SNAMEchar(8),AGEdecimal(2),SEXchar(2)DEFAULT'男',DEPTchar(2));?創(chuàng)建了一個五列的表,其中第四列的默認(rèn)值為‘男’。2.定義完整性約束????語法:?USE?數(shù)據(jù)庫名CREATETABLE表名(列名類型(大小)DEFAULT'默認(rèn)值'CONSTRAINT約束名約束定義,?列名類型(大小)DEFAULT'默認(rèn)值'CONSTRAINT約束名約束定義,???列名類
3、型(大小)DEFAULT'默認(rèn)值'CONSTRAINT約束名約束定義,?......);?注:(1)綠色部份是可以省略的。??????????(2)一個列是可以有多個約束的。????約束定義:????(1)NULL
4、NOTNULL??用于定義列的空值約束。(定義列)??(下面的藍(lán)色部份是單選其中之一)????????????語法:CONSTRAINT約束名NULL
5、NOTNULL?????????????注意:????????????????????a.NOTNULL約束強制列不接受NULL值。????????????????????b.
6、NOTNULL約束強制字段始終包含值。這意味著,如果不向字段添加值,就無法插入新紀(jì)錄或者更新記錄。?????????例:下面的SQL語句強制"Id_P"列和"LastName"列不接受NULL值:?????????????????????CREATETABLEPersons?????????????????????(?????????????????????Id_PintNOTNULL,?????????????????????LastNamevarchar(255)NOTNULL,?????????????????????FirstNa
7、mevarchar(255),?????????????????????Addressvarchar(255),?????????????????????Cityvarchar(255)?????????????????????)????(2)UNIQUE??約束唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。(即可以定義列也可能定義表)????????????語法:CONSTRAINT約束名UNIQUE(列名,列名,......);????????????說明:用于指定基本表在某一個列或多個列的組合上取值必須唯一。定義了UNIQUE約束的那些列稱為唯一鍵
8、。如果為基本表的革一列或多個列的組合指定了UNIQUE約束,則系統(tǒng)將為這些列建立唯一索引,從而保證在表中的任意兩行記錄在指定的列或列組合上不能取同樣的值。????????????注意:????????????????????a.UNIQUE約束唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。????????????????????b.UNIQUE和?PRIMARYKEY約束均為列或列集合提供了唯一性的保證。????????????????????c.PRIMARYKEY擁有自動定義的UNIQUE約束。????????????????????d.請注意,每個
9、表可以有多個UNIQUE約束,但是每個表只能有一個PRIMARYKEY約束。??????例:下面的SQL在"Persons"表創(chuàng)建時在"Id_P"列創(chuàng)建UNIQUE約束:????????????????????????????SQLServer/?Oracle?/MS?access:?????????????????CREATETABLEPersons?????????????????(?????????????????Id_PintNOTNULLUNIQUE,?????????????????LastNamevarchar(255)NO
10、TNULL,?????????????????FirstNamevarchar(255),?????????????????Addressvarchar(255),??????????????