一. 请写出数据库分离和附加的步骤
分离:
右击数据库“MySchool",在弹出的快捷菜单中选择“任务”→“分离”选项;
打开“分离数据库”窗口,勾选“删除连接,更新系统”选项;
然后点击“确定”,完成分离,分离的数据库将不会线束在数据库列表中,但是其物理文件依然保存,在磁盘中,此文件可以复制,粘贴的;
附加:
右击数据库“MySchool”,在弹出的快捷菜单中选择"任务"→“附加”选项;
单击“添加”按钮可以选择和制定数据库文件,最后单击“确定”按钮可以添加数据库;
二. 请写出数据库导出SQL脚本的步骤
右击数据库中任意的表,在弹出的快捷菜单中“任务”→“生成脚本”选项;
打开“生成脚本”窗口,点击“下一步”,找到“高级选项”,将“仅限架构”改为“架构和数据”,然后选择您想要保存文件的路径,最后单击“下一步”,直到完成;
三. 请写出SQL Server的四种完整性约束
1.实体完整性约束;
2.域完整性约束;
3.引用完整性约束;
4.自定义完整性约束;
四. 如何设置表的主键和标识列
主键:
首先选中要建立主键的列右击;
然后在弹出的快捷菜单中选择“设置主键”就可以完成了;
标识列:
在列属性下框中,找到“标识规范”,再找到“(是标识)”,然后点击两下,将“否”改变成“是”,则完成;
五. 请写出主外键关系确立后操作主数据的注意事项
1.删除数据时,先要删除外键,再删除主键;
2.主键和外键的数据类型相对应;
六. 请写出使用SQL插入数据时的注意事项
1.每次插入一整行数据,不可能只插入半行或者几列数据,但需要某些列为空或使用默认值;
2.数据值的数目必须与列数相同,每次数据值得数据类型,精度和小数位也必须与相应的列匹配;
3.INSERT语句不能为标识列指定值,因为它的数字是自动增长的;
4.对于字符串类型,日期类型的列,当插入数据的时候,用单引号(‘)将其引起来;
5.尽管可以不指定列名,但是最好明确指定插入的列和对应的值,以便能够将列和值清晰地对应起来;
6.若在设计表的时候指定某列不可以为空,则g该列必须插入数据,否则将报告错误信息;
7.插入的数据项,要求符合检查约束的要求;
七. 请写出增删改SQL语句的基本语法
增修:
UPDATE 表名 SET 列名=更新值 [WHERE 更新条件]
删除:
DELETE [FROM] 表名 [WHERE <删除条件>]
八. 请写出添加多行数据的三种方式
1.INSERT SELECT 语句
2.SELECT INTO 语句
3.UNION 关键字
九. 假设My School数据库有如下Student表和Grade表
Student表结构(其中Student No为主键,表中GradeId和Grade表中的GradeId为主外键关联):
Student表的数据:
Grade表结构(其中Grade Id为主键,并且是标识列):
Grade表的数据:
问题一:更改Student No为S1101009的学生记录,将密码修改为:p w d@123,将年级编号修改为:4
UPDATE Student SET LoginPwd = 'pwd@123',GradeId=4
WHERE StudentNo='S1101009'
问题二:向学生表中新增一条记录
INSERT INTO Student(StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate)
VALUES('s1201302098','PWD@123','呵呵','女','1','15555650879','北京海淀','1996-5-3')
问题三:向年级表中新增一条记录
INSERT INTO Grade(GradeName)
VALUES('Z1')
问题四:删除学生表中编号为S1101007的记录
DELETE FROM Student
WHERE StudentNo='S1101007'
问题五:删除Grade表中Grade Id为1的记录(根据表中数据分析,采用哪两种方式删除?)
1. DELETE FROM Grade
WHERE GradeId=1
2. TRUNCATE TABLE Grade
WHERE GradeId=1