资源描述:
《sql的数据更新功能》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQL的数据更新功能SQL语言的数据操纵也称为数据更新,主要包括插入数据、修改数据和删除数据三种语句。 7.3.1 插入数据记录插入数据是把新的记录插入到一个存在的表中。插入数据使用语句INSERTINTO,可插入一条记录,也可插入多条记录。1.插入一行新记录【命令】INSERTINTO<表名>[(<字段名1>[,<字段名2>…])]VALUES(<表达式1>[,<表达式2>…])【功能】将新记录插入到指定的表中,分别用表达式1、表达式2等为字段名1、字段名2等赋值。【说明】<表名>是指要插入新记录的表;<
2、字段名>是可选项,指定待添加数据的列;VALUES子句指定待添加数据的具体值。列名的排列顺序不一定要和表定义时的顺序一致。但当指定字段名时,VALUES子句表达式的排列顺序必须和字段名的排列顺序一致,个数相等,数据类型一一对应。INTO语句中没有出现的列名,新记录在这些列上将取空值(如果在表定义时说明了NOTNULL的属性列不能取空值)。如果INTO子句没有带任何列名,则插入的新记录必须在每个属性列上均有值。【例7-44】在学生表中插入一条学生记录。INSERTINTO学生(学号,姓名,性别,出生年月,入校
3、总分,三好生);VALUES('s0201111','徐 畅','女',{^1984-06-25},588,.T.)注意:各列名和数据必须用逗号分开,表达式的值必须是常量。2.插入多行记录插入多行记录用于表间的拷贝,将一个表中的数据抽取数行插入另一表中,可以通过子查询来实现。【命令】INSERTINTO<表名>[(<字段名1>[,<字段名2>…])]【功能】插入数据。【例7-45】求出各学生选修课的平均成绩,把结果存放在新表学生平均成绩中。YibinCityCitytracktrafficplanningi
4、sYibincityregionalrangewithintracktrafficsystemofonceintegration,andcitytracktrafficalsoisYibinCityCityintegratedtracktrafficsystemintheofpart,foraccurategraspcitytracktrafficresearchofobject(1)首先建立新表学生平均成绩,用来存放学生姓名和学生选修课的平均成绩。CREATETABLE学生平均成绩(姓名CHAR(8),平
5、均成绩INT(3))(2)然后利用子查询求出各学生的平均成绩,把结果存放在新表学生平均成绩中。INSERTINTO学生平均成绩;SELECT姓名,AVG(成绩);FROM学生,选课;WHERE学生.学号=选课.学号;GROUPBY学号 7.3.2 修改数据记录SQL语言可以使用UPDATE语句对表中的一行或多行记录的某些列值进行修改。【命令】UPDATE<表名>SET<字段名>=<表达式>[,<字段名>=<表达式>]…[WHERE<条件>]【功能】对表中的一行或多行记录的某些列值进行修改。【说明】<表名>是
6、指要修改的表;SET子句给出要修改的列及其修改后的值;WHERE子句指定待修改的记录应当满足的条件,WHERE子句省略时,则修改表中的所有记录。1.修改一行记录【例7-46】把“陈静”教师的职称改成副教授。UPDATE教师;SET职称=‘副教授’;WHERE姓名=‘陈 静’2.修改多行记录【例7-47】把教师表中工资小于或等于2000元的教师的工资提高20%。UPDATE教师;YibinCityCitytracktrafficplanningisYibincityregionalrangewithintra
7、cktrafficsystemofonceintegration,andcitytracktrafficalsoisYibinCityCityintegratedtracktrafficsystemintheofpart,foraccurategraspcitytracktrafficresearchofobjectSET工资=1.2*工资;WHERE工资<=2000 3.用子查询修改记录【例7-48】把王小平同学的所有成绩置零。UPDATE选课;SET成绩=0;WHERE学号IN;(SELECT学生.学号
8、;FROM学生,选课;WHERE学生.学号=选课.学号;AND姓名=‘王小平’) 7.3.3 删除数据记录使用DELETE语句可以删除表中的一行或多行记录。【命令】DELETEFROM<表名>[WHERE<条件>]【功能】删除表中的一行或多行记录。【说明】<表名>是指要删除数据的表。WHERE子句指定待删除的记录应当满足的条件,WHERE子句省略时,则删除表中的所有记录。1.删除一行记录【例7-49】删除刘伟教师