数据库代码程序修改文件

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

(10)用SQL语句修改表Course的列属性,将CName的长度改为40,且不允许空。

在工具栏中点击“新建查询”按钮,打开代码编辑器,输入如下SQL语句。

ALTER TABLE Course ALTER COLUMN CNameV ARCHAR(40) NOT NULL

提示:1、如果有约束则需要先删除约束。

2、在默认情况下,列被设置为允许空,将一个原来允许空的列改为不允许空,必须满足以下两个条件。

∙列中没有存放是空值的记录。

∙在列上没有创建索引。

(11)用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包括“@”字符。

在工具栏中点击“新建查询”按钮,打开代码编辑器,输入如下SQL语句。

USE SMSD

ALTER TABLE Student ADD Email V ARCHAR(40) NULL CONSTRAINT ck_ea CHECK(Email like '%@%')

(12)用SQL语句删除表Student中的列Email。

ALTER TABLE Student DROP CONSTRAINT ck_ea

ALTER TABLE Student DROP COLUMN Email

提示:删除属性时,如果该属性上有约束,则需要先删除约束,而后才可以删除属性。

(13)用SQL语句给表Student添加主键约束。

在工具栏中点击“新建查询”按钮,打开代码编辑器,输入如下SQL语句。

USE SMSD

ALTER TABLE Student ADD CONSTRAINT pk_name PRIMARY KEY(SName)

提示:①一个关系只能与一个主键,向已存在的表中添加主键约束时,必须确保该表目前没有主键,若有需先删除原来的主键。②向已存在的表中的某一列或某几列添加主键约束,表中已有的数据在这几列上需要满足以下条件。

∙不能有重复的数据。

∙不能有空值。

(14)删除SName列上的主键约束。

在工具栏中点击“新建查询”按钮,打开代码编辑器,输入如下SQL语句。

USE SMSD

ALTER TABLE Student DROP CONSTRAINT pk_name

(15)使用WITH NOCHECK子句。

对表Student的SAge列添加约束,使学生的年龄为18~25岁。可以使用如下语句。

USE SMSD

ALTER TABLE Student WITH NOCHECK ADD CONSTRAINT ck_ageCHECK(Age>=18 AND Age<=25)

提示:用包含WITH NOCHECK子句的ALTER TABLE语句添加的约束只对在以后

改变或插入的行发生作用,而不检查已存在的行。在确认现存的数据不破坏约束时,可在

ALTER TABLE语句中使用WITH NOCHECK子句,从而提高运行速度;或者是表中存在不满足约束的数据,而希望这些数据仍能保留。

(16)使约束无效或重新有效。

前面为表Student添加了列Email,并且定义了检查约束,要求输入的电子邮件地址必

须包括“@”字符。现在使这一约束无效,使用如下语句。

USE SMSD

ALTER TABLE Student NOCHECK CONSTRAINT ck_ea

使这一约束重新有效,使用如下语句。

ALTER TABLE Student CHECK CONSTRAINT ck_ea

提示:在ALTER TABLE语句中使用nocheck constraint子句和check constraint子句来完成使约束无效和重新有效的设置。

2.5.4数据的维护

(1)启动SQL Server Management Studio工具,使用对象资源管理器,修改表Student

中的数据。

①在对象资源管理器中,展开SMSD数据库,选择“表”,用鼠标右键单击右侧窗口中

要编辑的表节点“Student”,在弹出的快捷菜单中选择“编辑前200行”命令,打开表编辑

器。

②插入一条记录(‘15001’,‘梁栋’,‘M’,‘20’,‘山西运城’);

如果要删除记录,可以单击记录第一个列前的按钮,按Delete键;如果要修改数据,可

以将光标移至需要修改的地方,直接修改。

③编辑完毕,单击“关闭”按钮,保存编辑结果。

(2)用SQL语句向表中插入数据。

①将学号为“15002”、姓名为“王立”、性别为“男”的学生记录插入表Student中。

在工具栏中点击“新建查询”按钮,打开代码编辑器,执行如下SQL语句。

INSERT INTO Student (StuNo,SName,Gender) V ALUES('15002', '王立', 'M')

✹思考:试将将上面代码改为:INSERT INTO Student (StuNo,SName,Gender) V ALUES('15002', '王立', '男’),会出现什么问题?为什么?

②将一条选课记录插入表Score中。

INSERT INTO Score V ALUES('15001', '00001', null,null,null,null,null,nul)

③在表Student中插入一条学生记录,省略INSERT INTO后的列名,查看插入结果。

INSERT INTO Student V ALUES('15003', '要强', 'M', '21',null,null,null,null,null,null,null) 提示:当表明后面省略列名时,V ALUES后括号里的值的个数一定要和表的列数一致。

④新建一个表SS,且结构与表Student的结构完全相同。

CREATE TABLE SS

(StuNOCHAR(12) PRIMARY KEY,

SNameCHAR(10),

相关文档
最新文档