文字型、色々
日々なんちゃってプログラマとして、せっせとプログラム作成してる訳ですが・・・(汗)
ここ数年は、MySQL+PHPの組合せでLinuxサーバ上でのWebシステム開発がメインって感じで
主にPHPスクリプト言語で、DBからデータ取得して画面表示したり、画面から入力されたデータをDBに登録したり、みたいな画面作り担当なんです。
がっ・・・珍しく、DB設計をするハメに(←DB担当者が忙しいから。滝汗)
復習を兼ねて、フィールド型をメモしておきます。
データ的に、よく使う事になるフィールド型は
1.文字型 2.数値型 3.日付型
の3種類ですかね?
今回は、MySQLの文字型のメモです。
■文字型の種類
CHAR(バイト数) 固定長文字列 ~255バイト
VARCHAR(バイト数) 可変長文字列 ~255バイト
TEXT 可変長文字列 ~65,535バイト
MEDIUMTEXT 可変長文字列 ~16,777,215バイト
LONGTEXT 可変長文字列 ~4,294,967,295バイト
■文字型ワンポイント!?
CHAR型とVARCHAR型の違いは、例えば桁が決まっている?NOを扱う時(00001とか長さが固定)の場合にはCHAR型を使う。
VARCHAR型の場合に、日本語(全角)で最大50文字を想定している場合{※日本語(全角)が2バイトなので、倍にする}は、VARCHAR(100)になる。
VARCHAR型をWeb画面から入力する際には、最大文字数をチェックしないと・・・文字数がオーバーしている分は切り捨てられる(日本語の場合は2バイトなので、オーバーした時に1バイト分切り捨てられると文字化けしたりとかします)
■文字型の悩み???
VARCHAR(200)くらいの場合は、いっそTEXT型にしようかと?悩むんですけど・・・
ここ数年は、MySQL+PHPの組合せでLinuxサーバ上でのWebシステム開発がメインって感じで
主にPHPスクリプト言語で、DBからデータ取得して画面表示したり、画面から入力されたデータをDBに登録したり、みたいな画面作り担当なんです。
がっ・・・珍しく、DB設計をするハメに(←DB担当者が忙しいから。滝汗)
復習を兼ねて、フィールド型をメモしておきます。
データ的に、よく使う事になるフィールド型は
1.文字型 2.数値型 3.日付型
の3種類ですかね?
今回は、MySQLの文字型のメモです。
■文字型の種類
CHAR(バイト数) 固定長文字列 ~255バイト
VARCHAR(バイト数) 可変長文字列 ~255バイト
TEXT 可変長文字列 ~65,535バイト
MEDIUMTEXT 可変長文字列 ~16,777,215バイト
LONGTEXT 可変長文字列 ~4,294,967,295バイト
■文字型ワンポイント!?
CHAR型とVARCHAR型の違いは、例えば桁が決まっている?NOを扱う時(00001とか長さが固定)の場合にはCHAR型を使う。
VARCHAR型の場合に、日本語(全角)で最大50文字を想定している場合{※日本語(全角)が2バイトなので、倍にする}は、VARCHAR(100)になる。
VARCHAR型をWeb画面から入力する際には、最大文字数をチェックしないと・・・文字数がオーバーしている分は切り捨てられる(日本語の場合は2バイトなので、オーバーした時に1バイト分切り捨てられると文字化けしたりとかします)
■文字型の悩み???
VARCHAR(200)くらいの場合は、いっそTEXT型にしようかと?悩むんですけど・・・