一. 请写出数据库分离和附加的步骤
数据库右键分离,数据库右键附加
二. 请写出数据库导出SQL脚本的步骤
数据库名右键分离脚本高级框架和数据完成
三. 请写出SQL Server的四种完整性约束
1.实体完整性约束:不允许出现相同记录的数据
2.域完整性约束:对字段进行限定,不得插入不符合限定的数据
3.引用完整性:表与表之间的关系
4.自定义完整性约束:开发人员自己设定对字段的约束,不允许出现不符合约束的数据
四. 如何设置表的主键和标识列
.表的主键:选用表中不会出现重复数据的列,而且尽量不要选择多列作为主键,最后要选择列数据修改次数不多的列作为主键
.表的标识列:标识列的数据类型必须为int,将此字段的标识规范改为”是“
五. 请写出主外键关系确立后操作主数据的注意事项
外键找主键(需要关联的主键列在哪个表中哪个就是主键表)主键更改外键会一起更改
六. 请写出使用SQL插入数据时的注意事项+
注意插入数据时数据字段的数据类型,时候有约束,是否是住建
删除数据或修改数据时看是否有外键关联
七. 请写出增删改SQL语句的基本语法
向Student表中插入数据
--语法:INSERT [INTO] 表名 (列名) VALUES (值列表)
--删除数据:针对表中的记录进行删除
--语法:DELETE FROM 表名 WHERE 表中唯一标识
修改数据:针对表中数据进行修改,where条件根据唯一数据进行限定
--语法:UPDATE 表名 SET 列名1=更新值1,列名2=更新值2 WHERE 表中唯一标识
-
八. 请写出添加多行数据的三种方式
-插入多行数据
--从from的表中拿出select的列数据插入到into的表中
--表必须创建
INSERT INTO AddressList(StudentName,Address,Email)
SELECT StudentName,Address,Email
FROM Student
--插入多行数据
--表自动创建
SELECT Student.StudentName,Student.Address,Student.Email
INTO AddressList
FROM Student
--插入多行数据
--表必须创建
INSERT INTO AddressList(StudentName,Address,Email)
SELECT '1','北京','456@qq.com' UNION
SELECT '2','北京','456@qq.com' UNION
SELECT '3','北京','456@qq.com' UNION
SELECT '4','北京','456@qq.com' UNION
SELECT '5','北京','456@qq.com' UNION
SELECT '6','北京','456@qq.com'
九. 假设My School数据库有如下Student表和Grade表
Student表结构(其中Student No为主键,表中GradeId和Grade表中的GradeId为主外键关联):
Student表的数据:
Grade表结构(其中Grade Id为主键,并且是标识列):
Grade表的数据:
问题一:更改Student No为S1101009的学生记录,将密码修改为:p w d@123,将年级编号修改为:4
UPDATEStudent SET LoginPwd='pwd@123',Gradeld=4 WHERE Student No='s1101009'
问题二:向学生表中新增一条记录
INSERT [INTO] Student VALUES('1','a','张三','男',1,'a','a','@')
问题三:向年级表中新增一条记录
INSERT [INTO] Grade VALUES ('6','112')
问题四:删除学生表中编号为S1101007的记录
DELETE FROM Student WHEREStudentNo='s1101007'
问题五:删除Grade表中Grade Id为1的记录(根据表中数据分析,采用哪两种方式删除?)
解除关系,右键删除
※前四问均手写SQL,最后一问可以文字描述