sqlファイル

各テーブルの構成についてはデータベース構成の解説を参照すること。

MySQLの場合

  • 各テーブルはテーブルの削除、テーブルの作成、データの内容の順で構成されている

テーブルの削除

※例:エントリー格納テーブル(freo_entries)の場合
DROP TABLE IF EXISTS freo_entries;

DROP TABLE IF EXISTS freo_xxxs;
  • freo_xxxs⇒freoの格納テーブル名

テーブルの作成

※例:エントリー格納テーブル(freo_entries)の場合
CREATE TABLE `freo_entries` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` varchar(80) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime NOT NULL,
  `approved` varchar(20) NOT NULL,
  `restriction` varchar(20) DEFAULT NULL,
  `password` varchar(80) DEFAULT NULL,
  `status` varchar(20) NOT NULL,
  `display` varchar(20) NOT NULL,
  `comment` varchar(20) NOT NULL,
  `trackback` varchar(20) NOT NULL,
  `code` varchar(80) DEFAULT NULL,
  `title` varchar(255) NOT NULL,
  `tag` varchar(255) DEFAULT NULL,
  `datetime` datetime NOT NULL,
  `close` datetime DEFAULT NULL,
  `file` varchar(80) DEFAULT NULL,
  `image` varchar(80) DEFAULT NULL,
  `memo` varchar(255) DEFAULT NULL,
  `text` longtext,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

CREATE TABLE `freo_xxxs` (
 `フィールド1の名称` フィールド1のタイプ フィールド1のヌル値 フィールド1の備考,
 `フィールド2の名称` フィールド2のタイプ フィールド2のヌル値 フィールド2の備考,
 ~(略)~
 PRIMARY KEY (`主キー指定フィールド名`),
 UNIQUE KEY `UNIQUE制約フィールド名` (`UNIQUE制約フィールド名`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
  • CREATE TABLE `freo_xxxs` (以降の各行の行末には必ず,をつけるが、) ENGINE=の直前の行の行末には,は不要
  • freo_xxxs⇒freoの格納テーブル名
  • フィールドの名称⇒各テーブル構成のフィールド欄参照
  • フィールドのタイプ⇒各テーブル構成のフィールド欄参照
    int(10):整数のデータを格納
    int(10) unsigned:0~の整数のデータを格納
    varchar(最大バイト数):最大バイト数以内の文字列データを格納
    text:2,147,483,647バイト以内の文字列データを格納
    longtext:4,294,967,295バイト以内の文字列データを格納
    datetime:日付と時刻データを格納
  • フィールドのヌル値⇒各テーブル構成のヌル欄参照
    DEFAULT NULL:ヌル欄がYESの場合
    NOT NULL:ヌル欄が空白の場合
  • フィールドの備考⇒各テーブル構成の備考欄参照
    AUTO_INCREMENT:自動的に連番の値が格納
  • 主キー指定フィールド名⇒各テーブル構成のキー欄にKEYが設定されている場合に指定(idのことが多い)
    主キー (Primary Key) :データベースの中から、ある一組のデータセット(レコード)を一意に識別するための情報
  • UNIQUE制約フィールド名⇒各テーブル構成のキー欄または備考欄にUNIQUEが設定されている場合に指定
    UNIQUE制約:主キー以外のフィールドで重複した値が入力されないようにする
  • ENGINE⇒テーブルで使用するストレージエンジン(サーバーによってエンジンが異なる模様)
    MyISAMかInnoDBであることが多い
    ※参考:MyISAMとInnoDBの違い(でじうぃき)
  • AUTO_INCREMENT(連番があるときのみ表示)⇒連番の最終値に1を加えた値が格納
    例:データ数が7つのときは8が格納されている
  • DEFAULT CHARSET⇒文字コードの設定
    utf8であることが多い

データの内容

※例:エントリー格納テーブル(freo_entries)の場合
INSERT INTO freo_entries VALUES('エントリーID','ユーザーID','登録日時','更新日時','承認の有無','制限の有無','パスワード','状態','表示','コメントの受付','トラックバックの受付','コード','タイトル','タグ','日時','公開終了日時','ファイル名','イメージ名','ファイルの説明','本文');
INSERT INTO freo_entries VALUES('1','admin','2014-10-31 08:09:55','2014-11-06 21:38:58','yes',NULL,NULL,'publish','publish','closed','closed',NULL,'freoのテスト',NULL,'2014-10-31 08:09:55',NULL,NULL,NULL,NULL,'<p>テスト文。</p>\n<p><span style=\"color: #ff0000;\">赤字のテスト文。</span></p>\n<p>Let\'\'s Go!!</p>');

INSERT INTO freo_xxxs VALUES('フィールド1の値','フィールド2の値','~(略)~');
INSERT INTO freo_xxxs VALUES('フィールド1の値','フィールド2の値','~(略)~');
~(略)~
  • 各テーブル構成の補足欄に値が記載されているフィールドは、該当する値が格納される
  • フィールドのタイプがdatetimeの場合、値は'YYYY-mm-dd HH:MM:SS'の書式で表示
  • データ値が空の場合、各テーブル構成のヌル欄がYESのフィールドの場合はNULL ' ' で囲まない)、各テーブル構成のヌル欄が空白のフィールドの場合は '' ('2つ)と表示
  • データ内では以下のエスケープシーケンスに変換される
    • 改行⇒\n
    • ダブルクォーテーション(")⇒\"
    • シングルクォーテーション(')⇒\'\'(シングルクォーテーション(')については、データの区切りと認識されてしまうので '' ('2つ)に変換される仕様のため)
    • 円マーク(\)⇒\\

SQLiteの場合

テーブルの削除

※例:エントリー格納テーブル(freo_entries)の場合
DROP TABLE IF EXISTS freo_entries;

DROP TABLE IF EXISTS freo_xxxs;
  • freo_xxxs⇒freoの格納テーブル名

テーブルの作成

※例:エントリー格納テーブル(freo_entries)の場合
CREATE TABLE freo_entries(id INTEGER, user_id VARCHAR NOT NULL, created DATETIME NOT NULL, modified DATETIME NOT NULL, approved VARCHAR NOT NULL, restriction VARCHAR, password VARCHAR, status VARCHAR NOT NULL, display VARCHAR NOT NULL, comment VARCHAR NOT NULL, trackback VARCHAR NOT NULL, code VARCHAR UNIQUE, title VARCHAR NOT NULL, tag VARCHAR, datetime DATETIME NOT NULL, close DATETIME, file VARCHAR, image VARCHAR, memo VARCHAR, text LONGTEXT, PRIMARY KEY(id));

CREATE TABLE freo_xxxs(フィールド1の名称 フィールド1のタイプ フィールド1のヌル値 UNIQUE制約, フィールド2の名称 フィールド2のタイプ フィールド2のヌル値 UNIQUE制約, ~(略)~, PRIMARY KEY(主キー指定フィールド名));
  • freo_xxxs⇒freoの格納テーブル名
  • フィールドの名称⇒各テーブル構成のフィールド欄参照
  • フィールドのタイプ⇒各テーブル構成のフィールド欄参照
    INTEGER:整数のデータを格納
    VARCHAR、TEXT、LONGTEXT:文字列データを格納(※TEXTに変換される)
    DATETIME:日付と時刻データを格納(※NUMERICに変換される)
  • フィールドのヌル値⇒各テーブル構成のヌル欄参照
    ヌル欄が空白の場合のみNOT NULLが格納
  • UNIQUE制約⇒各テーブル構成のキー欄または備考欄にUNIQUEが設定されている場合に指定
    UNIQUE制約:主キー以外のフィールドで重複した値が入力されないようにする
  • 主キー指定フィールド名⇒各テーブル構成のキー欄にKEYが設定されている場合に指定(idのことが多い)
    主キー (Primary Key) :データベースの中から、ある一組のデータセット(レコード)を一意に識別するための情報

データの内容

※例:エントリー格納テーブル(freo_entries)の場合
INSERT INTO freo_entries VALUES('エントリーID','ユーザーID','登録日時','更新日時','承認の有無','制限の有無','パスワード','状態','表示','コメントの受付','トラックバックの受付','コード','タイトル','タグ','日時','公開終了日時','ファイル名','イメージ名','ファイルの説明','本文');
INSERT INTO freo_entries VALUES('1','admin','2014-10-31 08:09:55','2014-11-06 21:38:58','yes',NULL,NULL,'publish','publish','closed','closed',NULL,'freoのテスト',NULL,'2014-10-31 08:09:55',NULL,NULL,NULL,NULL,'<p>テスト文。</p>
<p><span style="color: #ff0000;">赤字のテスト文。</span></p>
<p>Let''s Go!!</p>');

INSERT INTO freo_xxxs VALUES('フィールド1の値','フィールド2の値','~(略)~');
INSERT INTO freo_xxxs VALUES('フィールド1の値','フィールド2の値','~(略)~');
~(略)~
  • 各テーブル構成の補足欄に値が記載されているフィールドは、該当する値が格納される
  • フィールドのタイプがdatetimeの場合、値は'YYYY-mm-dd HH:MM:SS'の書式で表示
  • データ値が空の場合、各テーブル構成のヌル欄がYESのフィールドの場合はNULL ' ' で囲まない)、各テーブル構成のヌル欄が空白のフィールドの場合は '' ('2つ)と表示
  • データ内はエスケープシーケンスに変換されないが、シングルクォーテーション(')については、データの区切りと認識されてしまうので '' ('2つ)に変換される


※ここに載っていない情報が何かあれば...情報を追加・編集する
※編集は面倒・やり方が分からない場合は、コメント欄に書いていただければ有志の方で編集します。

コメントを投稿するには画像の文字を半角数字で入力してください。


画像認証

  • 最終更新:2014-12-21 16:09:27

このWIKIを編集するにはパスワード入力が必要です

認証パスワード