概要:このチュートリアルでは、MySQLCREATE TABLE
ステートメントを使用してデータベースに新しいテーブルを作成する方法を示します。
MySQL CREATE TABLE構文
CREATE TABLE
ステートメントを使用すると、データベースに新しいテーブルを作成できます。
以下は、CREATE TABLE
ステートメントの基本的な構文を示しています。
構文をより詳細に調べてみましょう。,
まず、CREATE TABLE
キーワードの後に作成するテーブルの名前を指定します。 テーブル名の中で一意でなければならなデータベース化します。 IF NOT EXISTS
はオプションです。 これにより、作成したテーブルがデータベースに既に存在するかどうかを確認できます。 この場合、MySQLはステートメント全体を無視し、新しいテーブルを作成しません。
次に、column_list
セクションでテーブルの列のリストを指定すると、列はカンマで区切られます。,
第三に、ENGINE
句でテーブルのストレージエンジンをオプションで指定できます。 InnoDBやMyISAMなどの任意のストレージエンジンを使用できます。 ストレージエンジンを明示的に宣言しない場合、MySQLはデフォルトでInnoDBを使用します。
InnoDBはMySQLバージョン5.5以降のデフォルトのストレージエンジンになりました。 InnoDBストレージエンジンは、ACIDトラ 以前のバージョ,
以下は、カラムの定義の構文を示しています。
詳細は次のとおりです。
column_name
カラムの名前を指定します。
カラムの名前を指定します。
カラムの名前を指定します。
カラムの名前を指定します。
カラム 各列には特定のデータ型とオプションのサイズがあります。VARCHAR(255)
NOT NULL
制約は、列にNULL
を含まないようにします。 NOT NULL
制約のほかに、列にCHECKやUNIQUEなどの追加の制約がある場合があります。DEFAULT
列のデフォルト値を指定します。,AUTO_INCREMENT
は、新しい行がテーブルに挿入されるたびに、列の値が自動的にインクリメントされることを示します。 各テーブルには最大のテーブルがありますAUTO_INCREMENT
列。列リストの後に、UNIQUE、CHECK、PRIMARY KEY、FOREIGN KEYなどのテーブル制約を定義できます。
たとえば、カラムまたはカラムのグループを主キーとして設定する場合は、次の構文を使用します。
Code language: SQL (Structured Query Language) (sql)
MySQL CREATE TABLEステートメントの例
新しいテーブルを作成する例をいくつか見てみましょう。,
1)MySQL CREATE TABLE simple example
次のステートメントは、tasks
という名前の新しいテーブルを作成します。
Code language: SQL (Structured Query Language) (sql)
tasksテーブルには次の列があります。
task_id
は自動インクリメント列です。INSERT
ステートメントを使用して、task_id
カラムの値を指定せずに新しい行をテーブルに挿入すると、MySQLはtask_id
1から始まる連続整数を自動的に生成します。,title
列は、最大長が255の可変文字列列です。 これは、長さが255より大きい文字列をこの列に挿入できないことを意味します。NOT NULL
制約は、列がNULL
を受け入れないことを示します。 つまり、この列を挿入または更新するときに、NULL以外の値を指定する必要があります。li>start_date
およびdue_date
はDATE
列です。, これらの列にはNOT NULL
制約がないため、NULL
を格納できます。 Start_date列には、現在の日付のデフォルト値があります。 つまり、新しい行を挿入するときにstart_date列に値を指定しない場合、start_date列はデータベースサーバーの現在の日付を取得します。status
およびpriority
はTINYINT
NULL
を許可しない列です。,li>description
列はTEXT
受け入れる列ですNULL
。created_at
は、現在の時刻をデフォルト値として受け入れるTIMESTAMP
カラムです。li>
task_id
は、tasks
テーブルの主キー列です。 これは、task_id
列の値がテーブル内の行を一意に識別することを意味します。,
CREATE TABLE
ステートメントを実行してtasks
テーブルを作成すると、DESCRIBE
ステートメントを使用してその構造を表示できます。
Code language: SQL (Structured Query Language) (sql)
この図は、tasks
テーブルのデータベース図を示しています。
2)mysql create table with外部キー主キーの例
各タスクにチェックリストまたはto-doリストがあるとします。, タスクのチェックリストを保存するには、次のようにchecklists
という名前の新しいテーブルを作成できます。
テーブルchecklists
には、二つの列で構成される主キーがあります。, したがって、主キーを定義するためにテーブル制約を使用しました。
Code language: SQL (Structured Query Language) (sql)
また、task_id
は、task_id
テーブルtasks
の列を参照する外部キー列です。
外部キー制約の詳細については、後続のチュートリアルで学びます。,
この図は、checklists
テーブルとtasks
テーブルとの関係を示しています。
このチュートリアルでは、MySQLCREATE TABLE
データベースに新しいテーブルを作成するステートメント。/p>
- このチュートリアルは役に立ちましたか?
- イェスノ