レコードを挿入しよう

SQLの命令文とは?

SQLの基本的な命令文は、

  • SELECT …取得
  • INSERT …登録
  • UPDATE …修正
  • DELETE …削除

です。
具体的な文法も参考サイト等で調べてください。

レコードを追加しよう!

レコードを追加するには、データベースの操作に応じた適切なSQLクエリを使用します。前回のセクションの例題であった「m_users」テーブルと課題で作成した「m_profiles」テーブルをもとに、例題と課題を取り組んでみましょう!

m_usersの内容

カラム名名称データ型NULLDefault自動採番KEY備考
idIDintNOTNULLIDをプライマリーキーにする(PRIMARYKEY)
user_nameユーザー名varchar(100)NOTNULL最大全角100文字
mail_addressメールアドレスvarchar(200)NOTNULL最大全角200文字
passwordパスワードvarchar(100)NOTNULL
created登録日detetimeDEFAULTNULL‘YYYY-MM-DD
HH:MM:SS’
modified更新日detetimeDEFAULTNULL‘YYYY-MM-DD
HH:MM:SS’

m_profilesの内容

カラム名名称データ型NULLDefault自動採番KEY備考
idIDintNOTNULLIDをプライマリーキーにする(PRIMARY KEY)
name名前varchar(100)NOTNULL最大全角100文字(200バイト)
kanaカナvarchar(100)NOTNULL最大全角100文字(200バイト)
age年齢intNOTNULL
profileプロフィールtextNOTNULL
place出身都道府県地番号int(5)NOTNULL47都道府県を数字で管理
sex性別int(2)NOTNULL1:男 2:女
created登録日datetimeDEFAULTNULL‘YYYY-MM-DD HH:MM:SS’ 
modified更新日datetimeDEFAULTNULL‘YYYY-MM-DD HH:MM:SS’ 

データの追加

以下を実行してみましょう!

実行結果

データを挿入変更しよう!

実行結果例

※日本語文字化けについて:初期のxammpでは、コマンド日本語対応がされていません。気になる方で変更したい場合はこちらを参考で実行してください。

文字コードを変更しよう!

データを更新しよう!

変更されているか確認してください!!

レコードの操作実行しよう!

トランザクション

トランザクションの機能を活用すると、実際にUPDATEなどのクエリを実行してSELECTで結果を確認したあとに、意図通りに変更できていれば、反映させます。
意図通りに変更できてなければ、反映させないということができます。

確認のための機能というより同じデータを、他者から書き込ませたいために利用するものです。

トランザクションの機能を活用すると、実際にUPDATEなどのクエリを実行してSELECTで結果を確認したあとに、意図通りに変更できていれば、反映させます。
意図通りに変更できてなければ、反映させないということができます。

確認のための機能というより同じデータを、他者から書き込ませたいために利用するものです。

実行してみよう!

テーブルデータを読み出そう!

select文の使い方を知っておこう

JOIN 内部 外部接続

テーブル同士を接続して表示します

課題

①placesテーブルを作成して、出身県1~47をいれてください。

 m_place(都道府県テーブル)

 都道府県データ挿入のテーブルデータ 参考のサイト

カラム名名称データ型NULLDefault
place_no県NOintNOTNULL
place_name県名varchar(100)NOTNULL

②作成したSQLテーブルを利用して、データを表示してください。件数が足りない場合は、以下の件数になるように仮のレコードを挿入してください。

  m_users:20件・ m_profiles:10件・m_place(都道府県テーブル):47件

③m_profilesとm_placeテーブルを利用して、内部結合(INNER JOIN)を使って表示してください。

  提出物:作成したSQL文と出力されたデータをコピーして、テキストに貼り付けて送ってください。

  テキスト名:profiles_place.txt

④m_usersとm_profilesテーブルを利用して、外部結合(LEFT JOIN句, RIGHT JOIN句)を使って表示してください。

  提出物作成したSQL文と出力されたデータをコピーして、テキストに貼り付けて送ってください。

  テキスト名:users_profiles.txt

・内部結合:テーブルとテーブルの互いの条件に一致するレコード(データ行)をのみを抽出します。

・外部結合:一致しない場合もデータとして取得、一致しないデータは取得しない。

ヒント:都道府県名のは、内部結合(INNERJOIN)を使います。

m_users と m_profilesは外部結合を使います。m_usersにしかないテーブルも表示するようにします。


MySQLについての課題は以上となります。
作成したデータベースは、この先の「システム編」で使用しますので消さないようにしておいてください!

コメント