SQL语句(三)更新语句(增删改)⼀、插⼊
INSERT
INTO 表名(列名1,列名2……)//列名可以省略,省略情况下是表格的所有列
VALUES(常量1,常量2……)//与上句中的列对应
⼆、修改
UPDATE 表名
SET 列名=表达式,列名=表达式......
WHERE 条件//可以省略
三、删除
DELETE
FROM 表名
WHERE 条件//可以省略
四、实例
1.插⼊⼀条顾客记录,要求每列都给出⼀个合理的数值
SELECT *
FROM customer;/*先查询已经存在的customer表*/
INSERT
INTO customer
VALUES(1,'llllll','中国',40,'178********',0.00,'Northeast','VIP Customer');
2.插⼊⼀条订单记录,给出必要的⼏个字段
INSERT
INTO lineitem(orderkey,partkey,suppkey,linenumber,quantity,shipdate,receiptdate)
VALUES(22025,13724,13139,1,100,'2017-10-31','2017-11-1');
SELECT*
FROM lineitem;
3. 创建⼀个新的顾客表,把所有中国国籍顾客插⼊到新的顾客表中
CREATE TABLE newcustomer
(
ncustkey INTEGER PRIMARY KEY,/*顾客编号*/
nname VARCHAR(25),
naddress VARCHAR(40),
nphone CHAR(15),
nacctbal REAL,
nmktsegment CHAR(10),
ncomment VARCHAR(117)
);
INSERT
INTO newcustomer
SELECT custkey,name,address,phone,acctbal,mksegment,comment
FROM customer
增加字段的sql语句WHERE nationkey=
(
SELECT nationkey
FROM nation
WHERE name='中国'
);
SELECT *
FROM newcustomer;
4.创建⼀个顾客购物统计表,记录每个顾客以及其购物总数和总价等信息
CREATE TABLE custshop
(
custkey INTEGER,
totalquantity REAL,
totalprice REAL
);
INSERT
INTO custshop
SELECT customer.custkey,SUM(quantity),SUM(totalprice)
FROM customer,orders,lineitem
WHERE customer.derkey
derkey
GROUP BY customer.custkey;
SELECT *
FROM custshop;
5. 倍增零件表的数据,多次重复执⾏,直到总记录数达到50万;
INSERT
INTO part
SELECT partkey+(SELECT MAX(partkey)FROM part),name,
mfgr,brand,type,size,container,retailprice,comment
FROM part ;
6.上海黎顺服装经营部供应的所有零件的供应成本下降10%
UPDATE partsupp
SET supplycost=supplycost*0.9
WHERE suppkey=
(
SELECT suppkey
FROM supplier
WHERE name='上海黎顺服装经营部'
);
7.利⽤part表中的零售价来修改lineitem表中的extendedprice
UPDATE lineitem
SET extendedprice=retailprice*quantity
FROM part
WHERE part.partkey=lineitem.partkey;
8.删除顾客“”的所有订单记录
SELECT COUNT(linenumber)/*先查询顾客有多少订单,然后进⾏删除*/ FROM lineitem
WHERE orderkey IN
(
SELECT orderkey
FROM orders
WHERE custkey =
(
SELECT custkey
FROM customer
WHERE name=''
)
)
DELETE
FROM lineitem
WHERE orderkey IN
(
SELECT orderkey
FROM orders
WHERE custkey =
(
SELECT custkey
FROM customer
WHERE name=''
)
)
DELETE
FROM orders
WHERE custkey=
(
SELECT custkey
FROM customer
WHERE name=''
);
五、参考结果
2.插⼊⼀条订单记录以及在插⼊后进⾏查询的结果
3.把中国国籍顾客放⼊新的顾客表以及插⼊后查询的结果
4.在顾客购物统计表中插⼊顾客信息、购物总数和总价等信息以及查询结果
5.倍增零件表数据时,执⾏第⼆次和第三次的结果
6.更新上海黎顺服装经营部所有零件供应成本的结果
7.修改lineitem表中的extendedprice结果显⽰
8.查询并删除顾客订单记录的结果
六、注意
1.在插⼊记录的时候,经常会发⽣错误,⼀个原因是插⼊的数据类型或个数与表格定义的列的类型和个数不⼀致,另⼀个原因是违背了完整性约束,原本输⼊的第⼀个属性值为15,运⾏错误,系统提⽰不能重复插⼊主键。因此我认为在更新数据之前最好先查询⼀下已经存在的数据,这样做能够减少之后更新的错误。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论