sql >> データベース >  >> RDS >> Mysql

MySQLでテーブルを作成する方法

    多くの場合、MySQLでテーブルを作成する必要があります。 MySQLCREATETABLEコマンドを使用してテーブルを作成する方法は次のとおりです。

    MySQLでテーブルを作成する方法

    MySQLでテーブルを作成する手順は次のとおりです。

    MySQL CREATE TABLEを使用すると、データベースに新しいテーブルを作成できます。構文は次のとおりです。

    CREATE TABLE [IF NOT EXISTS] table_name(
       column_1_definition,
       column_2_definition,
       ...,
       table_constraints
    ) ENGINE=storage_engine;
    

    上記のテーブルクエリの作成では、 table_name 新しいテーブルの名前です。 IF NOT EXISTSは、テーブルがすでに存在するかどうかをチェックし、テーブルが存在しない場合にのみテーブルを作成するオプションの引数です。

    column_1_definition column_2_definition 、…は、それぞれ列名とデータ型で構成される異なる列定義です。

    table_contraints 外部キー制約、主キー制約など、さまざまなタイプのオプションの制約です。

    オプションで、ストレージエンジンをENGINE変数として指定できます。 MySQLはInnoDBおよびMyISAMストレージエンジンをサポートしています。この変数を指定しない場合、MySQLはデフォルトでInnoDBを使用します。

    ボーナス読み取り:MySQL ALTER TABLE Column

    MySQLCREATETABLEの例

    MySQLでテーブルを作成するためのSQLクエリは次のとおりです。 注文を作成します 注文のリストを保存するテーブル

    CREATE TABLE IF NOT EXISTS orders (
        id INT AUTO_INCREMENT PRIMARY KEY,
        product_name VARCHAR(255) NOT NULL,
        order_date DATE,
        price INT NOT NULL,
        description TEXT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )  ENGINE=INNODB;
    
    
    mysql> describe orders;
    +--------------+--------------+------+-----+-------------------+----------------+
    | Field        | Type         | Null | Key | Default           | Extra          |
    +--------------+--------------+------+-----+-------------------+----------------+
    | id           | int(11)      | NO   | PRI | NULL              | auto_increment |
    | product_name | varchar(255) | NO   |     | NULL              |                |
    | order_date   | date         | YES  |     | NULL              |                |
    | price        | int(11)      | NO   |     | NULL              |                |
    | description  | text         | YES  |     | NULL              |                |
    | created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
    +--------------+--------------+------+-----+-------------------+----------------+
    

    上記のクエリでは、

    id AUTOINCREMENT制約のあるテーブルの主キーです。したがって、このテーブルに新しい行を追加すると、MySQLはこの列を自動的にインクリメントし、新しい行に自動的に入力します。

    product_name 製品名を格納するためのVARCHAR(文字列)列です

    order_date 日付列です。制約がないため、NULL値にすることもできます。

    価格 NOTNULL制約のある整数列です。したがって、null値を持つことはできません。

    created_at は、デフォルト値としてCURRENT_TIMESTAMPを使用するタイムスタンプ列です。

    このテーブルにはINNODBストレージエンジンを使用することを選択しました。

    ボーナスリード:MySQL ADD COLUMN

    外部キーを使用したMySQLCREATETABLE

    FOREIGNKEY制約を使用してMySQLで新しいテーブルを作成しましょう。新しいテーブルを作成しますorder_status 外部キーを使用order_id 注文の主キーを参照します テーブル。

    mysql> CREATE TABLE IF NOT EXISTS order_status (
             status_id INT AUTO_INCREMENT,
             order_id INT,
             status VARCHAR(255) NOT NULL,
             is_completed BOOLEAN NOT NULL DEFAULT FALSE,
             PRIMARY KEY (status_id),
             FOREIGN KEY (order_id)
                 REFERENCES orders (id)
                 ON UPDATE RESTRICT ON DELETE CASCADE
         );
    
    mysql> describe order_status;
    +--------------+--------------+------+-----+---------+----------------+
    | Field        | Type         | Null | Key | Default | Extra          |
    +--------------+--------------+------+-----+---------+----------------+
    | status_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
    | order_id     | int(11)      | YES  | MUL | NULL    |                |
    | status       | varchar(255) | NO   |     | NULL    |                |
    | is_completed | tinyint(1)   | NO   |     | 0       |                |
    +--------------+--------------+------+-----+---------+----------------+
    

    上記のクエリでは、MySQL ADD FOREIGN KEY

    を使用して外部キー制約を追加します。

    うまくいけば、My​​SQLでテーブルを簡単に作成できるようになりました。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. SQLclで構文の強調表示を構成する方法

    2. SQLコマンドで使用される特別な要素の不適切な中和

    3. sql with-recursiveステートメントはどのように解釈されますか?

    4. OracleのVフォーマット要素について