sql-2-DML-增删改

DML:增删改表中数据

1. 添加数据:

insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);

insert into 表名 values(值1,值2,...值n); -- 如果省略列名,则默认给所有列添加值,确保提供的值顺序与表中列的顺序一致,否则可能会出现错误。

示例

insert into student(sno,sname) values(1,'zs') ;

insert into student values(2,'ls') ;

除了数字类型,其他类型的值比如字符串或者日期需要加引号''(一般是单引号)

2. 删除数据:

delete from student where sno=1; -- 删除一条数据

delete from 表名;  -- 删除所有记录
-- 一行一行的删除,速度慢,写日志,可以恢复的,

truncate table student; -- 截断表(作用也是删除表中的所有记录)
-- 先删除表,然后再创建一张一样的表,不写日志,无法找回删除

DELETE和TRUNCATE的主要区别在于,DELETE是一个DML(数据操纵语言)操作,会记录在事务日志中,可以被回滚,而且在有外键约束的情况下可能会触发级联删除。而TRUNCATE是一个DDL(数据定义语言)操作,不记录在事务日志中,不能被回滚,也不检查约束。因此,TRUNCATE在删除大量数据时通常比DELETE快得多,但使用时需谨慎。

3. 修改数据:

update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];

update student set sname='lisi',sno=20 where sno =2;

如果不提供WHERE条件,则会将表中所有记录全部修改。

posted @ 2022-06-18 23:39  姬雨晨  阅读(16)  评论(0编辑  收藏  举报