【講座名】
MySQL初心者入門講座
【質問】
テーブルを作成するSQL文についてですが、()カッコ内の 3 や 10 という数字は何を表し、どのように決めるものなのでしょうか?
CREATE TABLE T01Prefecture (
PREF_CD INT(3),
PREF_NAME VARCHAR(10),
PRIMARY KEY (PREF_CD)
);
【回答】
カッコ内の数字は以下のような意味になります。
・INT タイプの場合は最大ディスプレイ幅
・VARCHAR タイプの場合は格納したい最大文字数
注意点としては INT タイプの場合、ディスプレイ幅と許容値幅とは別だということです。
INT(M)
例えば INT タイプの範囲は -2147483648 から 2147483647 ですが、これはディスプレイ幅とは別です。ディスプレイ幅のMは省略できます。範囲のほうが重要です。
同じ数値タイプでも FLOAT と DOUBLE タイプの場合は、合計で M 桁まで格納でき、そのうちの D 桁は小数点以下であることを表します。
FLOAT(M,D)
また VARCHAR タイプは可変長の文字列です。カッコ内の文字数の長さは、バイトを表す 0から65,535の値で指定します。
詳しくはMySQLのマニュアルをご覧ください。
(1)MySQLのバージョン、言語ごとにマニュアルが用意されています。
http://dev.mysql.com/doc/#manual
(2)以下の部分にデータタイプに関連する情報があります。
http://dev.mysql.com/doc/refman/5.1/ja/data-types.html
10.1.1. 数値タイプの概要
10.4.1. CHAR と VARCHAR タイプ
マニュアルの量は多いので、とりあえず自分に関係がある部分だけ読むといいと思います。必要になった時にじっくり読んでください。
スポンサードリンク
スポンサードリンク