>  기사  >  데이터 베이스  >  MySQL 트랜잭션의 정의와 특징

MySQL 트랜잭션의 정의와 특징

王林
王林원래의
2024-03-01 15:00:05504검색

MySQL 트랜잭션의 정의와 특징

MySQL 트랜잭션의 정의와 특징

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 트랜잭션은 데이터베이스 관리 시스템에서 매우 중요한 개념입니다. 트랜잭션은 데이터의 무결성과 일관성을 보장하기 위해 일련의 SQL 문이 실행되거나 전혀 실행되지 않는 것을 의미합니다. 트랜잭션에는 원자성, 일관성, 격리성, 내구성이라는 네 가지 ACID 특성이 있습니다.

  1. 원자성: 트랜잭션의 모든 작업이 성공적으로 실행되거나 모두 실패하고 일부 작업이 실패하는 상황은 없습니다.
  2. 일관성: 트랜잭션이 실행되기 전에 데이터베이스는 일관된 상태여야 하며, 트랜잭션이 실행된 후에도 데이터베이스는 일관성을 유지해야 합니다.
  3. 격리: 여러 트랜잭션이 서로 격리되어 있으며 하나의 트랜잭션 실행이 다른 트랜잭션의 방해를 받지 않습니다.
  4. 내구성: 트랜잭션이 커밋되면 수정 사항이 데이터베이스에 영구적으로 저장되므로 데이터베이스가 실패하더라도 데이터 내구성이 보장됩니다.

다음은 MySQL 트랜잭션의 특징을 보여주기 위한 구체적인 코드 예제입니다.

-- 创建一个测试表
CREATE TABLE student (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

-- 开启事务
START TRANSACTION;

-- 插入数据
INSERT INTO student VALUES (1, 'Alice', 20);

-- 查询数据
SELECT * FROM student;

-- 提交事务
COMMIT;

위 예제에서는 먼저 학생이라는 테이블을 생성한 후 트랜잭션을 시작했습니다. 그런 다음 데이터 조각을 테이블에 삽입한 다음 데이터를 쿼리했습니다. 마지막으로 COMMIT 문을 통해 트랜잭션이 제출되어 데이터 삽입 작업이 유효해집니다.

오류가 발생하거나 트랜잭션을 롤백해야 하는 경우 ROLLBACK 문을 사용하여 트랜잭션을 롤백할 수 있습니다. 예는 다음과 같습니다.

-- 开启事务
START TRANSACTION;

-- 插入数据
INSERT INTO student VALUES (2, 'Bob', 25);

-- 查询数据
SELECT * FROM student;

-- 回滚事务
ROLLBACK;

이 예에서는 오류가 발생하거나 포기해야 하는 경우입니다. 데이터를 삽입한 후 작업을 수행하려면 ROLLBACK을 사용할 수 있습니다. 이 문은 트랜잭션을 롤백하고 이전 작업을 취소하며 데이터베이스의 일관성을 유지합니다.

위의 예를 통해 MySQL 트랜잭션의 특징과 MySQL에서 트랜잭션을 열고 커밋하고 롤백하는 방법을 확인할 수 있습니다. 트랜잭션은 데이터베이스의 일관성과 안정성을 보장할 수 있으며 데이터베이스 관리 시스템에서 매우 중요한 개념입니다.

위 내용은 MySQL 트랜잭션의 정의와 특징의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.