概述
声明:本文使用到的数据表请参看本博客的另一篇文章:标准SQL语句(2)--- 表的增删改
1. 添加数据
添加数据使用的SQL命令是insert into ,可分为以下几种情况。
1)添加一行记录
insert into <表名> [ ( <列名1>[, <列名2> ... ] ) ] values ( <值> )
列名可以不指定,但是如果不指定的话,必须在每个属性列上均有值,且values子句中值的排列顺序要和表中各属性列的排列顺序一致。
例:在S表中添加一条学生记录(学号:S7、姓名:郑东、性别:女、年龄:21、系别:计算机)
insert into S (SNo, SN, Age, Sex, Dept) values ('S7', '郑东', 21, '女', '计算机')
2)添加一行记录的部分数据值
例:在SC表中添加一条选课记录(’S7‘, ’C1')
insert into SC (SNo, CNo) values ('S7', 'C1')
3)添加多行记录
添加多行记录用于表间的拷贝,即将一张表中的数据抽取数行添加到另一张表中,可以通过子查询实现。
添加数据的命令语法格式为:
insert into <表名> [ (< 列名1>[, <列名2>] ) ] 子查询
例:求出各个系教师的平均工资,把结果存放在新表AvgSal中。
首先创建一张AvgSal表:
create table AvgSal(
Department varchar(20),
Average int
)
然后利用子查询求出表T中各个系的平均工资,把结果存入新表AvgSal中。
insert into AvgSal
select Dept, avg(Sal) from T group by Dept
2. 修改数据
使用SQL的update语句对表中的一行或多行记录的某些列值进行修改,其语法格式为:
update <表名> set <列名>=<表达式> [ , <列名>=<表达式> ]... [ where <条件> ]
1)修改一行数据
例:把刘伟老师转到信息系。
update T set Dept='信息' where TN='刘伟'
2)修改多行数据
例1:将所有的学生的年龄增加1岁。
update S set Age=Age+1
例2:把教师表中工资小于或等于1000元的讲师的工资提高20%。
update T set Sal = Sal *1.2 where Sal<=1000 and Prof='讲师'
3)用子查询选择要修改的行。
例1:把讲授C5课程的教师的岗位津贴增加100元。
update T set Comm=Comm+100 where TNo = any (select TNo from TC where CNo='C5')
例2: 把所有教师的工资提高到平均工资的1.2倍.
update T set Sal = (select
avg(Sal)*1.2 from T )
3. 删除数据
使用SQL的delete语句可以删除表中的一行或多行记录,其语法格式为:
delete from <表名> [ where <条件> ]
注:当省略where子句时,则删除表中的所有记录。
1)删除一行记录
例:删除刘伟老师的记录。
delete from T where TN='刘伟'
2)删除多行记录
例:删除所有教师的授课记录。
delete from TC
3)利用子查询选择要删除的行
例:删除刘伟老师的授课记录。
delete from TC where TNo = (select TNo from T where TN='刘伟')
最后
以上就是现实花瓣为你收集整理的标准SQL语句(6) --- 数据的增删改的全部内容,希望文章能够帮你解决标准SQL语句(6) --- 数据的增删改所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复