电商网站通用左侧弹出导航,快速建站公司地址,西安企业查询,申请域名空间1.数据更新
1.插入数据
1.插入元组
语句格式
INSERT
INTO 表名 [(属性列1[,属性列2 …)]
VALUES (常量1 [,常量2]… );
功能#xff1a;将新元组插入指定表中
INTO子句 #xff1a;
指定要插入数据的表名及…1.数据更新
1.插入数据
1.插入元组
语句格式
INSERT
INTO 表名 [(属性列1[,属性列2 …)]
VALUES (常量1 [,常量2]… );
功能将新元组插入指定表中
INTO子句
指定要插入数据的表名及属性列
属性列的顺序可与表定义中的顺序不一致
没有指定属性列表示要插入的是一条完整的元组且属性列属性与表定义中的顺序一致
指定部分属性列插入的元组在其余属性列上取空值
VALUES子句
提供的值必须与INTO子句匹配 值的个数 值的类型
将一个新学生元组学号201215128;姓名陈冬;性别男;所在系IS;年龄18岁插入到Student表中。INSERTINTO Student (Sno,Sname,Ssex,Sdept,Sage)VALUES (201215128,陈冬,男,IS,18);将学生张成民的信息插入到Student表中。INSERTINTO StudentVALUES (201215126,张成民,男’,18,CS);插入一条选课记录 200215128,1 。INSERTINTO SC(Sno,Cno)VALUES (201215128 , 1 );关系数据库管理系统将在新插入记录的Grade列上自动地赋空值。或者INSERTINTO SCVALUES ( 201215128 , 1 ,NULL);2.插入子查询结果 可以一次插入多个元组
语句格式
INSERT
INTO 表名 [(属性列1 [,属性列2… )]
子查询;
INTO子句
子查询 SELECT子句目标列必须与INTO子句匹配 值的个数 值的类型
对每一个系求学生的平均年龄并把结果存入数据库
第一步建表CREATE TABLE Dept_age( Sdept CHAR(15) /*系名*/Avg_age SMALLINT); /*学生平均年龄*/第二步插入数据INSERTINTO Dept_age(Sdept,Avg_age)SELECT SdeptAVG(Sage)FROM StudentGROUP BY Sdept;关系数据库管理系统在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则
实体完整性
参照完整性
用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束
2.修改数据
语句格式
UPDATE 表名
SET 列名表达式[,列名表达式]…
[WHERE 条件];
功能
修改指定表中满足WHERE子句条件的元组
SET子句给出表达式的值用于取代相应的属性列
如果省略WHERE子句表示要修改表中的所有元组
1.修改某一个元组的值
将学生201215121的年龄改为22岁UPDATE StudentSET Sage22WHERE Sno 201215121 ;
2.修改多个元组的值
将所有学生的年龄增加1岁。UPDATE StudentSET Sage Sage1;3.带子查询的修改语句
将计算机科学系全体学生的成绩置零。UPDATE SCSET Grade0WHERE Sno IN(SELETE SnoFROM StudentWHERE Sdept CS );关系数据库管理系统在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则
实体完整性
主码不允许修改
用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束
3.删除数据
语句格式
DELETE
FROM 表名 [WHERE 条件];
功能
删除指定表中满足WHERE子句条件的元组
WHERE子句
指定要删除的元组
缺省表示要删除表中的全部元组表的定义仍在字典中
1.删除某一个元组的值
删除学号为201215128的学生记录。DELETEFROM StudentWHERE Sno 201215128 ;2.删除多个元组的值
删除所有的学生选课记录。DELETEFROM SC;3.带子查询的删除语句
删除计算机科学系所有学生的选课记录。DELETEFROM SCWHERE Sno IN(SELETE SnoFROM StudentWHERE Sdept CS) ;2.练习
/*1在 Departments中插入一个部门部门编号为4部门为销售部。*/
INSERT
INTO Departments(DepartmentID,DepartmentName)
VALUES (4,销售部);/*2自拟数据对Employee表插入4个元祖要求都是销售部的员工。*/
INSERT
INTO Employee
VALUES
(4001,张三,1956-3-12,0,河南郑州,475012,3345378,zshenu.edu.cn,4),
(4002,王五,1978-11-2,1,河南新乡,475013,0764311,wwhenu.edu.cn,4),
(4003,李四,1998-6-22,0,云南昆尼,475014,0378652,lshenu.edu.cn,4),
(4004,刘二,1946-10-3,1,河北廊坊,475015,7765987,lehenu.edu.cn,4);/*3将’1003’号员工的地址变为“陕西”。*/
update Employee
set Address陕西
where EmployeeID1003;/*4将研发部所有职员的Income涨500元。*/
update Salary
set IncomeIncome500
where EmployeeID in (select EmployeeIDfrom Employeewhere DepartmentID in(select DepartmentIDfrom Departmentswhere DepartmentName研发部));/*5将‘2002’号员工的地址变为‘北京’所属部门改为2。*/
update Employee
set Address北京 ,DepartmentID2
where EmployeeID2002;/*6将Salary表中前3个元组的outcome属性值统一修改为1100。*/
update top(3) Salary
set OutCome1100;update Salary set OutComeREPLACE(OutCome,1500,1100)
update Salary set OutComeREPLACE(OutCome,1000,1100)
update Salary set OutComeREPLACE(OutCome,1200,1100);/*7将‘3001’号员工调入财务部。*/
update Employee
set DepartmentID1
where EmployeeID3001;/*8在Departments表中新增一名为DepartmentTEL的属性列并插入正确的数据信息。DepartmentTEL为8位的部门电话*/
alter table Departments
add DepartmentTEL char(8)update Departments set DepartmentTEL34568765 where DepartmentID1
update Departments set DepartmentTEL34359665 where DepartmentID2
update Departments set DepartmentTEL98648765 where DepartmentID3
update Departments set DepartmentTEL47836865 where DepartmentID4;/*11删除Departments表的‘Note’列。*/
alter table Departments
drop column Note;/*12在Salary表中新增一名为Stime的属性列Stime的值为插入时系统的时间数据*/
alter table Salary
add Stime date not null default getdate()/*13删除“王霞”的信息。*/
delete from Salary
where EmployeeID in( select EmployeeIDfrom Employeewhere Name王霞) ;