mysql中的commit()语句

今天在对数据库进行操作的时候,刚开始进行查询的时候没有使用commit()语句结果都正常,但是执行到插入的时候,数据一直没有插入进去,最后查资料才发现没有commit。

数据操作语言(Date Manipulation Language)DML语言,实现对数据的基本操作,”增删改”。
UPDATE DELETE INSERT
数据定义语言(Data Definition Language )DDL语言,可以实现对数据库结构、操作方法等的定义:
create table 创建表
alter table 修改表
drop table 删除表
truncate table 删除表中所有行
create index 创建索引
drop index 删除索引**
数据库控制语言(Data Control Language)DCL授权,角色控制
GRANT 授权
REVOKE 取消授权
事务控制语言(Transaction Control Language)事务控制语言
SAVEPOINT 设置保存点
ROLLBACK 回滚
SET TRANSACTION

在这之中,DDL语句是自带commit的,而执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。另外,可以知道,查询是可以不带commit的。

所以对数据进行修改或者删除或者插入时最好都commit一下

你可能感兴趣的:(mysql)