文字列型(データ型)のまとめ
型 | 説明 |
---|---|
CHAR(M) | Mの数の文字が格納できる大きさを持つ固定長の文字列。格納する文字が指定の長さより短い場合には空いたところにスペースが入る。1文字のバイト数は使用している文字コードのMAXLENになるため、MAXLEN × Mのバイトが使われる。(つまりSJISを使っている場合は、MAXLENが2バイトだが、MAXLENが何バイトであっても、指定した文字数が格納できる)。 |
CHAR | CHAR(1)と同じ。1文字の文字列。 |
VARCHAR(M) | 可変長文字列。Mの数の文字が格納できる。Mは0〜255の範囲で指定。格納する文字列の最後にスペースが入っていても削除されて格納される。 |
TEXT | 最大長が 65535バイトの可変長文字列。 |
以下は詳細な内容です。
M:最大表示サイズを表す。正式な最大表示サイズは 255。
角かっこ('[' と ']')は、オプションの型指定子の一部であることを表します。
型 | 属性 | 説明 |
---|---|---|
[NATIONAL] CHAR(M) | [BINARY | ASCII | UNICODE] | 固定長の文字列。格納時には、指定の長さになるよう、右側にスペースが埋め込まれる。M の範囲は 0 〜 255 文字(3.23 より前の MySQL バージョンでは 1 〜 255)。 値の取り出し時には、後続のスペースが削除される。BINARY キーワードを指定しない場合、CHAR 型の値のソートと比較は、デフォルトのキャラクタセットに基づいてケース非依存方式で行われる。 バージョン 4.1.0 以降では、255 より大きい M 値を指定すると、カラム型が TEXT 型に変換される。 NATIONAL CHAR(または、これに対応する短縮形式 NCHAR)は、SQL-99 における、CHAR カラムでデフォルトの CHARACTER セットを使用することを定義する方法。MySQL では、これはデフォルト。 CHAR は CHARACTER の省略形。 バージョン 4.1.0 以降では、latin1 キャラクタセットを CHAR カラムに割り当てる ASCII 属性を指定することができる。 バージョン 4.1.1 以降では、ucs2 キャラクタセットを CHAR カラムに割り当てる UNICODE 属性を指定することができる。 MySQL では、CHAR(0) 型のカラムを作成することができる。これは、主に、カラム自体は必要とするが、そのカラムの値を実際に使用することはない、というような古いアプリケーションに対応する必要があるときに役立つ。また、2 つの値しか取らないカラムが必要な場合にも非常に役立つ。 CHAR(0) は NOT NULL としては定義されず、1 ビットのみ占め、NULL または "" の 2 つの値しか取らない。 |
CHAR | CHAR(1) の別名 | |
[NATIONAL] VARCHAR(M) | [BINARY] | 可変長文字列。注意: 後続のスペースは値の格納時に削除される(これは SQL-99 の仕様とは異なる)。M の範囲は 0 〜 255 文字(MySQL バージョン 4.0.2 では 1 〜 255)。 BINARY キーワードを指定しないと、VARCHAR 値のソートと比較は、ケース非依存方式で行われる バージョン 4.1.0 以降では、255 より大きい M 値を指定すると、カラム型が TEXT 型に変換される。 これは互換性を考慮した機能。 VARCHAR は CHARACTER VARYING の省略形。 |
TINYBLOB | 最大長が 255(2^8 - 1)文字の BLOB 型または TEXT 型のカラム | |
TINYTEXT | 最大長が 255(2^8 - 1)文字の BLOB 型または TEXT 型のカラム | |
BLOB | 最大長が 65535(2^16 - 1)文字の BLOB 型または TEXT 型のカラム | |
TEXT | 最大長が 65535(2^16 - 1)文字の BLOB 型または TEXT 型のカラム | |
MEDIUMBLOB | 最大長が 16777215(2^24 - 1)文字の BLOB 型または TEXT 型のカラム | |
MEDIUMTEXT | 最大長が 16777215(2^24 - 1)文字の BLOB 型または TEXT 型のカラム | |
LONGBLOB | 最大長が 4294967295 または 4G(2^32 - 1)バイトの BLOB 型または TEXT 型のカラム MySQL バージョン 3.23 まで、サーバ/クライアントプロトコルおよび MyISAM テーブルでは、通信パケットまたはテーブルレコードごとに 16M の制約があった。バージョン 4.x 以降、LONGTEXT 型または LONGBLOB 型のカラムで許容される最大長は、クライアント/サーバプロトコル間の通信バッファおよび使用可能なメモリ量にしたがって調整された最大パケットサイズによって決まる。 |
|
LONGTEXT | LONGBLOBと同じ | |
ENUM('value1','value2',...) | 列挙。値のリスト 'value1'、'value2'、...、NULL または特殊な "" エラー値から選択された、1 つの値のみ持つことができる文字列オブジェクト。ENUM には最大 65535 の重複のない値を組み込むことができる。 | |
SET('value1','value2',...) | セット。0 個以上の値を持つことができる文字列オブジェクト。これらの値はいずれも値のリスト 'value1', 'value2', ... から選択する必要がある。1 つの SET には、最大 64 個の要素を組み込むことができる。 |
関連記事
- Seedの実行順(外部キー制約などを先に実行させる方法) Foreign key violation
- EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
- yumのius(iuscommunity.org)でエラーが出る場合
- iusリポジトリで公開されているパッケージの一覧
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- MySQLやMariaDBは標準ではログローテートされない
- MySQL(MariaDB)をユーザー情報を含めてすべて移行する方法
- 4.0以前と4.1以降のパスワード方式の違い
- CakePHPでカラムを比較してSELECTする方法
- 『Table is marked as crashed and should be repaired』の修復方法
- コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法
- phpMyAdminで『information_schema』などを非表示にする方法
- PDO_MYSQLをインストールする方法
- 日付型のフォーマットにスラッシュを使ってはいけません(文字コードによって値が変わる)
- MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較
- データベースを定時バックアップする方法(毎日バックアップする処理)
- MySQL関数のまとめ
- MySQLの処理を停止させる方法
- MySQLサーバに接続できるかどうかを確認する
- 複数のデータベースを切り替える方法(別データベースを使用する)
- MySQLで文字化けを防ぐ方法
- 別テーブルでSELECT JOINしながらUPDATEする方法(SELECTした結果でUPDATEする)
- OpenPNE3のデータベースの設定
- MySQLのログファイル ログの種類と保存先
- 文字コードを指定する方法
- LIMITで件数制限をしつつ、全件数を取得する方法 SQL_CALC_FOUND_ROWS FOUND_ROWS()
- SQL Buddy ブラウザベースのMySQL管理ツール
- Got a packet bigger than 'max_allowed_packet' bytes
- CakePHPのDB接続情報設定
- SQL文で特定の曜日のみ抽出するには
- OpenPNE3のサーバ移行の方法
- EC-CUBEのサーバ移行の方法
- EC-CUBEのバックアップ機能とリストア
- EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
- symfonyのORマッパ(Propel、Doctrine)
- Ruby on Railsのマイグレーションの型とMySQLの型の対応表
- MySQLでランダムな数字を得る方法
- MySQLでBeep音を消す設定
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
- MySQLでクエリーをログに記録する方法
- MySQLのインストール
- Zend Frameworkのデータベース接続
- WordPressのインストール
- DB設計を見直してEC-CUBEを高速化する
- WindowsでMySQLを再起動する方法
- レコード挿入時の #1364 - Field doesn't have a default value
- オフセットの後半になると急に遅くなる MySQLの高速化
- Beep音を無効にする
- MySQL Query Browser 本家GUIツール
- CSE(Common SQL Environment) SQL便利ツール
- Symfony PropelでのMySQLの設定方法
- MySQLのソケットエラー
- utf8_general_ci と utf8_unicode_ci の違い
- 日付と時刻型(データ型)のまとめ
- 数値型(データ型)のまとめ
- 個体識別情報・UIDの取得方法
- Windows MySQLインストール後の設定
- Windows MySQLのインストール
スポンサーリンク