Webデザイン特別プログラム データベース実習編3...
Transcript of Webデザイン特別プログラム データベース実習編3...
![Page 1: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/1.jpg)
Webデザイン特別プログラム
データベース実習編3
MySQL演習, phpMyAdmin
静岡理工科大学 総合情報学部
幸谷智紀
http://na-inet.jp/
![Page 2: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/2.jpg)
RDBの基礎の基礎 • RDB(Relational DataBase)はデータを集合として扱う
• データの取り扱いはテーブル(=集合)の演算(和集合,積集合・・・)と同じ
• データベースには複数のテーブルを作ることができる
jikken
id name name_yomi
1 幸谷智紀 こうやとものり
2 大椙弘順 おおすぎこうじゅん
データベース(DB)名
meibo_table テーブル(table)名
フィールド(field)名
![Page 3: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/3.jpg)
SQL文
• RDBを操作するための言語
• 命令文は大文字小文字の区別なし
• 今回使用するのはごく基本的なものだけ
– CREATE・・・DBやテーブルの新規作成
– INSERT・・・テーブルにデータを追加
– UPDATE・・・既存のデータを更新
– DELETE・・・既存のデータを削除
– SELECT・・・データの検索
![Page 4: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/4.jpg)
MySQLの仕組み
• クライアント・サーバ型(C/S)のRDBMS。
• MySQL Serverはクライアントとは異なるマシンに設置してあっても構わない。
![Page 5: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/5.jpg)
MySQL(CUI)の準備 1.“C:¥xampp¥mysql¥bin”にパスを通しておく
「システムのプロパティ」→「詳細設定」→「環境変数」→「Path」に追加
3.コマンドプロンプトを開き,mysqlコマンドが実行できることを確認。
![Page 6: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/6.jpg)
MySQL(クライアント側)の使い方
• コマンドラインから・・・非常時にはこちらしか使えないので覚えておくこと。
$ mysql –u ユーザ名 –p
Enter password: パスワードを入力(表示されない)
mysql> ←”mysql”プロンプトが出る
• phpMyAdminから・・・普段はこちらで良い。http://localhost/phpmyadmin/
![Page 7: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/7.jpg)
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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/8.jpg)
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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/9.jpg)
データベースの作成・削除・確認
(コマンドは小文字も可) • データベースの作成
CREATE DATABASE データベース名;
• データベースの削除
DROP DATABASE データベース名;
• データベース名の確認
SHOW DATABASES;
![Page 10: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/10.jpg)
テーブルの作成・削除 • データベースを選択してから作る場合
USE データベース名;←データベースの選択
CREATE TABLE テーブル名 (フィールド名1 データ型, フィールド名2 データ型, …,その他);
• データベース選択なしで作る場合
CREATE TABLE データベース名.テーブル名 (フィールド名1 データ型, フィールド名2 データ型, …, その他);
• テーブルの削除・確認
DROP TABLE テーブル名;
SHOW TABLES (FROM データベース名);
![Page 11: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/11.jpg)
フィールドのデータ型・属性等
• データ型
–数値型・・・INT, DOUBLE等
–日付・時刻型・・・DATE, TIMESTAMP等
–文字列型・・・VARCHAR, TEXT等
• その他
–主キーの指定: primary key(フィールド名)
–自動インクリメント: auto_increment
![Page 12: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/12.jpg)
注意! • 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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/13.jpg)
phpMyAdminでSQL文を実行
• 以下は口頭の説明のみ(見て分かる人は試してみること)
–データベースの作成・削除
–テーブルの作成
–データ検索
–データ更新
–データ削除
–データベースのバックアップ・リストア
![Page 14: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/14.jpg)
練習 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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/15.jpg)
データ追加・検索・更新・削除
• このSQL文を,PHPスクリプトに埋め込んで発行させることになる。
• SQL文 ←→ PHPに埋め込まれた文字列
![Page 16: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/16.jpg)
データ追加・・・INSERT
insert into テーブル名(フィールド名1, フィールド名2, ...) values(データ 1, データ 2, ...)
例)「吉田茂(よしだしげる)」を追加
insert into japanese (name, yomigana)
values(' 吉田茂', ' よしだしげる');
![Page 17: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/17.jpg)
データ更新・・・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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/18.jpg)
データ検索・・・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 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/19.jpg)
データ削除・・・DELETE
delete from テーブル名 where フィールド名='
データ'
例) id=1 のデータを削除
delete from japanese where id=1;
![Page 20: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/20.jpg)
データベースのバックアップ・リストア
(コマンドラインの場合)
• mysqldumpコマンドを利用(大量のデータはリダイレクトを使用してファイルに保存しておくこと)
• 全てSQL文として保存される(拡張子は.sqlにしておくと良い)
• データはUTF-8として保存される(今回の設定)
【特定のデータベースのみをバックアップ】
$ mysqldump データベース名 –u ユーザ名 –p > ファイル名
【全部のデータベースをバックアップ】
$ mysqldump ーーall-databases データベース名 –u ユーザ名 –p
> ファイル名
【リストア】・・・$ mysql –u ユーザ名 –p (データベース名)< ファイル名
![Page 21: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/21.jpg)
課題
• 戦後の総理大臣(首相官邸サイトにある)を10名追加せよ。
• SQL文でバックアップを取り,内容が完全に復元できることを確認せよ。
![Page 22: Webデザイン特別プログラム データベース実習編3 …Webデザイン特別プログラム データベース実習編3 MySQL演習, phpMyAdmin 静岡理工科大学](https://reader035.fdocuments.net/reader035/viewer/2022071108/5fe31d997714d6084a74d06f/html5/thumbnails/22.jpg)
課題 1. 次の仕様のデータベース・テーブルを作成せよ。
–データベース名:twitter
–テーブル名: sample
– フィールド数:3
• INT id
• VARCHAR(32) username
• TEXT(256) message
2. 3つ以上のデータを追加せよ(内容は任意)。
3. SQL文でバックアップを取り,内容が完全に復元できることを確認せよ。