ホームページ  >  記事  >  データベース  >  mysqlテーブルの作成方法

mysqlテーブルの作成方法

PHPz
PHPzオリジナル
2023-04-21 11:20:2115307ブラウズ

MySQL は、多くのアプリケーションのデータ ストレージと処理に主に選択される人気のリレーショナル データベース管理システムです。 MySQL を使用する場合、テーブルの作成は習得する必要がある非常に重要なスキルです。この記事ではMySQLでテーブルを作成する方法を紹介します。

  1. 前提条件
    MySQL テーブルを作成する前に、MySQL サーバーをインストールして構成し、MySQL クライアント ツール (コマンド ラインや MySQL Workbench など) の使用に慣れておく必要があります。さらに、テーブルを作成するには十分な権限が必要です。操作がローカルで実行される場合は、root ユーザーとしてログインできますが、操作がリモート サーバーで実行される場合は、対応する権限が必要です。
  2. データベースの選択
    テーブルを作成する前に、テーブルを作成するターゲット データベースを選択する必要があります。データベースがすでに存在する場合は、次のコマンドを使用してそのデータベースに切り替えることができます:
use database_name;

ここで、database_name はターゲット データベースの名前です。

ターゲット データベースがまだ存在しない場合は、次のコマンドを使用してデータベースを作成し、それを現在のデータベースとして設定する必要があります:

CREATE DATABASE database_name;
USE database_name;
  1. Create table
    We CREATE TABLE ステートメントを使用して、新しい MySQL テーブルを作成できます。通常、CREATE TABLE ステートメントには次のコンポーネントが含まれます。
  • テーブル名: 新しいテーブルの名前。
  • 列名とデータ型: テーブルに作成される各列と各列のデータ型。
  • 主キー: すべてのテーブルには、データの各行を一意に識別するための主キーが必要です。
  • 制約: 特定の列の制限と要件を定義するために使用されます。
  • その他のオプション: パーティショニングやインデックス作成など。

以下は、基本的な MySQL テーブル作成ステートメントの例です。

CREATE TABLE table_name (
    column_1 datatype constraint,
    column_2 datatype constraint,
    PRIMARY KEY (column_1)
);

ここで、table_name は新しいテーブルの名前、column_1 と column_2 は作成される列の名前です。 datatype は列のデータ型であり、constraint は列の制限または要件です。 PRIMARY KEY は、テーブルの主キーを指定するために使用されます。これは、データの各行を一意に識別する列である必要があります。

たとえば、次は students という名前の MySQL テーブルの create ステートメントの例です:

CREATE TABLE students (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    age INT,
    gender ENUM('male','female') NOT NULL,
    PRIMARY KEY (id)
);

この例では、students はテーブルの名前、id は自動インクリメントの整数列です。 、主キーとして指定されます。 name は 255 文字のテキスト列、age は整数列、gender は「男性」または「女性」の 2 つの値のみを含めることができる列挙列です。

  1. 列制約の追加
    列を作成するとき、次のようなさまざまな制約を使用して列の値を制限または要求できます。
  2. NOT NULL: 列を空にすることはできません。
    UNIQUE: 列のすべての値は一意である必要があります。
  • DEFAULT: 列のデフォルト値を設定します。
  • チェック: 特定の条件下での値の範囲を制限するなど、特定の制限を指定します。
  • PRIMARY KEY: この列をテーブルの主キーとして指定します。
  • FOREIGN KEY: この列が別のテーブルの外部キーに関連付けられていることを指定します。
  • これらの制約の使用方法を示す例をいくつか示します:

Null 値と一意性は禁止されています:

    CREATE TABLE employees (
        id INT UNSIGNED NOT NULL AUTO_INCREMENT,
        name VARCHAR(255) NOT NULL,
        email VARCHAR(255) NOT NULL UNIQUE,
        age INT NOT NULL,
        PRIMARY KEY (id)
    );
  • Inこの例では、電子メール列は一意である必要があるため、UNIQUE 制約を使用します。
  • デフォルト値の追加:

      CREATE TABLE customers (
          id INT UNSIGNED NOT NULL AUTO_INCREMENT,
          name VARCHAR(255) NOT NULL,
          address TEXT,
          created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          PRIMARY KEY (id)
      );
    • この例では、created_date 列のデフォルト値が現在のタイムスタンプに設定されているため、毎回手動で指定する必要はありません。新しいレコードが作成された時刻、この列の値。
    • 値の範囲を確認してください:

        CREATE TABLE orders (
            id INT UNSIGNED NOT NULL AUTO_INCREMENT,
            product_name VARCHAR(255) NOT NULL,
            quantity INT NOT NULL,
            price DECIMAL(10,2) NOT NULL,
            status ENUM('pending','processing','shipped') DEFAULT 'pending',
            CONSTRAINT ck_price CHECK (price > 0),
            PRIMARY KEY (id)
        );
      • この例では、価格列は CHECK 制約によって値の範囲を制限しており、列の値を大きくする必要があります。 0よりも。ステータス列のデフォルト値は「保留中」であるため、新しいレコードを作成するときにこの列の値を手動で指定する必要はありません。
      • 外部キーの追加:

          CREATE TABLE orders (
              id INT UNSIGNED NOT NULL AUTO_INCREMENT,
              customer_id INT UNSIGNED NOT NULL,
              product_name VARCHAR(255) NOT NULL,
              quantity INT NOT NULL,
              price DECIMAL(10,2) NOT NULL,
              PRIMARY KEY (id),
              FOREIGN KEY (customer_id) REFERENCES customers(id)
          );
        • この例では、customer_id 列が customer テーブルの id 列に関連付けられているため、FOREIGN KEY 制約を使用して外部キー。これは、customer_id 列の値が customer テーブルの id 列の値と一致している必要があることを意味します。
        • 概要

          MySQL でのテーブルの作成は必要なスキルです。この記事では、CREATE TABLE ステートメントとさまざまな列制約を使用して MySQL テーブルを作成する方法を紹介します。他にも多くのオプションや制約があり、実際には継続的な学習と探索が必要です。

          以上がmysqlテーブルの作成方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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