MySQL入門

プライマリーキーとは

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
プライマリーキーは、テーブルのフィールドの中で最も重要なキーとなるフィールドです。ここには、数字を入れることができ、他のフィールドと重複することができません。これにより、データを確実に特定し、効率よく管理することができるので、必ず加えておきたいフィールドといえます。
講師:
07:28

字幕

ここでは primary key というものに ついて紹介していきます primary key というのは primary 一番重要なキーという意味で そのデータベースのテーブルの中で 最も重要なフィールドと いうような意味になります 早速やってみましょう MAMP の「スタートページを開く」から phpMyAdmin にアクセスし もしデータベースが未だ存在していなければ こちら「データベースを作成する」画面から 新しいデータベースを utf8 の general_ci で作成しておいて下さい ではこちらの mydb にテーブルを 作ってみましょう 例えばここでは create table として member_table という社員を 管理するためのテーブルを作成します name を varchar の例えば 500 age を int という形で管理しました では こちらで「実行」ボタンをクリックします するとこのような member_table という テーブルが出来上がります ではここにデータを挿入して行きましょう 例えば insert into ということで member_table で values に山本という人が 25 歳で いるとします この insert 構文ですけど ここにセミコロンが打たれていれば 続けて打つことができます もう1つ打ってみましょう values でここでは田中という人が 27 歳でいます 更に insert into member_table の values で 同じ山本という姓の人が 30 歳でいるとしましょう こちらで実行するとデータが入る訳なんですが このテーブルというのはあまり好ましい 作り方とは言えません なぜなら こちら name に山本と入っている データが2件あります これはこの会社に山本さんという方が 別人で2人いる訳なんですが 一人は 25 歳 一人は 30 歳ということで 別の人です ですが山本さんを呼び出したいといった場合 どちらの山本さんなのか この時点では分かりません そこでこの場合では 25 歳の山本さんとか 30 歳の山本さんというように 2つのデータを組み合わせなければ 特定できないデータになってしまっています これはあまり良い作りではありません しかもその基準となるのが age 年齢になってしまっている為 来年になるとそれぞれ1歳ずつ年をとり 30 歳の山本さんは存在しない 事になってしまいます その為ここではこのテーブルでは 個人を特定するのが非常に困難な テーブルになってしまっている訳です ではこれを特定し易いフィールドに するにはどうしたら良いでしょうか まず一度このテーブルは削除しましょう 「操作」>「テーブルを削除する」で 削除します では もう一度 SQL から create table として member_table を 作り直していきます ここでは id というフィールドを int 型で 準備しますが ここで更に付け加えて primary 一つ空けて key と指定しましょう あとは name の varchar (500) age int というのは同じです こちらで「実行」をクリックします 反応が返ってきませんが member_table できあがっています id と name と age という形 この時ここの「インデックス」という所を クリックすると ここでは id が primary として 指定されている事が分かります こちらで今度はデータを挿入してみましょう 今回の場合 insert into の member_table までは変わりませんが values の後 まず最初に id を 指定する必要があります 例えばここでは1番 そして山本で25と指定しましょう insert into の member_table values の 2 の田中 こちらが27歳です そして insert into member_table values の3番目として 同じ山本という30歳の方を挿入します ではこちらで「実行」してみましょう 「1行変更しました」と出て こちら member_table が出来上がっています こちらパン屑リストから member_table を クリックし 表示をクリックすると 見易いかと思います こちら id 1番の山本さん 2番の田中さん 3番の山本さん という形で id が割り振られていますので これによって1番の山本さんとか 3番の山本さんという形で 簡単に個人を特定することができます 例えばこの山本さんが31歳になったと しましょう こちら編集画面からこちらを「31」に 変更してみます 実行しますとこのように 31歳に変わっていますが それでもこちらの id が 変わっていないので この山本さんは3というので 特定することができます ただ ここまではまだ primary key と しての意味は成していません 単なるこの id というフィールドを 足したというだけです primary key と指定する真価は この先にあります 更に SQL でデータを追加して行きましょう では insert into の member_table の values としまして ここでは新しい新入社員が入ってきたと しましょう しかし ここで番号を 次は4番の筈なんですけれども 3番と間違ってしまったとします ここでは赤木さんを21歳として 新入社員として追加します では実行するボタンをクリックしましょう するとこのように Duplicate entry "3" for key "PRIMARY" と出てしまいます これは primary key として指定した フィールドに3という数字は 重複して入れることはできないと いうエラーメッセージです このように primary key というものに 設定すると 同じ数字を入れることができなくなります その為ここでは4ですとかそれ以上の 数字を指定しなければならず 必ずこのデータベースのテーブルは ここの数字が一切重複しないフィールドとして 保証されたものになります その為ここでは id が3番という風にすれば 必ず山本さんであることが明確になる ということで この primary key というのは非常に 重要な役割を持つわけです データベースのテーブルには 特別な事情がない限り 必ずこの primary key を 設定するようにしましょう

MySQL入門

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

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

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

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

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