SQL Server数据库技术(43)

2016-01-29 16:59 3 1 收藏

SQL Server数据库技术(43),SQL Server数据库技术(43)

【 tulaoshi.com - SQLServer 】

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

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

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。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)(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)的列值的表达式。表达式可以是列名、常量、变量、函数等或它们的组合。所谓计算列是一个虚拟的列,它的值并不实际存储在表中,而是通过对同一个表中其它列进行某种计算而得到的结果。例如:员工信息表中存储了员工的雇佣日期,那么员工的工龄就可以通过表达式“雇佣日期当前日期”计算出来,则工龄列就可作为一个计算列。 ON {filegroup | DEFAULT}
指定存储表的文件组名。如果使用了DEFAULT 选项或省略了ON 子句,则新建的表会存储在默认文件组中。 TEXTIMAGE_ON
指定TEXT、NTEXT、 和IMAGE 列的数据存储的文件组。如果无此子句,这些类型的数据就和表一起存储在相同的文件组中。 data_type
指定列的数据类型 DEFAULT
指定列的缺省值。当输入数据时,如果用户没有指定列值,系统就会用设定的缺省值作为列值。如果该列没有指定缺省值但允许NULL 值,则NULL 值就会作为缺省值。其中缺省值可以为常数、NULL 值、SQL Server 内部函数(如GETDATE()函数)、NILADIC 函数等。 constant_expression
列缺省值的常量表达式,可以为一个常量或系统函数或NULL。 IDENTITY
指定列为IDENTITY 列。一

来源:https://www.tulaoshi.com/n/20160129/1500018.html

延伸阅读
标签: SQLServer
在企业管理器中可以很方便地调用其它SQL Server 工具,如SQL Server Query Analyzer (查询分析器)、SQL Server Profiler (跟踪器)等,只须从“Tools (工具)”菜单中选择相应的工具即可。 SQL Server 2000 中提供了大量的向导工具,可以引导用户完成一系列的数据库与服务器管理工作。可以从“Tools (工具)”菜单中选择“Wizards” 选项,或从工...
标签: SQLServer
除了使用系统提供的数据类型外,用户还可以根据需要用自定义的数据类型来定义表的列或声明变量。 7.3.1 用Enterprise Manager 创建用户自定义数据类型 用Enterprise Manager 创建用户自定义数据类型的方法是:在Enterprise Manager 中选择要创建用户自定义类型的数据库,在数据库对象“User Defined Data Types”上单击右键,从开始菜单...
标签: SQLServer
11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用 的值取代相应的列的值。如果省略 WHERE 子句,那么表中的所有数据均会受到影响。在FROM 子句中指定的表或列的别名不能用于SET 子句中。 column_name 指定要更新数据的列。IDENTITY 列不能...
标签: SQLServer
    在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是使用Transaction-SQL 命令Create Procedure, 另一种是使用图形化管理工具Enterprise Manager。 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。 当创建存储过程时,需要确定存储过程...
标签: SQLServer
每一个游标必须有四个组成部分这四个关键部分必须符合下面的顺序; 1.DECLARE 游标 2.OPEN 游标 3.从一个游标中FETCH 信息 4.CLOSE 或DEALLOCATE 游标 通常我们使用DECLARE 来声明一个游标声明一个游标主要包括以下主要内容: 游标名字 数据来源(表和列) 选取条件 属性(仅读或可修改) 其语法格式如下: DECLARE cursor_name [INSENSITIVE] [...

经验教程

484

收藏

53

精华推荐

SQL Server数据库技术(94)

SQL Server数据库技术(94)

演绎_新的精彩

SQL Server数据库技术(85)

SQL Server数据库技术(85)

可靠的铁柱

SQL Server数据库技术(99)

SQL Server数据库技术(99)

姐你惹不起659

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部