MySQL データ型の決め方がわからない。

【講座名】
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 タイプ

マニュアルの量は多いので、とりあえず自分に関係がある部分だけ読むといいと思います。必要になった時にじっくり読んでください。


スポンサードリンク


スポンサードリンク






プログラミング入門 Q&A TOPへ

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。