数据库系统-数据更新


数据更新

插入数据

插入元组

1
2
3
4
/*全部属性插入值*/
INSERT
INTO TABLENAME
VALUES(...) /*必须和表的顺序相同*/
1
2
3
4
/*特定属性插入值*/
INSERT
INTO TABLENAME(...) /*属性顺序可以和表的顺序不同*/
VALUES(...) /*要和上面顺序相同;用单引号*/

不赋值的话会默认赋空值;也可以显示的赋NULL

1
2
3
4
5
一次插入多条数据

INSERT INTO xsbl VALUES('1','xxx','xxx'),
('2','xxx','xxx'),
('3','xxx','xxx')
1
2
3
4
将查询到结果插入到表里

INSET INTO xsb2
SELECT * FROM xsb1;

插入子查询结果

1
2
3
INSERT
INTO INTO <表名> [(<属性列1> [,<属性列2>…] )
子査询;
1
2
3
4
5
INSERT
INTO Dept_age(Sdept,Avg_age)
SELECT Sdept,AVG(Sage)
FROM Student
GROUP BY Sdept;

可以转换为连接操作

SELECT…INTO

将一个表中的数据插入到另一个表

1
2
3
4
SELECT *
INTO newTable
FROM oldTable
WHERE ...

修改数据

1
2
3
4
5
6
UPDATE <表名>
SET<列名>=<表达式> [,<列名>=<表达式>] …
WHERE <条件>];


不要WHERE时,是全表设置

修改某一个元组的值

1
2
3
UPDATE Student
SET Sage=22
WHERE Sno='2012J5121';

修改全部

1
2
UPDATE Student116
SET Sage=Sage+l;

带子查询的修改语句

1
2
3
4
5
6
UPDATE SC
SET Grade=O
WHERE Sno IN
( SELETE Sno
FROM Student
WHERE Sdept='CS');
YAbXIf.png

可以转换为连接操作

删除数据

1
2
3
DELETE
FROM <表名>
WHERE <条件>];

删除某一个元组的值

1
2
3
DELETE
FROM Student
WHERE Sno='201215128'

删除全部

1
2
3
4
5
DELETE
FROM SC;

等同于
TRUNCATE TABLE xx;

带子查询的删除语句

1
2
3
4
5
6
DELETE
FROM SC
WHERE Sno IN
( SELETE Sno
FROM Student
WHERE Sdept='CS');

注意:删除操作不可以用连接代替

YAOGxe.png

本文标题:数据库系统-数据更新

文章作者:TTYONG

发布时间:2020年05月06日 - 13:05

最后更新:2023年06月26日 - 00:06

原始链接:http://tianyong.fun/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F-%E6%95%B0%E6%8D%AE%E6%9B%B4%E6%96%B0.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%