`
pqcc
  • 浏览: 129822 次
  • 性别: 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>

 
分享到:
评论

相关推荐

    Oracle SQLModule for Ada Programmer's Guide 11g (11.2)-140

    Oracle SQL*Module for Ada Programmer's Guide 11g Release 2 (11.2) 是一份专门为Ada程序员设计的文档,旨在帮助他们理解和使用Oracle数据库与Ada编程语言的集成。Ada是一种强类型、面向对象的编程语言,而SQL*...

    sql详解-oracle

    SQL语句主要分为以下几类: 1. **DDL(Data Definition Language)数据定义语言**:用于定义数据库对象(如表、视图等)的结构。主要包括CREATE、ALTER、DROP等命令。 - **CREATE TABLE**:用于创建新表。 ```sql...

    DB2应用开发教程-培训文档

    - **动态SQL**:与静态SQL(即预先编写的SQL语句)不同,动态SQL允许在运行时构建和执行SQL语句。 - **使用EXECUTE IMMEDIATE动态执行**:直接执行动态构建的SQL语句。 - **使用PREPARE和EXECUTE动态执行**:先...

    ProCC++ Programmer's Guide Release 9.2.pdf

    除了静态 SQL 外,Pro*C/C++ 还支持动态 SQL,即在运行时构建 SQL 语句。这为应用程序提供了更大的灵活性。 ### 4. 使用 Pro*C/C++ 的注意事项 #### 4.1 版权与许可 文档明确指出,该软件及文档受版权保护,并且...

    Oracle® C++ Call Interface Programmer's Guide,11g Release 2 (11.2)

    在技术层面,OCCI是一种可以被C++语言直接调用的API集合,允许开发者执行SQL语句,管理事务,处理错误,以及管理数据库连接等。OCCI的API设计充分考虑了C++的面向对象特性,为开发者提供了一种相对直观和强大的编程...

    ProTSQL2008ProgrammersGuide

    2. 触发器:触发器是与表事件关联的特殊存储过程,当特定的DML操作(INSERT、UPDATE或DELETE)发生时自动执行,常用于实现数据完整性约束和审计功能。 3. 视图:视图是虚拟表,基于一个或多个表的SELECT查询结果。它...

    oracle call interface programmer's guide 10g

    Oracle Call Interface(OCI)是一个应用编程接口(API),它允许开发者创建可以使用函数调用来访问Oracle数据库服务器的应用程序,并且控制SQL语句执行的各个阶段。这是在Oracle数据库系统中进行高级编程的一个关键...

    oracle资料6-10

    创建和管理表.pdf** - 创建和管理表是数据库设计的基础,涉及CREATE TABLE语句,以及如何定义列、数据类型、主键、索引等。这部分还会讲解如何修改表结构(ALTER TABLE)、删除表(DROP TABLE)等操作,是数据库管理...

    oracle c++ call interface programmer's guide 10g

    通过OCCI,开发者可以让其程序执行与Oracle数据库服务器可能进行的所有数据库操作,包括SQL语句处理和对象操作。 OCCI程序员指南是Oracle官方提供的文档,旨在帮助开发人员学习如何使用OCCI进行数据库编程。文档...

    东北大学数据库题库

    主要内容包括:物理数据独立性、关系模型中的键概念、表与视图的区别、事务的概念、关系代数表达式的计算、SQL语句编写以及E/R图和模式设计等。 #### 二、知识点详解 ##### 1. 物理数据独立性 (Physical Data ...

    Visual Basic 2012 Programmer's Reference VB2012程序员参考手册

    ### Visual Basic 2012 Programmer's Reference VB2012程序员参考手册 #### 一、简介 《Visual Basic 2012 Programmer's Reference》是一本全面介绍Visual Basic 2012语言特性和开发环境的专业书籍。本书由经验...

    Visual C++ 2005入门经典--源代码及课后练习答案

     Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了...

Global site tag (gtag.js) - Google Analytics