MySQLの制約の詳細な説明

PHPz
PHPzオリジナル
2024-02-22 14:24:04753ブラウズ

MySQLの制約の詳細な説明

MySQL の制約の詳細な説明

MySQL データベースでは、テーブル内の列の値の範囲とデータ整合性を定義および制限するために制約 (制約) が使用されます。ルール。テーブルの作成時に列に制約を追加することで、データの正確性と一貫性を確保できます。この記事では、MySQL で一般的に使用される制約タイプを紹介し、具体的なコード例を示します。

  1. PRIMARY KEY (主キー制約)
    主キーは、テーブル内の列または列のグループの一意の識別子です。これらは、テーブル内の各行の一意性を保証します。 PRIMARY KEY 制約を使用すると、テーブル内に主キーが 1 つだけ存在し、重複する値が存在しないことが保証されます。
    次の例は、テーブルに主キー制約を追加する方法を示しています。
CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);
  1. FOREIGN KEY (外部キー制約)
    外部キーは、テーブルに主キー制約を追加するために使用されます。複数のテーブル間の関係。これは、データの整合性を確保するために別のテーブルの主キーを参照する列または列のセットです。 FOREIGN KEY 制約が外部キー カラムに定義されている場合、MySQL は挿入または更新された値が関連テーブルに存在するかどうかを自動的にチェックします。
    次は、外部キー制約をテーブルに追加する方法を示す例です。
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    product_id INT,
    customer_id INT,
    FOREIGN KEY (product_id) REFERENCES products(product_id),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
  1. UNIQUE (一意制約)
    一意制約により、特定の列がテーブルは一意の値のみを受け入れます。場合によっては、値の重複を避けるために列に UNIQUE 制約を追加することが必要になる場合があります。
    次に、テーブルに一意制約を追加する方法を示す例を示します。
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    email VARCHAR(50) UNIQUE,
    department_id INT
);
  1. CHECK (チェック制約)
    CHECK 制約は、値の範囲をカスタマイズするために使用されます。テーブル内の列。 CHECK 制約を使用すると、特定の条件を満たすデータのみをテーブルに挿入できるようになります。
    以下は、CHECK 制約の使用方法を示す例です。
CREATE TABLE products (
    product_id INT PRIMARY KEY,
    product_name VARCHAR(50),
    quantity INT,
    price DECIMAL(10, 2),
    CONSTRAINT CHK_quantity CHECK (quantity >= 0),
    CONSTRAINT CHK_price CHECK (price > 0)
);
  1. DEFAULT (デフォルト制約)
    DEFAULT 制約は、列のデフォルト値を設定するために使用されます。新しい行が挿入されるときに、値が明示的に指定されない場合は、デフォルト値が自動的に使用されます。
    以下は、テーブルにデフォルトの制約を追加する方法を示す例です:
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    username VARCHAR(50),
    password VARCHAR(50) DEFAULT '123456',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

上記は、MySQL で一般的に使用される制約タイプとその使用方法の紹介です。制約を使用すると、データベース内のデータの整合性と一貫性が保証されます。制約を適切に使用することで、エラーや不整合なデータを削減し、データベースの効率と信頼性を向上させることができます。この記事が、MySQL の制約機能の理解と使用に役立つことを願っています。

以上がMySQLの制約の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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