2

MySQLのテキスト型

Posted by Koumei on 2010年7月20日 in webプログラミング |

 マジ覚書。

 テキスト型にはBLOB型とTEXT型がある。
 前者は比較時に大文字小文字の区別があり、後者にはそれがない。
 特別なことがなければTEXT型の方でいいだろう。

 TEXT型にはTINYTEXT、TEXT、MEDIUMTEXT、LONGTEXTがある。
 文字列を格納するのは他にCHARとVARCHARがあるので、それぞれの違いも書き留めておく。

 CHAR:255Bまでの固定長文字列
 VARCHAR:64KBまでの可変長文字列
 TINYTEXT:255Bまでの可変長文字列
 TEXT:64KBまでの可変長文字列
 MEDIUMTEXT:約1.6MBまでの可変長文字列
 LONGTEXT:約4.3GBまでの可変長文字列

 可変長接頭辞長(可変長制御部の長さ)
 CHAR:なし(固定長のため)
 VARCHAR:255Bまでは1B、それ以上は2B
 TINYTEXT:1B
 TEXT:2B
 MEDIUMTEXT:3B
 LONGTEXT:4B

 恐らく、というか確実に、MEDIUMTEXTまでで十分だろう。
 小説1冊でさえ、250KBもないのだから。
 余程のことでもなければ、TEXTでもいいはずである。
 

 VARCHARとTEXTは最大で同じ長さとなる。
 VARCHARは最大文字長が指定できる点が違うが、もうひとつ決定的な違いがある。
 初期値を指定できるか、できないかだ。
 VARCHARには初期値が指定できるが、TEXTにはできないのである。
 つまり、初期値を指定したい場合はVARCHARにするしかない。

2 Comments

  • takezo7h より:

    MEDIUMTEXTは16MBではないのでしょうか。

  • Koumei より:

    ご指摘ありがとうございます。
    MをGとタイプミスがありました。(誤:1.6GB 正:1.6MB)
    本文は訂正しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

キャプチャ *

Copyright © 2009-2019 Koumei Soft 開発ログ All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.5, from BuyNowShop.com.