SQL之修改

因为同一SQL语句,不同厂商有不同的实现方式,因此同一SQL语句不一定在所有的数据库编辑器上能够正确运行,这里采用的是华为的openGauss。

1.INSERT

基本格式为:

INSERT INTO <relation> VALUES (<list of values>);

如:向likes表中插入Sally喜欢Bud啤酒

INSERT INTO Likes VALUES('Sally', 'Bud');

我们也可以指定插入元素的顺序或者只插入某几个元素,基本格式为:

INSERT INTO <relation>(...) ( <subquery> );

如:只向drinkerss表中插入Obama

INSERT INTO drinkers(name) VALUES('Obama');

也可以插入一个子查询

如:用frequents(drinker, bar)表插入新的关系potbuddies(name),选择条件为那些经常光顾至少一个Charles Babbage光顾的酒吧的人

INSERT INTO PotBuddies
(SELECT d2.drinker
FROM Frequents d1, Frequents d2
WHERE d1.drinker = 'Charles Babbage'
AND d2.drinker <> 'Charles Babbage' 
AND	d1.bar = d2.bar
);

或者

CREATE TABLE AvgPriceOfBeer
(   
    beer varchar(20),
    avgPrice float
);
INSERT INTO AvgPriceOfBeer (avgPrice, beer)
SELECT avg(price), beer FROM Sells
GROUP BY beer;

2.DELETE

基本格式为:

DELETE FROM <relation>
WHERE <condition>;

如:删除likes表中Sally喜欢Bud这条记录

DELETE FROM likes
WHERE drinker = 'Sally’ AND beer = 'Bud';

如:删除likes表中所有元素(应谨慎使用)

DELETE FROM likes;

使用WHERE语句,如删除同一生产商的不同啤酒

DELETE FROM Beers b
WHERE EXISTS (SELECT name FROM Beers
			  WHERE manf = b.manf AND
			  name <> b.name);

3.UPDATE

基本格式为:

UPDATE <relation>
SET <list of attribute assignments>
WHERE <condition on tuples>;

如:将drinker表中Tim Berners-Lee的手机号码改成555-1212

UPDATE Drinkers
SET phone = '555-1212'
WHERE name = 'Tim Berners-Lee';
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花无凋零之时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值