- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5节创建跟管理表
第五章 创建和管理表 5.1 创建表的结构 1. 几个与表结构设计相关的概念 ⑴ NULL与 NOT NULL 在数据库中NULL是一个特殊值,表示数值未知。 NULL不同于空字符或数字0,也不同于零长度字符串。 比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。空值通常表示未知、不可用或以后添加数据。 如果某个列上的空值属性为NULL,表示接受空值;空值属性为NOT NULL,表示拒绝空值。 在程序代码中,要检查空值以便只在具有有效(或非空)数据的行上进行某些计算。执行计算时消除空值很重要,因为如果包含空值列,某些计算(如平均值)会不准确。若要测试数据列中的空值,可在WHERE子句中使用IS NULL 或 IS NOT NULL。 注意:为了减少对已有查询或报表的维护和可能的影响,建议尽量少使用空值。 ⑵ 缺省值(DEFAULT) 缺省值表示在用户未输入数据时列的取值。 ⑶ 计算列(CALCULATED COLUMN) 一个表的某些列的取值是由基于定义该列的表达式计算得到的。该列不是存储数据的列,是表的虚拟列,该列中的值并未存储在表中,而是在运行时经过计算而得到的。 ⑷ 标识列(IDENTITY) IDENTITY属性使得某一列的取值是基于上一行的列值和为该列定义的步长自动生成的。IDENTITY列的值可以唯一地标识表中的一行。 定义一个IDENTITY列,必须给出一个种子值(初始值),一个步长值(增量)。在一个IDENTITY列定义后,每当向表中插入一行数据时,IDENTITY列就会自动产生下一个值。在插入数据行的语句中,不应包含IDENTITY列的值,该列的值由系统自动给出。 定义IDENTITY列时,应注意如下几点: ① 每张表只允许有一个IDENTITY列。 ② IDENTITY列不能被更新。 ③ IDENTITY列不允许有NULL值。 ④ IDENTITY列只能用于具有下列数据类型之一的列:INT、SMALLINT、TINYINT、NUMERIC(小数部分为0)、DECIMAL(小数部分为0)。 二、创建表的示例 例2 创建课程表 例3 创建成绩单表 5.2 设置约束 使用T-SQL语句设置约束 1.设置主键约束 语法格式: [CONSTRAINT 约束名称] PRIMARY KEY [(字段名 [,……n])] 例4:创建课程表course2 ,同时创建主键 CREATE TABLE course2 ( 课程号 smallint NOT NULL PRIMARY KEY, 课程名 varchar(20) NOT NULL, 学分 dec(4,1) NULL, 任课教师 varchar(8) NULL ) 例5:创建成绩单表report2 ,同时创建组合主键 CREATE TABLE report2 ( 学号 int NOT NULL, 课程号 smallint NOT NULL, 成绩 numeric(5,1) NOT NULL, CONSTRAINT pk_cid_sid PRIMARY KEY(学号 ,课程号 ) ) 2.设置唯一性约束 语法格式: [CONSTRAINT 约束名称] UNIQUE [(字段名 [,……n])] 5.2 修改表结构的T-SQL命令 例1:删除学生表(student)姓名列 5.3 向表中插入数据 三、插入部分数据 ⑴ 具有IDENTITY属性; 5.4 修改表中的数据 5.5 删除表中的数据 5.6 删除表 5.7 在表中检索数据 5.8 使用企业管理器表的主、外键建立 5.9 创建关系图 * 表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。 在SQL Server 2000中,一个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列,每行最多8060字节。在同一数据库的不同表中,可以有相同的字段,但在同一个表中不允许有相同的字段,而且每个字段都要求数据类型相同。 在创建表之前,需要定义表中的列(字段)的名称,同时还需要定义每列的数据类型和宽度。数据类型指定了在每列中存储的数据的类型,例如文本、数字、日期等等。宽度指定了可以向列中输入多少个字符或数字,也可以使用用户自定义型数据。除此之外,还需要设定表中列是否允许为空,是否有缺省值,是否设置为标识列。 一、语法格式: CREATE TABLE 表名( 列名 数据类型和宽度 [NULL|NOT NULL]| [ 表约束 ] [,……n] ) ? 例1 创建学生表 CREATE TABLE
文档评论(0)