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

Ø 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 子句省略时,则删除表中的所有记录。
 

你可能感兴趣的:(sql,DML,插入数据,删除数据,修改数据)