第3章数据表的创建和管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1 在企业管理器中创建数据表
每个表都代表一个特定的实体。创建好 数据库后,就可以向数据库中添加数据 表。数据通常存储在表中,表存储在数 据库文件中,任何有相应权限的用户都 可以对之进行操作。
例:使用企业管理器在数据库 Student_db创建数据表St_info。
标识列IDENTITY (自动编号)
创建数据表Student_1的语句如下: CREATE TABLE Student_1
(S_NO CHAR(7) NOT NULL, NAME CHAR(10), AGE SMALLINT, PRIMARY KEY(S_NO), CHECK(AGE BETWEEN 15 AND 25))
例3-3:使用查询分析器创建临时表temp_student 。创建 表temp_student的语句如下:
3.1.2 使用Transact-SQL语言创建数据表 CREATE TABLE
[database_name.[owner.]| owner .]table_name ({column_name data_type [NULL|NOT NULL]
| [DEFAULT constant_expression] | [IDENTITY [(seed,increment)]] }[,…n] ) [ON filegroup | DEFAULT}] [TEXTIMAGE_ON{filegroup}]
3.2.2 利用Transact-SQL语言创建表
其中各参数的说明如下:
database_name:创建新表所属的数据库名称。 如果不指定,database_name 默认为当前数据库。
owner:指定新表所有者的用户名,如果不指定, owner 默认为当前注册用户名。
table_name:用于指定新建表的名称。表名必须 符合标识符规则。
CREATE TABLE #temp_student (学号 SMALLINT NOT NULL , 姓名 VARCHAR(30) NOT NULL, 年龄 INT NOT NULL, PRIMARY KEY (学号))
在Transact-SQL中可用CREATE TABLE来创建临时 表,只要在表名前加“#”或“##”符号。其中“#”表示 本地临时表,在当前数据库内使用;“##”表示全局临 时表,可在所有数据库内使用。这些表存储在系统数 据库tempdb中,它们在与服务器的交互结束时会自动 删除。
➢每个表至多有一列具有IDENTITY属性,该列不能为空、 不允许具有默认值、不能由用户更新。因此,IDENTITY列 常可作为主键使用。
➢使用IDENTITY时,可设置种子(seed)与增量 (increment)。如果未指定,则取默认值(1,1)。
➢当对表中数据进行删除操作后,在标识值之间可能会产 生数量不等的差值。
3 .1.3使用企业管理器对数据表进行管理
创建数据表之后,可以使用企业管理器或使用 Transact-SQL语言对数据表和数据表的结构进行操作 使用企业管理器管理表
第3章 SQL Server数据表
3.1 数据表的创建和管理 3.2 表数据的管理 3.3 数据完整性管理。
3.1 数据表的创建和管理
SQL Server 2000有两类表,一类是永久表, 这类表一旦创建将一直存储在硬盘上,除非被 用户删除;另一类是临时表,这类表在用户退 出时自动被系统删除。临时表又分为局部临时 表与全局临时表。局部临时表的名称以#开头, 仅可由创建者本人使用,一旦创建者断开连接, 该表将会消失;全局临时表的名称以##开头, 创建者在创建后可以由多个授权用户立即使用, 一旦最后使用的用户断开连接,该表将会消失。
当需要对某一列输入的数据是有规律的顺序编号且保证每 个编号惟一时,最好采用IDENTITY。具有IDENTITY属性 的列称为标识列,其取值称为标识值,具有如下特点:
➢IDENTITY列的数据类型只能为整型、numeric、 decimal。当为numeric、decimal时,不允许有小数位。
➢当用户向表中插入新记录时,系统将自动在该列添加一 个按规定递增(或递减)的数据。该列值由系统自动产生
百度文库CREATE TABLE Student (S_NO CHAR(7) NOT NULL, NAME VARCHAR(8), AGE SMALLINT, SEX CHAR(2))
(3)单击工具栏上的“分析查询”按钮,若结果窗口无错误信息, 再单击“执行查询”按钮,将返回“命令已成功完成”的信息。
例3-2:使用查询分析器创建Student_1学生信息表, 要求包含S_NO(学号)、NAME(姓名)、AGE(年 龄)信息,并限制年龄在15到25周岁之间,指定学号 为主关键字。
column_name:用于指定新建表的字段名。
data_type:用于指定列的数据类型。
DEFAULT:用于指定列的默认值。
IDENTITY [(seed,increment):是否为标识列及标识 列的种子和增量。
ON {filegroup | DEFAULT}:用于指定存储表的文件 组名。如果使用了DEFAULT选项,或者省略了ON子 句,则新建的表会存储在默认的文件组中。
TEXTIMAGE_ON:用于指定text、ntext和image列的 数据存储的文件组。如果表中没有text、ntext或image 列,则不能使用TEXTIMAGE_ON。如果没有指定 TEXTIMAGE_ON子句,则text、ntext和image列的数 据将与数据表存储在相同的文件组中。
3.2.2 利用Transact-SQL语言创建表
例3-1:使用查询分析器在数据库Student_db中创建Student学生 信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年 龄)、SEX(性别)信息,其中学号不能为空。
(1)启动SQL Server服务器,运行查询分析器,并连接到数据库
(2)在查询窗口中输入创建表的语句。
创建数据表Student的语句如下:
相关文档
最新文档