我是靠谱客的博主 现实花瓣,最近开发中收集的这篇文章主要介绍标准SQL语句(6) --- 数据的增删改,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

声明:本文使用到的数据表请参看本博客的另一篇文章:标准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) --- 数据的增删改所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部