MySQL的增删改、事务

插入数据

单条插入:
INSERT INTO 表名(字段1,字段2,....) VALUES(数据1,数据2,....);
多条插入:
方法一:INSERT INTO 表名(字段1,字段2,....) VALUES(数据1,数据2,....),(数据1,数据2,....),....;
方法二:INSERT INTO 表名(字段1,字段2,....) 子查询;

表名后面的字段可省略,若省略,则默认包括所有字段,若有的字段不写,则默认填入空值NULL。

修改数据

UPDATE 表名 SET 字段1 = 数据1,字段2 = 数据2,... WHERE 条件;

若字段的数据类型为char、varchar、date,则数据需要加单引号,若为int、double、float则不需要。

删除数据

DELETE FROM 表名 WHERE 条件;

不加条件则删除表中全部记录。若有字段设置了自增,则delete不会删除自增计数,若想删除自增,需要使用TRUNCATE(截断)。

TRUNCATE TABLE 表名;

TRUNCATE和DELETE区别:

TRUNCATE是DDL(数据定义语言),只能删除表中所有记录,释放存储空间,使用ROLLBACK不可以回滚。

DELETE是DML(数据操纵语言),可以删除指定记录,不释放存储空间,使用ROLLBACK可以回滚。

事务

事务也称工作单元,是由一个或多个SQL语句所组成的操作序列,这些SQL语句要么全部执行成功,要么全部执行失败。

事务处理语言(Transaction Process Language)TPL用来对组成事务的DML语句的操作结果进行确认或取消。确认即让DML操作生效,使用提交(COMMIT)命令实现;取消即让DML操作失效,使用回滚(ROLLBACK)命令实现。

事务组成:

在数据库中,事务有一组相关的DML或SELECT语句,加上一个TPL语句(COMMIT、ROLLBACK)一个DDL语句(CREATE、ALTER、DROP、TRUNCATE等)一个DCL(GRANT、REVOKE)语句。

事务特征:ACID。

原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

MySQL的事务处理主要有两种方法

1.用BEGIN,ROLLBACK,COMMIT来实现。

BEGIN开始一个事务、ROLLBACK事务回滚、COMMIT事务提交。

2.直接用set来改变MySQL的自动提交模式

MySQL默认使自动提交的,也就是提交一个sql,就直接执行。可以通过 

set autocommit = 0  禁止自动提交

set autocommit = 1 开启自动提交

来实先事务的处理。

当禁止自动提交时,所有 的sql都将作为事务处理,知道用commit确认或rollback结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值