表结构的创建与修改(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 SQL*Module for Ada Programmer's Guide 11g Release 2 (11.2) 是一份专门为Ada程序员设计的文档,旨在帮助他们理解和使用Oracle数据库与Ada编程语言的集成。Ada是一种强类型、面向对象的编程语言,而SQL*...
SQL语句主要分为以下几类: 1. **DDL(Data Definition Language)数据定义语言**:用于定义数据库对象(如表、视图等)的结构。主要包括CREATE、ALTER、DROP等命令。 - **CREATE TABLE**:用于创建新表。 ```sql...
- **动态SQL**:与静态SQL(即预先编写的SQL语句)不同,动态SQL允许在运行时构建和执行SQL语句。 - **使用EXECUTE IMMEDIATE动态执行**:直接执行动态构建的SQL语句。 - **使用PREPARE和EXECUTE动态执行**:先...
除了静态 SQL 外,Pro*C/C++ 还支持动态 SQL,即在运行时构建 SQL 语句。这为应用程序提供了更大的灵活性。 ### 4. 使用 Pro*C/C++ 的注意事项 #### 4.1 版权与许可 文档明确指出,该软件及文档受版权保护,并且...
在技术层面,OCCI是一种可以被C++语言直接调用的API集合,允许开发者执行SQL语句,管理事务,处理错误,以及管理数据库连接等。OCCI的API设计充分考虑了C++的面向对象特性,为开发者提供了一种相对直观和强大的编程...
2. 触发器:触发器是与表事件关联的特殊存储过程,当特定的DML操作(INSERT、UPDATE或DELETE)发生时自动执行,常用于实现数据完整性约束和审计功能。 3. 视图:视图是虚拟表,基于一个或多个表的SELECT查询结果。它...
Oracle Call Interface(OCI)是一个应用编程接口(API),它允许开发者创建可以使用函数调用来访问Oracle数据库服务器的应用程序,并且控制SQL语句执行的各个阶段。这是在Oracle数据库系统中进行高级编程的一个关键...
创建和管理表.pdf** - 创建和管理表是数据库设计的基础,涉及CREATE TABLE语句,以及如何定义列、数据类型、主键、索引等。这部分还会讲解如何修改表结构(ALTER TABLE)、删除表(DROP TABLE)等操作,是数据库管理...
通过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》是一本全面介绍Visual Basic 2012语言特性和开发环境的专业书籍。本书由经验...
Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了...