ホームページ > データベース > mysql チュートリアル > Create Tableステートメントを使用してMySQLでテーブルを作成するにはどうすればよいですか?

Create Tableステートメントを使用してMySQLでテーブルを作成するにはどうすればよいですか?

Johnathan Smith
リリース: 2025-03-19 15:50:31
オリジナル
786 人が閲覧しました

Create Tableステートメントを使用してMySQLでテーブルを作成するにはどうすればよいですか?

Create Tableステートメントを使用してMySQLにテーブルを作成するには、構造化されたSQL構文に従う必要があります。テーブルの作成方法に関する段階的なガイドを次に示します。

  1. Create Table Statementから始めます。 CREATE TABLEに続いてテーブルの名前を作成します。
  2. 列を定義する:テーブル名の後、括弧内に、テーブルに含める列を一覧表示します。各列には、名前、データ型、およびオプションで制約または追加の仕様が必要です。
  3. 列属性を指定します。各列について、データ型(int、varchar、日付など)と、Not null、default、auto_incrementなどの制約を指定します。
  4. テーブルの制約を追加(必要に応じて):列を定義した後、プライマリキー、外部キー、一意などのテーブルレベルの制約を追加できます。

usersという名前のシンプルなテーブルを作成する方法の例は次のとおりです。

 <code class="sql">CREATE TABLE users ( id INT AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE (email) );</code>
ログイン後にコピー

このSQLコマンドは、 idusernameemail 、およびcreated_atの列を持つusersという名前のテーブルを作成し、 idAUTO_INCREMENTなどの制約、 usernameemailメールのNOT NULLidPRIMARY KEYemailUNIQUE制約などの制約を指定します。

MySQL Create Tableステートメントに必要な重要なコンポーネントは何ですか?

MySQLを作成する場合、テーブルステートメントを作成する場合、いくつかの重要なコンポーネントを考慮する必要があります。

  1. テーブル名:作成しているテーブルの名前は、 CREATE TABLEキーワードの作成に従います。
  2. 列:括弧内に囲まれた列定義のリスト。各列定義には以下が含まれている必要があります。

    • 列名:列の名前。
    • データタイプ: int、varchar、日付など、列が保持するデータのタイプ。
    • 制約: Not Null、Default、Auto_incrementなどの列に適用できるオプションのパラメーター。
  3. 制約:次のような、追加のテーブルレベルの制約を定義できます。

    • 主キー:テーブル内の各行が一意に識別されるようにします。
    • 外部キー:別のテーブルとの関係を作成します。
    • 一意のキー:列内のすべての値が異なることを保証します。
    • 制約を確認する:列の値が特定の条件を満たすことを確認します。

これらのコンポーネントを示す例が次のとおりです。

 <code class="sql">CREATE TABLE orders ( order_id INT AUTO_INCREMENT, customer_id INT, order_date DATE NOT NULL, total_amount DECIMAL(10,2) NOT NULL, PRIMARY KEY (order_id), FOREIGN KEY (customer_id) REFERENCES customers(id), CHECK (total_amount > 0) );</code>
ログイン後にコピー

MySQLでテーブルを作成するときに、データ型と制約を指定できますか?

はい、MySQLでテーブルを作成するときに、データ型と制約の両方を指定できます。これがあなたがそれを行う方法です:

データ型:

  • 数値タイプ: int、bigint、10進、floatなど。
  • 日付と時刻の種類:日付、時刻、日時、タイムスタンプなど。
  • 文字列タイプ: char、varchar、テキストなど。
  • バイナリタイプ:バイナリ、varbinary、blobなど。

制約:

  • nullではありません:列にnull値がないことを保証します。
  • 一意:列内のすべての値が異なることを保証します。
  • 主キー:テーブル内の各レコードを一意に識別します。
  • 外部キー: 2つのテーブルを一緒にリンクします。
  • チェック:列の値が特定の条件を満たすことを確認します。
  • デフォルト:値が指定されていない場合、列のデフォルト値を設定します。
  • Auto_increment:新しいレコードごとに一意の数字を自動的に生成します。

データ型と制約を指定する例:

 <code class="sql">CREATE TABLE products ( product_id INT AUTO_INCREMENT, product_name VARCHAR(100) NOT NULL, price DECIMAL(10,2) NOT NULL DEFAULT 0, stock_quantity INT NOT NULL DEFAULT 0, PRIMARY KEY (product_id), UNIQUE (product_name), CHECK (price >= 0) );</code>
ログイン後にコピー

MySQLテーブルの作成におけるプライマリおよび外国のキーとのデータの整合性をどのように確保しますか?

プライマリキーと外部キーを使用してMySQLのデータの整合性を確保することは、関連するテーブル全体で正確で一貫したデータを維持するために重要です。これを達成する方法は次のとおりです。

主キー:

主キーは、テーブル内の各レコードを一意に識別する列(または列のセット)です。重複したエントリを防止することにより、テーブルの整合性を保証します。一次キーを定義するには、列定義内にそれを含めるか、別のテーブル制約として含めることができます。

例:

 <code class="sql">CREATE TABLE customers ( customer_id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (customer_id) );</code>
ログイン後にコピー

外国の鍵:

外部キーは、別のテーブルの主キーを参照する列(または列)で、2つのテーブル間にリンクを確立します。これにより、参照された統合性が保証されます。つまり、外部キー列の値は参照テーブルの主要なキー列に存在する必要があります。

例:

 <code class="sql">CREATE TABLE orders ( order_id INT AUTO_INCREMENT, customer_id INT, order_date DATE NOT NULL, PRIMARY KEY (order_id), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );</code>
ログイン後にコピー

この例では、 ordersテーブルには、 customersテーブルのcustomer_idプライマリキーを参照するcustomer_id列があります。このセットアップにより、 ordersテーブル内のすべてのcustomer_id customersテーブルの有効なcustomer_idである必要があり、両方のテーブル全体でデータの整合性を維持することができます。

プライマリキーと外部キーを適切に使用することにより、データの一貫性と整合性を維持し、データベース内の無効または孤立したレコードを防ぐことができます。

以上がCreate Tableステートメントを使用してMySQLでテーブルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート