MySQL入門 初心者のための無料データベース講座

06 データ型について

データベースはそれぞれのデータを入力する際にそのデータを定義するデータ型というものを定めることが必要でした。そしてtb1を作成する際は文字列のデータ型であるvarcharと整数の入力をするintを学びました。次はもう少したくさん紹介し、使える選択肢を増やしたいと思います

 

データベースの構造例
データ型→varchar データ型→int データ型→date
文字入力しかできないカラム 整数しか入力できないカラム 日付しか入力できないカラム

 

数値型

数値型のデータ型にはintの他以下のようなものがあります
 

主な数値型
最小値 最大値
TYNYINT -128 127
SMALLINT -32768 32767
MEDIUMINT -8388608 8388607
INT -2147483648 2147483647
BIGINT --9223372036854775808 9223372036854775807

 

数値のデータ型は最小値〜最大値までの範囲があり、データ入力は「+」「-」を付けて入力することもできます

 

文字列型

文字列にもたくさんの文字列型があります。主な文字列を紹介します

主な文字列型
データ型 文字の長さ
CHAR 255
VARCHAR 255
TEXT 65535

文字列型の入力には「”」ダブルクォーテーションまたは「’」シングルクォーテーションを入力します。

 

CHARとVARCHARの違い

CHARは例えば長さを5とした場合

 

CHAR(5)

 

と入力しますね。そしてここに例えば「abc」という3文字を格納したとします。ですが実際のカラムに格納される長さはあくまで5文字にこわだるので実際には「abc 」と2文字スペースが入ります。これを固定長といいます。データを取り出すときはこのスペースは削除されます。

 

一方VAECHARは

 

VARCHAR(5)

 

と入力しますが、CHARの時と同様「abc]という3文字を格納しても、カラムの長さは3文字で表現されます。これを可変長といいます。

CHARとVARCHAEの入力時の違い
CHAR(5) VARCHAR(5)

'ab'

'ab    '  

'ab'

'abcd'

'abcd '

'abcd'

'a'

'a      '

'a'

'abcde11111'

'abcde'

'abcde'

このようにCHARはVARCHAEと違い5文字に満たないところは空白スペースを入れてきます。そしてCHARもVARCHAEも5文字を超えた場合は6文字以降は切り捨てられることに注意が必要です。

 

日付・時刻型

データ型には日付や時刻を格納するものもあります。

 

主な日付・時刻型
データ型 内容 範囲
DATETIME 日付と時刻 ’1000-01-01 00:00:00’〜’9999-12-31 23:59:59’
DATE 日付 ’1000-01-01’〜’9999-12-31’
TIME 時刻 ’-838:59:59〜838:59:59’

日付・時刻型は1999-00-00や1999-01-00などの現実にはありえない数字も格納します。誕生日のデータをとろうとしたときに具体的な日付がわからないときなどにこのシステムは役立ちます。なおTIMEの対応範囲が24時間ではないのは、1日の時刻を表現するためでけでなく、経過時間や2つのイベント間の感覚を表現するために使用される場合があるからです。

 

日付・時刻型の入力には「”」ダブルクォーテーションまたは「’」シングルクォーテーションを入力します。

 

では日付・時刻型のテーブルを作って表示を確認してみましょう
07 データ型について その2(日付・時刻型)