SQL语言插入数据、修改数据和删除数据


原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sxj007.blog.51cto.com/521729/121527

ØSQL语言的数据更新语句DML主要包括插入数据、修改数据和删除数据三种语句。

 

4.1.1插入数据记录

 插入一行新记录

Ø语法格式为:

         INSERT INTO <表名>[(<列名1>[,<列名2>…])]VALUES(<值>)

 

Ø练习: 在S表中插入一条学生记录(学号:S7;姓名:郑冬;性别:女;年龄:21;系别:计算机)。

参考:

INSERT INTO  S

VALUES ('s7','郑冬','女',21,'计算机')

注意:

Ø必须用逗号将各个数据分开,字符型数据要用单引号括起来。

ØINTO子句中没有指定列名,则新插入的记录必须在每个属性列上均有值,且VALUES子句中值的排列顺序要和表中各属性列的排列顺序一致。

4.1.1 插入一行的部分数据值

 

Ø练习:  在SC表中插入一条选课记录(’S7’,’C1’)。

参考:

INSERT INTO SC (SNO,CNO)

VALUES ('s7',‘c1')

Ø将VALUES子句中的值按照INTO子句中指定列名的顺序插入到表中

Ø对于INTO子句中没有出现的列,则新插入的记录在这些列上将取空值,如上例的SCORE即赋空值。

Ø但在表定义时有NOT NULL约束的属性列不能取空值。

4.1.2 插入多行记录

 

Ø插入数据的命令语法格式为:

INSERT INTO <表名> [(<列名1>[,<列名2>…])]

子查询

 

Ø练习: 求出各系教师的平均工资,把结果存放在新表AVGSAL中。

参考:

首先建立新表AVGSAL,用来存放系名和各系的平均工资

CREATE TABLE AVGSAL

(DEPARTMENT VARCHAR(20),

AVGSAL SMALLINT)

然后利用子查询求出T表中各系的平均工资,把结果存放在新表AVGSAL中。

INSERT INTO AVGSAL

SELECT DEPT,AVG(SAL)

FROM T

GROUP BY DEPT

 

 

4.2  修改数据记录

UPDATE <表名>

SET <列名>=<表达式>[,<列名>=<表达式>]…

[WHERE <条件>]

4.2.1 修改一行

Ø练习: 把刘伟教师转到信息系。

参考:

UPDATE T

SET DEPT='信息'

WHERE TN='刘伟'

Ø

4.2.2  修改多行

Ø练习: 将所有学生年龄增加1

参考:

UPDATE S

SET AGE=AGE+1

Ø练习: 把教师表中工资小于等于1000元的讲师的工资提高20%。

参考:

UPDATE T

SET SAL=1.2*SAL

WHERE PROF='讲师'

AND SAL <=1000

Ø练习: 把讲授C5课程的教师的岗位津贴增加100元

参考:

UPDATE T

SET COMN=COMN+100

WHERE TNO IN

(SELECT T.TNO

FROM T,TC

WHERE T.TNO=TC.TNO

AND TC.CNO='C5')

 

4.3 删除数据记录

Ø使用DELETE语句可以删除表中的一行或多行记录,

其语法格式为:

DELETE

FROM<表名>

[WHERE <条件>]

其中,

Ø<表名>是指要删除数据的表。

ØWHERE子句指定待删除的记录应当满足的条件,WHERE子句省略时,则删除表中的所有记录。

 

本文出自 “grant.blog.com”博客,请务必保留此出处http://sxj007.blog.51cto.com/521729/121527

 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值