This Domain(Admin5.com) is for Sale:

SQLServer数据库实用技术(43)

时间:2007-12-23  来源:不详  作者:迈克DB

在使用数据库的过程中,接触最多的就是数据库中的表。表是数据存储的地方。是数据库中最重要的部分,治理好表也就治理好了数据库。本章将介绍如何创建和治理数据库表。

表是由行和列组成的。创建表的过程主要就是定义表的列的过程,为此,应先了解表的列的属性。

7.1.1 列的属性
表的列名在同一个表中具有惟一性,同一列的数据属于同一种数据类型。除了用列名和数据类型来指定列的属性外,还可以定义其它属性:NULL 或NOT NULL 属性和IDENTITY 属性。

(1) NULL 或NOT NULL
假如表的某一列被指定具有NULL 属性,那么就答应在插入数据时省略该列的值。反之,假如表的某一列被指定具有NOT NULL 属性,那么就不答应在没有指定列缺省值的情况下插入省略该列值的数据行。在SQL Server 中,列的缺省属性是NOT NULL。要设置缺省属性为NULL 或NOT NULL,可以在Enterprise Manager 中修改数据库属性选项中的“ANSI null default”为真或假。也可以使用如下两种语句来设定:

  • set ansi_null_dflt_on 或set ansi_null_dflt_off;
  • sp_dboption database_name, ‘ANSI null default’, true/false。

内容来自dedecms

(2) IDENTITY
IDENTITY 属性可以使表的列包含系统自动生成的数字。这种数字在表中可以惟一标识表的每一行,即表中的每一行数据在指定为IDENTITY 属性的列上的数字均不相同。指定了IDENTITY 属性的列称为IDENTITY 列。当用IDENTITY 属性定义一个列时,可以指定一个初始值和一个增量。插入数据到含有IDENTITY 列的表中时,初始值在插入第一行数据时使用,以后就由SQL Server 根据上一次使用的IDENTITY 值加上增量得到新的IDENTITY值。假如不指定初始值和增量值,则其缺省值均为1。
IDENTITY 属性适用于INT、 SMALLINT、 TINYINT、 DECIMAL (P,0)、N::::::?
UMERIC (P,0)数据类型的列。
注重:一个列不能同时具有NULL属性和IDENTITY属性,只能二者选其一。

7.1.2 用CREATE TABLE 命令创建表
用CREATE TABLE 命令创建表快捷、明了。其语法如下:
CREATE TABLE [database_name.[owner].| owner.] table_name
( { | column_name AS computed_column_expression |
} [,...n] )
[ON {filegroup | DEFAULT} ]
[TEXTIMAGE_ON {filegroup | DEFAULT} ]

本文来自织梦


::= { column_name data_type }
[ [ DEFAULT constant_expression ]
| [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ] ]
[ ROWGUIDCOL ]
[ COLLATE < collation_name > ]
[ ] [ ...n]
各参数说明如下:

  • database_name
    指定新建的表属于哪个数据库。假如不指定数据库名,就会将所创建的表存放在当前数据库中。
  • owner
    指定数据库所有者的用户名。
  • table_name
    指定新建的表的名称,最长不超过128 个字符。
    对数据库来说,database_name.owner_name.object_name 应该是惟一的。
  • column_name
    指定新建的表的名称,最长不超过128 个字符。
    对数据库来说,database_name.owner_name.object_name 应该是惟一的。
  • computed_column_expression
    指定计算列(Computed column)的列值的表达式。表达式可以是列名、常量、变量、函数等或它们的组合。所谓计算列是一个虚拟的列,它的值并不实际存储在表中,而是通过对同一个表中其它列进行某种计算而得到的结果。例如:员工信息表中存储了员工的雇佣日期,那么员工的工龄就可以通过表达式“雇佣日期当前日期”计算出来,则工龄列就可作为一个计算列。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息