SQL结构化查询语言 之 DML

DML:数据操纵语句

其作用是:往表对象中插入数据、删除表对象中的数据、修改表对象中的数据;

1.插入

作用:在表对象中产生一条新的记录;
INSERT INTO table_name(col_name,…) VALUES(val,…);

insert into stuinfo_yeyu(id,name) values(110,'马云');

val 与 col_name 要一一对应,且类型要一致;
不建议:
INSERT INTO table_name VALUES(val,…);

insert into stuinfo_wj values(130,'马伊莉');

这样很容易出错;
注意: 没有插入值的字段值为null,如果该字段有默认值则为默认值;
在这里插入图片描述

2.删除

DELETE [FROM] table_name [where_condition];

delete from stuinfo_yeyu where id = 110;

如果没有where_condition将是全表删除

3.修改

UPDATE table_name SET col_name=val,… [where_condition];

update stuinfo_wj set ename='马云',job = 'MANAGER',mgr = 7782 where empno=7521;

如果没有where_condition将是全表更新

4.delete和truncate有什么区别?

  1. delete是DML, truncate是DDL;
  2. delete删除的数据可以回退,truncate删除的数据不可以回退;
  3. delete可以选择性删除数据,truncate只能全表删除;
  4. delete删除效率比较慢,一条一条记录删除, truncate直接截断,效率高;

5.提交与退回

DML语句在末提交之前都可以进行回退,提交之后影响到数据库
(1)提交: commit
这就相当是签协议,在最后签名前,你可以随便怎么改,但是一旦协议确认,一提交就不能修改了;

commit;

(2)回退: rollback
相当于撤销,回到之前做标记的位置;

delete from stuinfo_yeyu where empno = 7698;
savepoint p2;--做一个标记,名叫p2
delete from stuinfo_yeyu where empno = 7782;
savepoint p3;
delete from stuinfo_yeyu where empno = 7839;
select * from stuinfo_yeyu;
rollback to p2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值