增删改查
一:插入数据:
1. insert into `authors` (aut_name,gander,country,brithday,hobby) values ('罗曼罗兰','女','漂亮国','1969-1-14','旅游'); 2. insert into `authors` values (2,'罗曼罗兰2','女','漂亮国','1969-1-14','旅游');
第一种写法对于第二种写法会规范,第二种写法会降低代码的可读性。。。。
然后就是插入多个数据的写法,就是每个数据组都是要通过 ,隔开
3.
insert into `authors` (aut_name,gander,country,brithday,hobby) values ('罗曼罗兰','女','漂亮国','1969-1-14','旅游'),('海明威','男','老人与海','1969-1-3','看书');
二:修改记录:
1.对于整列数据的修改
1.UPDATE US SET us.aut_name="6666; 2.UPDATE US SET us.aut_name="6666",us.brithday="2003.04.28";
2.对于某个符合条件的字段的记录修改(配合where)
UPDATE US SET us.aut_name="6666",us.brithday="2003.04.28" WHERE us.aut_id=0;
3.where 实现的是条件的筛选
可使用的逻辑运算符如下:`=、!=、<>、<、>、>=、<=、between...and、in(…)、is null、not、or、and`,其中in(...)的用法表示集合。
实现的代码如下:
-- 字符串也使用=比较,不是 ==也不是equals,在Java中用的多的就是equals。。。。。。。。。 update `authors` set aut_name = '王五', -- 使用in关键字 update `authors` set aut_name = '张三',country='中国' where aut_id in (7,9); -- 逻辑运算都可以 update `authors` set aut_name = '王五',country='中国' where gander = '男' and country = '中国'; -- 使用between and 关键字 某个范围之内 update `authors` set aut_name = '玉帝',country='中国' where aut_id between 7 and 9 -- 空值使用is null \ is not null update `authors` set aut_name = '王五',country='中国' where birthday is not null;
三:删除数据:
delete from 表名 (where 条件);
还有一个关键字:truncate
truncate是DDL语言,操作立即生效,原数据不会放到rollback segment中,不能回滚。
这个时候我们可以考虑一下
delete和truncate的区别
相同点:
- 二者都能删除表中的数据
不同点:
-
需要根据一定的业务条件删除数据时、且数据量、性能可控的情况下,可以考虑使用 delete from xxx where 业务条件
需要考虑事务提交、撤销的管理机制时,可以使用 delete
当需要删除大批量数据时,同时要求速度快,效率高并且w无需撤销时,可以使用 truncate
另外,在企业级开发中,实际上都是进行逻辑删除(将数据进行删除标识处理)、而并不进行物理上的删除
在实际生产环境中,一般情况下删除业务处理(过渡表)中的数据
在实际企业开发、维护过程中,不管使用 delete 还是 truncate 命令前,都要考虑数据的备份
所以总结来说,truncate是DDL ----data define language --数据定义语言---在定义的时候不需要回滚等业务,就是解决不小心弄错需要重新写的问题,这样的问题在后续过程中也就是,如果可以确定这些数据不再需要了,可以直接舍弃的情况下,我们就可以采用truncate去实现,因为毕竟他的效率是好于delete的。。。
大部分情况下还是使用delete为好,毕竟delete可以按照某种条件去选择性的删除,而truncate是不能有那么大的可变性。。。
delete truncate drop
- 当表被truncate后,表和索引的所占空间会恢复到初始大小,delete操作不会减少表和索引的所占空间。
- truncate和delete只删除数据,drop则删除整个表(结构和数据)。
- truncate速度快,效率高,可以理解为先把表删除了,再重新建立。
- truncate和delete均不会使表结构及其列、约束、索引等发生改变。
浙公网安备 33010602011771号