IT技術サポート総合サイト
 
 言語:  VC++/MFC   PHP/Perl   VB/VBA   ASP/ASP.net   HTML/CSS   基本知識:  Windows   Linux   ネットワーク   MySQL   レンタルサーバ   SEO対策
キーワード: RSS2.0配信
 
 
コラム集:MySQLクイック・リファレンス
←前コラム    目次    次コラム→    
 
テーブルを作成
分類:MySQL     著者:中村徹     更新日付:2008/12/14
 
 
○CREATE TABLE構文について
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] テーブル名 [(create_definition,...)]
[table_options] [select_statement]
CREATE TABLE構文のcreate_definitionには、次のようなものがあります。

○CREATE TABLE構文のcreate_definitionについて
カラム名 type [NOT NULL | NULL] [DEFAULT デフォルト値] [AUTO_INCREMENT]
      [PRIMARY KEY] [reference_definition]
  or  PRIMARY KEY (index_col_name,...)
  or  KEY [インデックス名] (index_col_name,...)
  or  INDEX [インデックス名] (index_col_name,...)
  or  UNIQUE [INDEX] [インデックス名] (index_col_name,...)
  or  FULLTEXT [INDEX] [インデックス名] (index_col_name,...)
  or  [CONSTRAINT symbol] FOREIGN KEY [インデックス名] (index_col_name,...)
          [reference_definition]
  or  CHECK (expr)
create_definitionのtypeには、次のようなものがあります。

○create_definitionのtypeについて
      TINYINT[(length)] [UNSIGNED] [ZEROFILL]
  or  SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
  or  MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
  or  INT[(length)] [UNSIGNED] [ZEROFILL]
  or  INTEGER[(length)] [UNSIGNED] [ZEROFILL]
  or  BIGINT[(length)] [UNSIGNED] [ZEROFILL]
  or  REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or  DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or  FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
  or  DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
  or  NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
  or  CHAR(length) [BINARY]
  or  VARCHAR(length) [BINARY]
  or  DATE
  or  TIME
  or  TIMESTAMP
  or  DATETIME
  or  TINYBLOB
  or  BLOB
  or  MEDIUMBLOB
  or  LONGBLOB
  or  TINYTEXT
  or  TEXT
  or  MEDIUMTEXT
  or  LONGTEXT
  or  ENUM(value1,value2,value3,...)
  or  SET(value1,value2,value3,...)
create_definitionのindex_col_nameには、次のようなものがあります。

○create_definitionのindex_col_nameについて
  カラム名 [(長さ)]
      or
  カラム名 [(長さ)] [ASC | DESC]   **(MySQL4.1〜)

create_definitionのreference_definitionには、次のようなものがあります。

create_definitionのreference_definitionについて
  REFERENCES テーブル名 [(カラム名,...)]
             [MATCH FULL | MATCH PARTIAL]
             [ON DELETE reference_option]
             [ON UPDATE reference_option]
reference_definitionのreference_optionには、次のようなものがあります。

○reference_definitionのreference_optionについて
  RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
CREATE TABLE構文のtable_optionsは次のように指定します。また、table_optionには、次のようなものがあります。

○CREATE TABLE構文のtable_optionsについて
table_options: table_option [table_option] ...
CREATE TABLE構文のtable_optionについて
    TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
  or  AUTO_INCREMENT = 数値
  or  AVG_ROW_LENGTH = 数値
  or  CHECKSUM = {0 | 1}
  or  COMMENT = "文字列"
  or  MAX_ROWS = 数値
  or  MIN_ROWS = 数値
  or  PACK_KEYS = {0 | 1 | DEFAULT}
  or  PASSWORD = "string"
  or  DELAY_KEY_WRITE = {0 | 1}
  or  ROW_FORMAT = { DEFAULT | DYNAMIC | FIXED | COMPRESSED }
  or  RAID_TYPE= {1 | STRIPED | RAID0 } RAID_CHUNKS=数値  RAID_CHUNKSIZE=数値
  or  UNION = (table_name,[table_name...])
  or  INSERT_METHOD= {NO | FIRST | LAST }
  or  DATA DIRECTORY="absolute path to directory"
  or  INDEX DIRECTORY="absolute path to directory"
  or  DEFAULT CHARACTER SET character_set_name
        [COLLATE collation_name] **(MySQL4.1〜)

CREATE TABLE構文のselect_statementには、次のようなものがあります。

○CREATE TABLE構文のselect_statementについて
    [IGNORE | REPLACE] SELECT ...  (Some legal select statement)

○実際にテーブルを作成するには、次のようなCREATE TABLE構文を実行します。

例:membersテーブルを作成する
CREATE TABLE members (
member_id int(5) DEFAULT '0' NOT NULL,
member_name varchar(20),
PRIMARY KEY (member_id)
) CHARACTER SET ujis COLLATE ujis_japanese_ci;
この例では、文字コードをujis(EUC-JP)に設定しました。
 
 
←前コラム    目次    次コラム→