数据库学习 SQL的数据操纵(DML)

常用的数据操纵DML关键字:INSERT、DELETE、UPDATE

数据插入INSERT

INSERT有两种形式
(1)插入单个元组
INSERT INTO <表名> [(<属性名清单>)]
VALUES (元组值);

INSERT INTO S(xh,xm,xb,csrq,jg,sjhm,yxh)
VALUES('1101','李明','男','1993-03-06','上海','13613005486','02');   

INSERT INTO <表名> (<属性名清单>)
VALUES (元组值), (元组值),… ;
VALUES后的元组值中列的顺序必须和基本表的列表名一一对应。如果基本表后不跟列表名,表示在VALUES后的元组值顺序和模式中列名的顺序一致

INSERT INTO S(xh,xm,xb,csrq,jg,sjhm,yxh)
VALUES
('1102','刘晓明','男','1992-12-08','安徽','18913457890','01'),
('1103','张颖','女','1993-01-05','江苏','18826490423','01'),
('1104','刘晶晶','女','1994-11-06','上海','13331934111','01');

(2)插入子查询结果
INSERT INTO <表名>[(<属性名清单>)]
(子查询);
把子查询的结果插入指定的<表名>中。这样的一条INSERT语句,可以一次插入多条元组。

INSERT INTO SPJ
SELECT SNO,PNO,'J7',PRICE,60
FROM SPJ
WHERE JNO='J1';

数据删除DELETE

DELETE FROM <表名>
[WHERE <带有子查询的条件表达式>]
本语句将删除使<带有子查询的条件表达式>为真的所有元组。

DELETE FROM SPJ
WHERE SNO IN
(SELECT SNO FROM S WHERE SNAME='东方配件厂')

数据修改UPDATE

UPDATE <表名>
SET<列名>=<表达式>[,<列名>=<表达式>……]
[WHERE <带有子查询的条件表达式>]
本语句执行时,将修改使<带有子查询的条件表达式>为真的所有元组。期中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组

UPDATE SPJ
SET PRICE=PRICE*1.06
WHERE PNO='P4'
AND SNO='S5'

猜你喜欢

转载自blog.csdn.net/q418030645/article/details/78811896
今日推荐