【DB授業三日目】MariaDB(続き)
●SQRをPHPを連携する
C:Create
R:Read
U:Update
D:Delete
SQL文にすると....
C:insert 追加
R:select 読出
U:update 更新
D:delette 削除
ユーザ情報
●ユーザ情報の表示
SELECT * FROM mysql.user;
SELECT user, host FROM mysql.user;
+--------------+-----------+
| User | Host |
+--------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| DBWriter | localhost |
| LessonMaster | localhost |
| User | localhost |
| pma | localhost |
| root | localhost |
+--------------+-----------+
●ユーザ情報の表示
SELECT * FROM mysql.user \G;
SELECT * FROM mysql.user \G;
*************************** 1. row ***************************
Host: localhost
User: root
Password: *4ACFE3202A5FF5CF467898FC58AAB1D615029441
Select_priv: Y
~~~~~~~~続く~~~~~~~~~~~~
●ユーザの権限の表示
SHOW GRANTS FOR ユーザ名@ホスト名;
SHOW GRANTS FOR DBWriter@localhost;
+-----------------------------------------------------------------------------------------------------------------+
| Grants for DBWriter@localhost |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `DBWriter`@`localhost` IDENTIFIED BY PASSWORD '*973852367AA330FF1FAF183DF544B07A5E33D27C' |
| GRANT SELECT, INSERT ON `lesson`.`commodity` TO `DBWriter`@`localhost` |
+-----------------------------------------------------------------------------------------------------------------+
●ユーザの削除
DROP USER ユーザ名@ホスト名;
データベース領域のバックアップ
●ダンプファイル確認してみる
mysqldump -u root -p lesson
●文字化け直す
mysqldump --default-character-set=cp932
-u root -p lesson
●ダンプファイルとは、コンピュータのメインメモリ(RAM)やレジスタなどのある瞬間の内容を、ストレージ(外部記憶装置)上のファイルに丸ごと写し取ったもの。
●ダンプファイルの出力先変える
ica@B101-19 c:\users\ica\desktop\xampp
↓
ica@B101-19 C:\Users\ica\Documents\授業用\DB講座\lesson
cd C:\Users\ica\Documents\授業用\DB講座\lesson
・cd:Change Directoryの略で、参照しているディレクトリを変更するためのコマンド
●データベース領域の削除
DROP DATABASE データベース領域;
DROP DATABASE lesson;
●データベース作成(復習)
CREATE DATABASE データベース領域;
CREATE DATABASE lesson;
●ダンプファイル復元
mysql -u root -p lesson < lesson.dump
※「<」矢印を逆にするとダンプファイルを上書きしてしまうので注意!
●ブラウザを使ってダンプファイルを復元
https://jobtech.jp/mysql/3815/
正規化について
●GROUP BY:データをグループ化する
SELECT 計算関数 FROM テーブル名 GROUP BY フィールド名;
SELECT item, SUM(count) FROM quantity
JOIN sales
ON quantity.sales_id=sales.sales_id
JOIN commodity
ON quantity.item_id=commodity.id
GROUP BY item;
●HAVING句
SELECT item, SUM(count) FROM quantity
JOIN sales
ON quantity.sales_id=sales.sales_id
JOIN commodity
ON quantity.item_id=commodity.id
GROUP BY item
HAVING SUM(count)>=2;