ホームページ  >  記事  >  データベース  >  MySQL トランザクションの定義と特徴

MySQL トランザクションの定義と特徴

王林
王林オリジナル
2024-03-01 15:00:05504ブラウズ

MySQL トランザクションの定義と特徴

MySQL トランザクションの定義と特徴

MySQL はオープンソースのリレーショナル データベース管理システムであり、トランザクションはデータベース管理システムにおいて非常に重要な概念です。トランザクションとは、一連の SQL ステートメントの実行を指します。データの整合性と一貫性を確保するために、これらの SQL ステートメントはすべて実行されるか、まったく実行されません。トランザクションには、アトミック性、一貫性、分離性、耐久性という 4 つの ACID 特性があります。

  1. 原子性: トランザクション内のすべての操作は正常に実行されるか、失敗後にロールバックされます。一部の操作が成功し、一部の操作が失敗するという状況はありません。
  2. 一貫性: トランザクションが実行される前にデータベースは一貫性のある状態にある必要があり、トランザクションの実行後もデータベースは一貫性を維持します。
  3. 分離: 複数のトランザクションは互いに分離されており、1 つのトランザクションの実行は他のトランザクションによって干渉されません。
  4. Durability (永続性): トランザクションがコミットされると、加えられた変更はデータベースに永続的に保存され、データベースに障害が発生した場合でもデータの耐久性が保証されます。

次に、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;

上の例では、最初にstudent という名前のテーブルを作成し、次に事務を開きました。次に、データの一部がテーブルに挿入され、そのデータがクエリされました。最後に、COMMIT ステートメントを通じてトランザクションが送信され、データ挿入操作が有効になります。

エラーが発生した場合、またはトランザクションをロールバックする必要がある場合は、ROLLBACK ステートメントを使用してトランザクションをロールバックできます。例は次のとおりです。

-- 开启事务
START TRANSACTION;

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

-- 查询数据
SELECT * FROM student;

-- 回滚事务
ROLLBACK;

この例では、データの挿入後にエラーが発生した場合、またはこの操作を中止する必要がある場合は、ROLLBACK ステートメントを使用してトランザクションをロールバックし、前の操作を元に戻して、データベースの一貫性を維持できます。

上記の例を通じて、MySQL トランザクションの特徴と、MySQL でトランザクションをオープン、コミット、ロールバックする方法を理解できます。トランザクションはデータベースの一貫性と安定性を確保することができ、データベース管理システムにおいて非常に重要な概念です。

以上がMySQL トランザクションの定義と特徴の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。