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

MySQLでテーブルを作成する

    MySQLでは、GUIを介して、またはSQLコードを実行してテーブルを作成できます。両方の方法の概要は次のとおりです。

    データベースを作成したので、いくつかのテーブルを作成しましょう。

    GUIを介したテーブルの作成

    テーブルを作成する1つの方法は、MySQLWorkbenchGUIを使用することです。これは、グラフィカルユーザーインターフェイスを好む人にとっては簡単なオプションです。

    GUIを使用して開始する場合でも、CREATE TABLEを使用してプログラムでテーブルを作成することに慣れておくことをお勧めします。 ステートメント。

    CREATE TABLE ステートメント

    CREATE TABLE ステートメントは、名前が示すとおりに機能します—テーブルを作成します。

    ただし、MySQLで作成するテーブルに関する情報を提供する必要があります。たとえば、テーブル名、列名とそのデータ型、デフォルト値、制約などです。

    前のページで使用した例は次のとおりです。

    CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);

    これにより、Fruitというテーブルが作成されます FruitNameの2つの列が含まれています およびDateEntered

    FruitName 列はVARCHAR(20)のデータ型を使用します 、これは、VARCHARであるデータを受け入れることを意味します (可変長文字列)最大20文字の長さ。

    DateEntered 列はDATETIMEのデータ型を使用します これは、列が次の形式のDATETIME形式(日付と時刻)を受け入れることを意味しますYYYY-MM-DD HH:MM:SS

    列に常に値を含めるように指定できます(「null」であってはなりません)。これを行うには、NOT NULLを含めます その列の仕様(以下の例)。

    その列に指定された形式ではないデータを挿入しようとすると、エラーが発生します。

    複数のテーブルを作成する

    複数のテーブルを作成するには、CREATE TABLEを追加するだけです。 作成する必要のある各テーブルのステートメント。

    CREATE TABLE table_1 (...);
    CREATE TABLE table_2 (...);

    以前、「FruitShop」という空のデータベースを作成しました。しかし、当時はテーブルを作成していませんでした。スクリプトを更新して、データベースと2つのテーブルを作成しましょう。コードにさらにいくつかを追加します。

    DROP DATABASE IF EXISTS FruitShop;
    CREATE DATABASE FruitShop;
    USE FruitShop;
    
    CREATE TABLE Units (
    UnitId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
    UnitName VARCHAR(10) NOT NULL,
    DateEntered DATETIME NOT NULL,
    DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (UnitId)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    CREATE TABLE Fruit (
    FruitId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    FruitName VARCHAR(45) NOT NULL, 
    Inventory SMALLINT UNSIGNED NOT NULL,
    UnitId TINYINT UNSIGNED NOT NULL,
    DateEntered DATETIME NOT NULL,
    DateUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (FruitId),
    CONSTRAINT fkFruitUnits FOREIGN KEY (UnitId) REFERENCES Units (UnitId) ON DELETE RESTRICT ON UPDATE CASCADE
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    上記のスクリプトを実行してから、MySQLWorkbenchの左側の列を更新します。新しく作成した FruitShop が表示されます。 SCHEMAS の下にリストされているデータベース タブ。

    テーブル を展開します ノードを開くと、作成したばかりのテーブルが表示されます:

    各テーブルを展開して、その列とそのテーブル用に作成したその他のオブジェクトを表示することもできます。

    テーブル情報をプログラムで表示する

    プログラムでテーブル情報を表示することもできます。つまり、SQLコマンドを入力して、必要な情報を表示します。

    次の例では、デフォルトのデータベースをFruitShopに設定します。 USE FruitShopを使用する 。次に、MySQLにデフォルトデータベースのすべてのテーブルを表示するように依頼します(SHOW TABLESを使用) ):

    USE FruitShop;
    SHOW TABLES;

    次のコマンドを使用して、特定のテーブルの構造を確認することもできます(テーブル名を必要な構造のテーブルに置き換えるだけです):

    DESCRIBE Fruit;

    データベースでのそのコマンドの結果は次のとおりです。


    1. MSAccessと条件付き並べ替えのドラッグアンドドロップ

    2. MySQLとMariaDBデータベースのバックアップリソース

    3. MySQLソース-レプリカサーバーの重要なヘルスチェック

    4. 別のアプリケーションから1つのアプリケーションのデータベースにアクセスする