MySQL入門

テーブルの型について

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
テーブルを作成するときには、フィールドに「型」を定義する必要があります。フィールドには様々な種類があるので、適切な種類・データ量を定める必要があります。ここでは、型の重要性を紹介しましょう。
講師:
10:41

字幕

ここではテーブルの型としまして データベースに作れるテーブルの 各フィールドに定義する型について 詳しくお話していきたいと思います データベースにテーブルというものを 作る時には 必ず 型を定義しなければ 作ることができません これは Excel などと少し違う 性格を持っています ではまず そのテーブルを作る所 というのを実際に見ていきましょう こちら MAMP のスタートページから phpMyAdmin にアクセスして データベースをまだ作ってなければ こちら 上のタブの部分から データベースとして mydb という名前の データベースを作成しましょう 文字コードを utf8_general_ci にセットします そして このデータベースというものに テーブルを作成することができます ではテーブルの名前をここでは test_table としまして 「カラム数」を1つとして 実行してみます すると このような画面になりまして ここにまずカラム名 もしくは フィールド名と呼ばれるものを 設定していきます そして ここに「種別」というものが あるのですが このドロップダウンから そのフィールドの型 というものを選んでいきます 型はまず大きく分けて 数字なのか文字なのかという違いがあります 例えばここで VARCHAR というのを選ぶか もしくは ここの INT というのを選ぶかによって そのフィールドの性格というのは 全く異なります 例えばここでは test という フィールド名にして VARCHAR としてみましょう そして 例えばここでは 10 として 「保存する」をクリックしてみます すると このように test テーブル という所には test というフィールド名のある VARCHAR 10 ですね テーブルが出来上がるのですが ここにデータを挿入してみましょう 例えば値として 1 と挿入します そしてまた「挿入」をクリックして 今度は 2 と挿入します 更に挿入して 3 を挿入し その後 今度は 10 を挿入してみましょう さて こちらで表示をしてみますと このように test というフィールドには 1 2 3 10 というフィールドが入りました では これを例えば 並び替えをしてみましょう phpMyAdmin の場合 この上のフィールド名の所を クリックすることで 並び替えをすることができます 今一度クリックすると 小さい順に並びますが ここでは 1 10 2 3 と並んでしまい ちょっと並び替えとして おかしな状態になっています 10 は 2 よりも 大きなはずですけど ここでは 1 と 2 の間に 10 が入ってしまっています これは何故かと言いますと この test というフィールドは 今は VARCHAR という 所謂文字列として宣言をしているために この 10 というのが 私たちの目から見ると 10 ですけれど コンピューターから見ると これは 1 と 0 が並んだ文章である というふうに認識が されてしまっているんです そのため文字列としての並び替えでは 頭の文字が 1 から始まっているので 2 から始まっている こちらの文章よりも この文章のほうが小さいと判断され 1 10 2 3 という形で並んでしまっている というわけです では こちらのテーブル 一度削除しましょう こちらの「操作」というタブから 「テーブルを削除する」という リンクがあるので クリックすると 削除することができます そしてもう1度ここに改めて test_table 「カラム数」を 1 として作成します 先程と同じように test という名前の フィールド名を作って 今度は種別を INT にしてみましょう 「保存する」をクリックして そしてテーブル名をクリックします その後 こちら「挿入」という リンクをクリックして ここにデータを入れていきましょう 先程と同様に 1 2 3 そして 10 を挿入します これで改めて表示タブを クリックしましょう すると また先程と同じように 1 2 3 10 という形で並んでいます では これを今度は同じく フィールドで並び変えてみます こちらをクリックしますと このように 1 2 3 10 と並びます 逆にすれば 10 3 2 1 と並んで数字として 正しく認識されていることが確認できます このようにデータベースは厳格に この型をというのが決められていて 数字を入れるのか それとも文章 文字列を入れるのかによって 並び替えの時の結果であったり 絞り込みの時の条件 もしくは > とか < とかで 条件を指定して絞り込む場合などに その型というのが 非常に重要な役割を果たします そのためテーブルを作成する時には 各フィールドがどのような型であるべきなのか というのを明確に見極めなければ 作ることができません さて文字列と数字の違いは わかっていただけたかな と思いますが この型には他にも様々な種類があります もう少し種類を見ていきましょう 改めてこちら パンク図があるので 真ん中の mydb という所をクリックすると テーブルの一覧が見られます その下の部分に 改めて今度は test_table2 などと名前を付け 「カラム数」を 1 つとして 実行しましょう 種別を見ていきますと 今使った VARCHAR と INT の他に これだけの種類があります まず見てわかるのが こちら INT という種類が いくつかあることがわかります バラバラに並んでしまっていますが TINYINT それから SMALLINT そして MEDIUMINT それから BIGINT というような形で 同じ INT というものの中にも 幾つかの種類があります この BIG MEDIUM SMALL TINY というのは INT いわゆる integer = 整数 を扱う 型であることに違いはないのですけど そのデータの量に違いがあります このデータの量については MySQL のリファレンスマニュアルに 掲載されています Documentation のこちら MySQL 5.1 Manual の「数値タイプ」 という所で見ることができます こちら TINYINT SMALLINT MEDIUMINT そして INT と BIGINT はそれぞれ いわゆるバイト数と言われる そのフィールドの何バイト使うか というものが変わってきます それによって数字の上限が 決まってきます 例えば TINYINT の場合 最大値としては 127 までしか入りません マイナス値は -128 です それから正の値だけ 0 以上の値だけを使う場合 いわゆる Unsigned と言いますけれど その場合は 255 までの数字が入ります それに引き換え INT という場合は こちら 2147483647 という数字まで入ります マイナスも同じぐらい 入るのですけど その代わり利用するバイト数が 1 から 4 ということで 一個のフィールドにつき 4倍のデータ量が必要になってきます そのため もしそのフィールドに 例えば 12 ぐらいまでしか入らない というようなフィールドに INT 型を割り当ててしまうのは 非常にデータの無駄が多いと言えます そのため小さな数字しか入らないことが 予めわかっているのであれば TINYINT などの小さなデータ量を 選ぶべきです このようにデータ量の違いによって 例えば同じ TEXT という型でも いくつかの種類があります TINYTEXT MEDIUMTEXT それから LONGTEXT というのがあります VARCHAR というのは この TEXT 関係の中で 一番少ないデータ量のものです VARCHAR という こちらの型には 必ずこの隣側に 「長さ」を指定しなければなりません もし「長さ」を指定せずに こちらの「保存する」ボタンを クリックしようとすると このような 「数値ではありません」という エラーメッセージがでます ちょっと意味がわかりづらい エラーメッセージですが これはこの部分に数字が入っていない というエラーメッセージです ここに必ず何文字までの文章を入れるのか というのを決めなければ この VARCHAR というのは 作ることができません そのため例えば電話番号などを 入れるデータの場合 VARCHAR で 10 とか 20 というような文字数にしておけば データ量は非常に少なく 収めることができます このように型にも様々なデータ量があるのは 何故かというと データベースは多い場合 数千件や数万件といったデータを 扱う場合もあります そのような場合 1つのフィールドにつき 4倍もデータ量が違う場合 それが数千件 数万件となった時には 非常に大きな差となって 現れてしまいます なので各フィールドには どのくらいのデータ量が入るのか というのを予めしっかり設計しておいて その型をしっかり見極めなければなりません このようにデータベースのテーブルは 型を明確に定義することによって 高速に処理を行ったり 大量のデータを効率よく管理したり することができるようになっています Excel などと比べて 最初のいわゆる テーブル設計と言われるものに 手間がかかるのが 若干大変ですけれども このテーブル設計をしっかり行っておけば 非常に高速なシステムを 組むことができますので テーブル設計にもぜひ慣れていきましょう

MySQL入門

このコースではPHPとMySQLというデータベースを組み合わせたWebシステムを構築する手法について解説します。「データベースとはなにか」を説明したのち、プライマリーキーやリレーションなどの重要な用語についても解説しながら実際にデータベースを動かしていきます。

3時間14分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2013年12月31日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。