CREATE TABLE構文

CREATE TABLE構文について

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名 [(列名 型名 制約,...)]
       [table_options] [select_statement]

TEMPORARYを指定すると接続中のみその接続ごとで使用可能なテーブルが作成されます。 この一時表は、接続が終了すると自動的に消去されます。

IF NOT EXISTSは、すでにテーブルが作成されていた場合エラーを表示しません。 ただし、表名のみの判断のようです。

表名は、最大64バイトでファイル名として許されるすべての文字。/ と . を除きます。

列名は、最大64バイトで全ての文字が使用可能です。

フィールドに使用できる型

数値型
TINYINT [(M)] [UNSIGNED] [ZEROFILL] 範囲:-128〜127
符号なし範囲:0〜255
SMALLINT [(M)] [UNSIGNED] [ZEROFILL] 範囲:-32768〜32767
符号なし範囲:0〜65535
MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL] 範囲:-8388608〜8388607
符号なし範囲:0〜16777215
INTEGER
INT [(M)] [UNSIGNED] [ZEROFILL]
範囲:-2147483648〜2147483647
符号なし範囲:0〜4294967295
BIGINT [(M)] [UNSIGNED] [ZEROFILL] 範囲:-9223372036854775808〜9223372036854775807
符号なし範囲:0〜18446744073709551615
FLOAT (精度) [ZEROFILL] 8桁以内の浮動小数。
FLOAT [(M,D)] [ZEROFILL] 4バイト浮動少数。
範囲: -3.402823466E+38〜-1.175494351E-38、
0、1.175494351E-38〜3.402823466E+38
DOUBLE
REAL [(M,D)] [ZEROFILL]
8バイト浮動少数。
範囲:
-1.7976931348623157E+308〜-2.2250738585072014E-308、
0、2.2250738585072014E-308〜1.7976931348623157E+308
DECIMAL
NUMERIC (M,D) [ZEROFILL]
パック無し浮動小数。
日付型
DATE 日付。
書式:YYYY-MM-DD
DATETIME 日時。
書式:YYYY-MM-DD HH:MM:DD
TIMESTAMP [(M)] 自動更新される日時。
書式:YYYY-MM-DD HH:MM:DD
TIME 時刻。
書式:HH:MM:DD
YEAR 2桁または4桁形式(デフォルト)の年。
書式:YYYY
文字列型
固定長 [NATIONAL] CHAR (M) [BINARY] 固定長文字列
幅:1〜255文字
可変長 [NATIONAL] VARCHAR (M) [BINARY] 可変長文字列
幅:1〜255文字
TINYTEXT 最大長 255 バイトのテキスト
TEXT 最大長 65535 バイトのテキスト
MEDIUMTEXT 最大長 16777215 バイトのテキスト
LONGTEXT 最大長 4294967295 バイトのテキスト

バイナリ型,その他
BYNARY(M) 最大長 255 バイトの固定長バイナリオブジェクト
VARBINARY(M) 最大長 255 バイトの可変長バイナリオブジェクト
TINYBLOB 最大長 255 バイトのバイナリオブジェクト
BLOB 最大長 65535 バイトのバイナリオブジェクト
MEDIUMBLOB 最大長 16777215 バイトのバイナリオブジェクト
LONGBLOB 最大長 4294967295 バイトのバイナリオブジェクト
ENUM ('value1','value2',...) char データ型のリスト。
最大65535個の値を持つことができます。
SET ('value1','value2',...) 組。
最大 64個の要素を持つことができます。

列制約と表制約

1.列制約構文

CREATE TABLE 表名(列名 データ型 制約 制約 ...,...);

[NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [参照定義]

2.表制約構文

CREATE TABLE 表名(列名 データ型,...
    ,制約名(列名,列名,...));

    PRIMARY KEY (index_col_name,...)
    KEY [index_name] (index_col_name,...)
    INDEX [index_name] (index_col_name,...)
    UNIQUE [INDEX] [index_name] (index_col_name,...)
    FULLTEXT [INDEX] [index_name] (index_col_name,...)
    [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [参照定義]
    CHECK (expr)

KEYとINDEXは同じです。

[an error occurred while processing this directive]