MySQL默认情况下是自动提交事务的,也就是说每一条SQL语句都会被当做一个独立的事务来处理。因此,如果大家不显式地开启事务,数据库并不会锁表,也不会出现其他访问或修改数据的问题。 例如,下面这个语句会对customer表执行一个SELECT查询操作,如果不开启事务,其他客户端仍然可以对customer表进行增删改查操作: SELECT * FROM customer WHERE id = 1; 当然,如果大家在执行一系列SQL语句时需要保持数据的完整性和一致性,就需要显式地开启事务了。这个时候,MySQL会对相应的表加锁,以保证事务的原子性和隔离性。
总之,MySQL并不会因为没有开启事务而锁定表格。只有当事务被显式地开启时,才会加锁以保证数据的完整性和一致性。