webデザイン特別プログラム データベース実習編3...

22
Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学 総合情報学部 幸谷智紀 http://na-inet.jp/

Upload: others

Post on 01-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

Webデザイン特別プログラム

データベース実習編3

MySQL演習, phpMyAdmin

静岡理工科大学 総合情報学部

幸谷智紀

http://na-inet.jp/

Page 2: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

RDBの基礎の基礎 • RDB(Relational DataBase)はデータを集合として扱う

• データの取り扱いはテーブル(=集合)の演算(和集合,積集合・・・)と同じ

• データベースには複数のテーブルを作ることができる

jikken

id name name_yomi

1 幸谷智紀 こうやとものり

2 大椙弘順 おおすぎこうじゅん

データベース(DB)名

meibo_table テーブル(table)名

フィールド(field)名

Page 3: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

SQL文

• RDBを操作するための言語

• 命令文は大文字小文字の区別なし

• 今回使用するのはごく基本的なものだけ

– CREATE・・・DBやテーブルの新規作成

– INSERT・・・テーブルにデータを追加

– UPDATE・・・既存のデータを更新

– DELETE・・・既存のデータを削除

– SELECT・・・データの検索

Page 4: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

MySQLの仕組み

• クライアント・サーバ型(C/S)のRDBMS。

• MySQL Serverはクライアントとは異なるマシンに設置してあっても構わない。

Page 5: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

MySQL(CUI)の準備 1.“C:¥xampp¥mysql¥bin”にパスを通しておく

「システムのプロパティ」→「詳細設定」→「環境変数」→「Path」に追加

3.コマンドプロンプトを開き,mysqlコマンドが実行できることを確認。

Page 6: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

MySQL(クライアント側)の使い方

• コマンドラインから・・・非常時にはこちらしか使えないので覚えておくこと。

$ mysql –u ユーザ名 –p

Enter password: パスワードを入力(表示されない)

mysql> ←”mysql”プロンプトが出る

• phpMyAdminから・・・普段はこちらで良い。http://localhost/phpmyadmin/

Page 7: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

rootパスワードの変更

• Mysqladminコマンドでrootパスワードの設定

「test」と設定

→ $ mysqladmin password "test" -u root

パスワードの確認

$ mysql -u root –p

Enter password: **** ←「test」と打つ

mysql> ←プロンプトが出ればO.K.

Page 8: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

C:¥xampp¥phpMyAdmin¥config

.inc.phpの変更 $cfg['Servers'][$i]['auth_type'] = 'config';

$cfg['Servers'][$i]['user'] = 'root';

$cfg[‘Servers’][$i][‘password’] = 'test'; ←パスワードを書き込んでおく

Page 9: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データベースの作成・削除・確認

(コマンドは小文字も可) • データベースの作成

CREATE DATABASE データベース名;

• データベースの削除

DROP DATABASE データベース名;

• データベース名の確認

SHOW DATABASES;

Page 10: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

テーブルの作成・削除 • データベースを選択してから作る場合

USE データベース名;←データベースの選択

CREATE TABLE テーブル名 (フィールド名1 データ型, フィールド名2 データ型, …,その他);

• データベース選択なしで作る場合

CREATE TABLE データベース名.テーブル名 (フィールド名1 データ型, フィールド名2 データ型, …, その他);

• テーブルの削除・確認

DROP TABLE テーブル名;

SHOW TABLES (FROM データベース名);

Page 11: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

フィールドのデータ型・属性等

• データ型

–数値型・・・INT, DOUBLE等

–日付・時刻型・・・DATE, TIMESTAMP等

–文字列型・・・VARCHAR, TEXT等

• その他

–主キーの指定: primary key(フィールド名)

–自動インクリメント: auto_increment

Page 12: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

注意! • MySQLに格納されるデータ・・・UTF-8

C:¥xampp¥mysql¥bin¥my.incの変更

## UTF 8 Settings

#init-connect=¥'SET NAMES utf8¥'

collation_server=utf8_unicode_ci

character_set_server=utf8

skip-character-set-client-handshake

character_sets-dir="C:/xampp/mysql/share/charsets"

行頭の「#」を外し変更し,MySQLを再起動しておくこと。

Page 13: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

phpMyAdminでSQL文を実行

• 以下は口頭の説明のみ(見て分かる人は試してみること)

–データベースの作成・削除

–テーブルの作成

–データ検索

–データ更新

–データ削除

–データベースのバックアップ・リストア

Page 14: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

練習 1. “prime_minister”というデータベースを作成せよ。

2. “japanese”テーブルを次のCREATE文を使って作成せよ。

CREATE TABLE `japanese` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(32),

`yomigana` varchar(64),

PRIMARY KEY (`id`)

);

3. フィールド名,データ型指定が正しいかどうかを確認せよ。

SHOW FIELDS FROM japanese(テーブル名);

Page 15: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データ追加・検索・更新・削除

• このSQL文を,PHPスクリプトに埋め込んで発行させることになる。

• SQL文 ←→ PHPに埋め込まれた文字列

Page 16: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データ追加・・・INSERT

insert into テーブル名(フィールド名1, フィールド名2, ...) values(データ 1, データ 2, ...)

例)「吉田茂(よしだしげる)」を追加

insert into japanese (name, yomigana)

values(' 吉田茂', ' よしだしげる');

Page 17: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データ更新・・・UPDATE

update テーブル名 set フィールド名1=' データ

1', フィールド名2=' データ 2', ... where フィールド名='データ'

例) id=1 のデータを更新

update japanese set name=' 鳩山一郎',

name_yomi=' はとやま

いちろう' where id=1;

Page 18: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データ検索・・・SELECT

select フィールド名1, ... from テーブル名 (検索指定)

(注) 全フィールドが対象であれば‘*’を指定

例) id=1 のデータを検索して表示

select * from japanese where id=1;

例) ”吉田”を含む文字列のデータを検索して表示

select name, yomigana from japanese like %吉田%;

Page 19: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データ削除・・・DELETE

delete from テーブル名 where フィールド名='

データ'

例) id=1 のデータを削除

delete from japanese where id=1;

Page 20: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

データベースのバックアップ・リストア

(コマンドラインの場合)

• mysqldumpコマンドを利用(大量のデータはリダイレクトを使用してファイルに保存しておくこと)

• 全てSQL文として保存される(拡張子は.sqlにしておくと良い)

• データはUTF-8として保存される(今回の設定)

【特定のデータベースのみをバックアップ】

$ mysqldump データベース名 –u ユーザ名 –p > ファイル名

【全部のデータベースをバックアップ】

$ mysqldump ーーall-databases データベース名 –u ユーザ名 –p

> ファイル名

【リストア】・・・$ mysql –u ユーザ名 –p (データベース名)< ファイル名

Page 21: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

課題

• 戦後の総理大臣(首相官邸サイトにある)を10名追加せよ。

• SQL文でバックアップを取り,内容が完全に復元できることを確認せよ。

Page 22: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学

課題 1. 次の仕様のデータベース・テーブルを作成せよ。

–データベース名:twitter

–テーブル名: sample

– フィールド数:3

• INT id

• VARCHAR(32) username

• TEXT(256) message

2. 3つ以上のデータを追加せよ(内容は任意)。

3. SQL文でバックアップを取り,内容が完全に復元できることを確認せよ。