数据库的增删改(DML)

插入操作:

原组值得插入

        最基本的插入方式

        insert  into  tablename  values(val1,val2,....)

        如果表名之后没有列,那么只能将所有的列都插入

        insert  into  tablename  (col1,col2,....)values(val1,val2,....)

        可以指定向哪些列中插入数据,要遵从表的规范

查询结果的插入

        创建表的其他方式

        create  table  tablename1  as  select  *  from  tablename2

        复制表的结构和数据,但不会复制里面的约束

        create  table  tablename1  as  select  *  from  tablename2  where 1=2

        复制表的结构

删除操作:

        删除满足条件的数据

        delete  from  tablename  where  条件

        把整张表的数据全部清除

        delete  from  tablename  

        tuncate跟delete有所不同,delete在进行删除的时候经过事务,而truncate不经过事务,一旦删除就是永久删除,不具备回滚的操作             

        truncate  tablename        效率高,但容易发生误操作,不建议使用

更新操作:

        update  tablename  set  col1 = value1 , col2 = vlaue2  where  条件

        可以更新或修改满足条件的一个列或者多个列

增删改是数据库常用的操作,在进行操作的时候都需要事务的保证

        事务变得非常关键:

        最主要的目的是为了数据的一致性

        如果同一份数据,在同一个时刻只能有一个人访问,就不会出现数据错乱的问题,但是在现在项目中,更多的是并发访问,并发访问的同时带来的是数据的不安全,也就是不一致性

        如果要保证数据的安全,最主要的方式就是加锁的方式MVCC

        事务的延伸:

                最基本的数据库事务

                声明事务

                分布式事务

        为提高效率,可能多个操作会在同一个事务中执行,那么就有可能部分成功,部分失败,基于这种情况就需要控制事物的控制

        如果不保证事务的话,会造成脏读,不可重复读,幻读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值