增删改查

 

一:插入数据:

在数据库中所有的字符串类型,必须使用单引号

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...andin(…)、is nullnotorand`,其中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均不会使表结构及其列、约束、索引等发生改变。

 

 

posted on 2023-04-20 10:55  不是小朋友L  阅读(152)  评论(0)    收藏  举报

导航