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

01 主キーの設定

他のデータとかぶらないデータ、他に存在しないもので特定できる状態をユニークであるといいます。

 

たとえば

社員の番号は重複しないようにしたい
在庫管理の商品の番号をかぶらないようにしたい
同じメールアドレスの登録は避けたい

という場合です。

 

当然ですが社員の番号が重複して何個もあるのはおかしいし、在庫管理において商品番号がかぶっていたら、正しい在庫の管理はできません。そして、メールアドレスの登録において、同じアドレスを何個もデータベースに登録させれば、登録した分だけ登録者にメールが送られてしまうことにもなりかねません。そこで登場するのが主キーです。

 

主キーとはユニークなレコードを作りたいときに設定するものです。

 

主キーの特徴

主キーには以下の特徴があります。

値の重複がない
データは必ず入力しなければならない。(NULL)にはならない。

 

主キーを設定してみる

主キーを設定するコード
create table テーブル名(カラム名 ダータ型 primary key・・・);

 

実際テーブルを作ってみましょう

主キーを設定したテーブル「syukey」を作ってみましょう。
mysqlモニターを開いて、以下のように入力してみてください。
create table syukey(a int primary key,b varchar(10));
01 主キーの設定

 

カラム構造をチェックしましょう

desc syukey;
01 主キーの設定
aのカラムを見ていきましょう。
左からaというカラム名があり次にデータ型がint型、そしてNullがNoとなっています。これはデータを必ず入力することが求められており、空白はNGということを意味しています。そしてkeyのところがPRIとなっていることで「@値の重複がなく、ANullができない」データだということを示しています。

 

テーブルsyukeyにデータを入力してみます。
実際にデータを入力してみます。
insert into syukey values(1,'tanaka');
そしてデータの入力の確認をしてみましょう。
select * from syukey;
01 主キーの設定

 

ここで矢印の↑キーを押しもう一度カラムaに「1,tanaka」と入力してみましょう。

01 主キーの設定
上の画面では、カラムaに「1,tanaka」と入力することを2回行いましたができません。そして3回目はtanakaのかわりにkoikeと変えて入力してみてもやはり、番号の1が重複しているので受付してもらえません。最後にselectでデータの入力を確認していますが、結果的に入力されていないことが確認いただけるかと思います。

 

次に「2,koike」のデータを追加してみる

次に「2,koike」のデータお追加してみましょう。
insert into syukey values(2,'koike');
01 主キーの設定

 

データの入力を確認してみます
select * from syukey;
01 主キーの設定
番号を1から2に変えるとデータの入力が受付られます。

 

最後に番号3,bは空白のデータを入力してみます。画面は下のようになりますのであなたも確認してみてくださいね☆彡
01 主キーの設定
次は一意キーについて学びます。
02 一意キーの設定