`
pqcc
  • 浏览: 126104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Programmer列约束与表约束(SQL 语句)

阅读更多

表结构的创建与修改(SQL 语句)<o:p></o:p>

:  表结构定义语法格式<o:p></o:p>

       CREATE        TABLE <table_name>

       (

              <列名> <列类型>  [<列属性>]  [<列约束>],

              ……,<o:p></o:p>

              [ <表约束> ]

       )

       [ ON       {filegroup | DEFAULT}]

       [ TEXTIMAGE_ON  { filegroup | DEFAULT} ]

<o:p> </o:p>

<列类型> 就是SQL Server 支持的类型及相应的宽度.<o:p></o:p>

<列属性> 列属性中可以是如下几种属性:<o:p></o:p>

(1)    默认值 DEFAULT 常量表达式.<o:p></o:p>

(2)       标识 IDENTITY (标识种子,标识递增量)<o:p></o:p>

<列约束>:: = [ CONSTRAINT     constraint_name ]

                     {

       --     ------------------------------------   空与非空约束       ---------------------------------

                      [ NULL | NOT NULL] 

--     ------------------------------------   主键与唯一性约束       ---------------------------------

                      |  [ {PRIMARY KEY | UNIQUE }

 [ CLUSTERED | NONCLUSTERED ]

                        [ WITH     FILLFACTOR = filltor ]

                     [ ON { filegroup | DEFAULT} ]

                        ]

       --     ------------------------------------   外键约束       ---------------------------------

                     |  [ [ FOREIGN KEY]

                            REFERENCES  ref_table [ (ref_column) ]

                            [ ON  DELETE  { CASCADE | NO ACTION} ]

                            [ ON  UPDATE]   { CASCADE | NO ACTION} ]

                            [ NOT  FOR  REPLICATION ]

                     }

       --     ------------------------------------   CHECK 约束 ---------------------------------

                     |  CHECK [ NOT FOR REPLICATION ] ( logical_expression )

<o:p> </o:p>

< 表约束 > ::= [ CONSTRAINT constraint_name ]<o:p></o:p>

{<o:p></o:p>

--     ------------------------------------   主键与唯一性 约束     ---------------------------------<o:p></o:p>

[ { PRIMARY KEY | UNIQUE }<o:p></o:p>

[ CLUSTERED | NONCLUSTERED ]<o:p></o:p>

{ ( column [ ASC | DESC ] [ ,...n ] ) }<o:p></o:p>

[ WITH FILLFACTOR = fillfactor ]<o:p></o:p>

[ ON { filegroup | DEFAULT } ]<o:p></o:p>

]<o:p></o:p>

--     ------------------------------------   外键 约束     ---------------------------------<o:p></o:p>

| FOREIGN KEY<o:p></o:p>

[ ( column [ ,...n ] ) ]<o:p></o:p>

REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]<o:p></o:p>

[ ON DELETE { CASCADE | NO ACTION } ]<o:p></o:p>

[ ON UPDATE { CASCADE | NO ACTION } ]<o:p></o:p>

[ NOT FOR REPLICATION ]<o:p></o:p>

--     ------------------------------------   CHECK 约束 ---------------------------------<o:p></o:p>

| CHECK [ NOT FOR REPLICATION ] ( search_conditions )<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

: 在定义 Primary Key 的时候,我们可以有两种方式出现 :<o:p></o:p>

<o:p> </o:p>

列约束,    它只能给一列定义为主键,如果主键是多列的情况在此不适用。<o:p></o:p>

表约束:     主键列可以是一列,或者是多列.<o:p></o:p>

<o:p> </o:p>

: 学习:

<o:p> </o:p>

1.  需要指定宽度的类型有:Char,Varchar,nChar,nVarchar,Binary,Varbinary,其它的类型均不<o:p></o:p>

需要指定宽度,如果指定了宽度反而会出错.<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics