小山内 裕

MySQLの整数データ型 INT/TINYINT/SMALLINT/MEDIUMINT/BIGINT を考える

数値のデータ型を大きく分けると、整数型、小数点型、ビット型がありますが、今回は、整数型に焦点を絞ります。
CREATE TABLE文で、たとえばデータ型 INT のカラムを作成する場合に下記のように指定して使いますが、このときの M、UNSIGNED、ZEROFILLの意味を改めて考えてみたいと思います。

CREATE TABLE tablename(
columnname INT[(M)] [UNSIGNED] [ZEROFILL]
)

整数型

MySQLで使える整数型には、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT の5つがあります。
それぞれの違いは記憶域のサイズです。
適切にデータ型を選択することでシステムを効率的に使えるようになります。
記憶域のサイズによって、挿入できる最大値が決まります。
*SIGNEDとUNSIGNEDについては後述します。

データ型 記憶域のサイズ SIGNEDの場合 INSIGNEDの場合
TINYINT 1バイト -128 ~ 127 0 ~ 255
SMALLINT 2バイト -32768 ~ 32767 0 ~ 65535
MEDIUMINT 3バイト -8388608 ~ 8388607 0 ~ 16777215
INT 4バイト -2147483648~ 2147483647 0 ~ 4294967295
BIGINT 8バイト -2の63乗~2の63乗-1 0 ~ 2の64乗-1

M(最大表示幅)

冒頭のCREATE TABLE文の例にあった「INT[(M)]」の M は最大表示幅を示します。
「INT(3)」とすると3桁格納でき、3桁表示されます。
「1」を挿入するとスペースが2つと数字の「1」が、つまり「(スペース)(スペース)1」が挿入されるわけです。
この(スペース)をゼロに自動置換するのが次に説明するZEROFILL属性です。

*整数データ型の表示幅属性は、MySQL 8.0.17では非推奨になり、将来のバージョンではサポートされなくなる予定です。

ZEROFILL(ゼロ埋め処理)

挿入された値が M桁 に満たない場合、左から「0」を自動挿入します。
たとえば、INT(3) の場合で「1」を挿入した場合、「001」となります。

ZEROFILLを指定した場合、自動的にUNSIGNEDも追加されます。
よって、マイナスの値を挿入できなくなります。

*ZEROFILL属性は、MySQL 8.0.17では非推奨になり、将来のバージョンではサポートされなくなる予定です。

SIGNEDとUNSIGNED

整数のデータ型にはSIGNEDとUNSIGNEDを指定できます。
SIGNEDは署名済、UNSIGNEDは未署名とも言われ、「+」や「-」の符号を付ける(SIGNED)か付けない(UNSIGNED)かを表しています。

1バイト(8ビット)しか使わないTINYINTを例に、挿入できる値について説明します。
SIGNEDの場合、1ビットは符号で使われますから、TINYINTは残りの7ビットに数値が入ります。
つまり、挿入できる値の範囲は2進数表記で、符号がマイナス「1」、プラス「0」とした場合、10000000~01111111。10進数表記だと-128~127となります。

UNSIGNEDの場合は符号がないので、8ビット全部使えます。
なので、同じく挿入できる値の範囲は2進数表記で 00000000~11111111(10進数で0~255)となります。

家庭的な味「縄」(なわ)~ 港区 麻布十番ランチ

私にとって麻布十番ランチシリーズに欠かせないお店の1つです。
お昼ご飯に迷ったらとにかく向かうべし。何でもあります、肉、魚、中華、そば、スパゲッティ、カレー、ピラフ・・・。しかも安価でボリューム多めです。
お店の看板には「Cafe Restaurant 縄」と書かれてますが、正直に申し上げて「Cafe」の部分がおざなりになっていると思います。が、それはお店とお客が決めたこと。仕方がないと思います。
ランチタイムはひっきりなしにお客が入ってきます。4人掛けテーブルが5つに、1人用テーブルが4つ。なので、2~3人組が5組、お一人様が4人でもう満席になります。
なので、みんなまあまあ急いで食べますから、コーヒーをゆっくり味わって飲むというところまでいきません。なので、「Cafe」を取って「レストラン縄」を紹介します。

外から中が見えないし、看板は出ているものの明かりもないので、ちょっと入りづらい感じ。
でも、店内に入ると家庭的な雰囲気が漂う居心地のよい空間です。

日替わりランチメニューはすべて990円以下。ランチタイム限定です。
豚肉キムチマヨ焼 880円で、ライス、みそ汁、目玉焼付き。
焼魚は納豆付きで980円。まあまあボリューむがあります。
沖縄そばだけでなくピラフも付いて950円。
あさりスパゲッティ 880円。サラダ、パン付き。

メニューはこれだけではありません。
カレー、ピラフ、オムライス、雑炊、ナポリタン、ドリア、グラタン、焼きそば、そうめん、冷やし中華、豚肉サイコロステーキ、ハンバーグ、海老フライ、若鶏唐揚定食、カルビ丼、厚切りトースト、ハムエッグ・・・
思いつくだけのメニューがあります。
いつでもどれでも作れるのかな?

マーボー丼。目玉焼きがのってます。
マーボーにはゴロっとした食べ応えのある生姜も入ってるし、みそ汁にはこれでもか、というくらい具が入ってます。
本当にお母さんが作る家庭料理。

何でお店の名前が「縄」なんだろう?ロープなんて変わっているな、と思いましたが、沖縄の縄なんですね。
入口には魔除けのシーサーが鎮座してました。

【店舗住所】
Cafe Restaurant 縄(なわ)
東京都港区東麻布3-8-9 東麻布ビル1F

替え玉無料 久留米ラーメン ~ 港区 麻布十番ランチ

とんこつ久留米ラーメン!さっぱりとした食べ易い味、とてもおいしいです。
うれしいのがランチタイムサービスの替玉が無料、ということだけでなく、ランチタイムが11時半から16時までというのがまた良い。
仕事柄、システム作業などのため遅い時間のランチになることがありますが、16時までなら何とかなります。16時までにランチに行けないのはよほどの時だけです。

定番は「とんこつ久留米ラーメン」900円。
タンパク質も取りたければプラス100円で「半熟味付玉子ラーメン」がおすすめです。
チャーシューメン、ネギチャーシューメン、全部のせラーメン、写真を見ているだけで食べたくなります。
辛さを1から10倍で選べる「福ヤ辛かラーメン」もチャレンジしたいです。

注文するときにもう1つ、麺の硬さを指定できます。
粉おとし、はりがね、バリカタ、カタ、ふつう、やわ。
ここはその日に発してみたい言葉を選ぶのがよいでしょう。
今日は「半熟味付玉子ラーメン、バリカタで!」

これは「半熟味付玉子ラーメン」。半熟味付玉子だけでなく、チャーシューも2枚のっています。

薬味の種類があるのもうれしい。
紅ショウガ、おろしにんにく、キュウリの漬物、もやし辛いため で味変しながら楽しみます。
特にもやし辛いためはおいしいです。

計画的にチャーシューを1枚残しつつ、替玉!
替玉を頼むときにも麺の硬さを指定します。
替玉を待ちきれないので「粉おとしで!」。

店内には著名人のサインがいっぱい。
歌手だと、地元出身の藤井フミヤ、つんく、EXILE 橘 ケンチ、ダンサーだけど。
お笑いでは、ナイナイ矢部、タカアンドトシのタカ、ロバート 秋山と山本など。
俳優は、松たか子、北乃 きい、川崎麻世など。
タレントさん、あびる優、国生さゆり、長谷川理恵など。
スポーツ選手、和久井秀俊、日馬富士、鈴木亜久里など。
どうやってこれだけ集めたんだろうと思うほど。

場所は麻布オフィスから3分くらいかな。
一の橋交差点を五反田方面に行き、一つ目の曲がり角を左に行ったところにあります。

【店舗住所】
とんこつ久留米ラーメン 福ヤ 麻布十番店
東京都港区麻布十番4-3-1 ツイン一の橋1F

人気のイタリアン Bistro Chick ~ 港区 麻布十番ランチ

Bistro Chickはなかなか入れない、人気のイタリアンです。
ランチの時間帯は早めに行って入れるかどうか、という感じ。
この日は小雨が降っていたせいか人の出足が遅く、ちょうど12時くらいだったけど3組くらいしかいませんでした。
それでも私が頼んだパスタが届くころにはほぼ満席になっていました。

店内は狭く満席になると窮屈です。しかしながら、料理がおいしいのはもちろん、店内の雰囲気、お店の人の親近感のようなものも相まって居心地は悪くありません。
みんな、少々狭いのは承知でどうしても食べたいから、という感じでお店に入って席に着きます。
カウンター席の1人分の横幅はほぼお皿1枚分ですから、隣同士協力し合ってお互いのスペースを確保するような感じです。

ランチメニューはAとBの2つ。
Aはメイン料理にサラダ、パン、ドリンクが付いて1,300円。
Bはメイン料理にサラダ、パン、前菜、デザートが付いて1,980円。
メイン料理は、オイルパスタ、クリームパスタ、ボロネーゼ、ボンゴレロッソ、ローストチキン。
追加料金で、ウニといくらのクリームソース、サーモンソテーがあります。
1時間制 1,650円の赤、白、泡のワイン飲み放題もいいですね。仕事中のランチではできませんが。。

こちらは自家製ボロネーゼ。トマトソースに絡んだ不揃いのサイズのひき肉が触感を楽しませてくれます。

ビストロ チックの場所は、麻布オフィスの真正面。横断歩道を渡ったところにあります。
麻布オフィスは新一の橋交差点から赤羽橋方面に1~2分歩いた1つ目の信号のところです。