forked from elmas3/schoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lesson_for_windows - コピー.txt
290 lines (219 loc) · 6.91 KB
/
lesson_for_windows - コピー.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
MySQL入門 授業用メモ 2015/04/29
<事前準備>
MySQLの動作環境をご準備下さい。
授業ではXAMPPを使用します。
https://www.apachefriends.org/jp/index.html
<参考資料>
公式サイト: http://www-jp.mysql.com/
公式リファレンス: http://dev.mysql.com/doc/
IPA 情報処理推進機構が無料公開している MySQL入門教科書
https://jinzaiipedia.ipa.go.jp/wp-content/uploads/oss/subject1-1_lesson.pdf
元サイト: https://jinzaiipedia.ipa.go.jp/it_platform/education/oss/seika_201007_2
1限目 =================================
目次
・データベースとは
・用語説明 (テーブル /フィールド / レコード / 主キー)
・MySQLの動作環境確認 (XAMPP)
・プロンプト(ターミナル)からの利用方法
-- コマンドラインツールの起動 --
<Mac>
/Applications/XAMPP/bin/mysql -u root
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root
-- DB一覧の表示 --
show databases;
-- コマンドラインツールの終了 --
exit
2限目 =================================
目次
・SQL実践①
・DB作成 / 削除
・テーブル作成 / 削除 / データ型
・データの挿入 (INSERT)
・データの選択 (SELECT)
・データの更新 (UPDATE)
・データの削除 (DELETE)
-- コマンドラインツールの起動 --
<Mac>
/Applications/XAMPP/bin/mysql -u root
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root
-- DB作成 --
create database shop character set utf8;
show databases;
-- DB削除 --
drop database shop;
show databases;
-- 再度DB作成 --
create database shop character set utf8;
show databases;
-- 使用中のDB切替え --
use shop;
-- テーブル作成 --
create table item (
id int not null primary key auto_increment,
name varchar(255),
price int,
memo text
);
-- テーブル確認 --
show tables;
-- テーブル定義の確認 --
desc item;
-- テーブル削除 --
drop table item;
show tables;
-- 再度テーブル作成 --
create table item (
id int not null primary key auto_increment,
name varchar(255),
price int,
memo text
);
desc item;
-- データの挿入 (INSERT) --
insert into item (name, price, memo) values ('チョコ', 100, 'ポリフェノール入り');
insert into item (name, price, memo) values ('アイス', 120, '北海道産牛乳使用');
insert into item (name, price, memo) values ('アメ', 50, 'これがアレば生きられる');
-- データの選択 (SELECT) --
select * from item;
-- データの更新 (UPDATE) --
update item set memo = '今月のイチオシ' where id = 1;
select * from item;
-- データの削除 (DELETE) --
delete from item where id = 1;
select * from item;
delete from item;
select * from item;
-- コマンドラインツールの終了 --
exit
3限目 =================================
目次
・SQL実践②
・外部ファイルの実行
・バックアップとリストア
・検索条件の付け方 (WEHRE / 比較演算子)
・論理演算子の利用 (AND / OR)
-- SQLの外部ファイルを指定のDBに実行 --
<Mac>
/Applications/XAMPP/bin/mysql -u root shop < 外部ファイルのパス
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root shop < 外部ファイルのパス
-- コマンドラインツールの起動 --
<Mac>
/Applications/XAMPP/bin/mysql -u root
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root
-- 外部ファイルが実行された結果の確認 --
show tables;
select * from item;
select * from user;
select * from purchase_history;
-- コマンドラインツールの終了 --
exit
-- DB(shop)のテーブルデータをバックアップ --
<Mac>
/Applications/XAMPP/bin/mysqldump -u root shop > shop.dump.sql
<Win>
C:\xampp\mysql\bin\mysqldump.exe -u root shop > shop.dump.sql
-- コマンドラインツールの起動 (使用するDBを指定して起動) --
<Mac>
/Applications/XAMPP/bin/mysql -u root shop
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root shop
-- 検索条件の付け方 (WEHRE / 比較演算子) --
select * from item;
select * from item where id = 1;
select * from item where price = 100;
select * from item where price > 50;
-- 論理演算子の利用 (AND / OR) --
select * from item where price = 100 and name = 'チョコ';
select * from item where price = 100 and name = 'チョコ' OR 'アイス';
-- コマンドラインツールの終了 --
exit
4限目 =================================
目次
・SQL実践③
・文字列の部分一致検索 (LIKE)
・その他の検索条件 (IN / BETWEEN / DISTINCT / LIMIT)
・データの並び替え (ORDER BY)
-- コマンドラインツールの起動 (使用するDBを指定して起動) --
<Mac>
/Applications/XAMPP/bin/mysql -u root shop
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root shop
-- 文字列の部分一致検索 (LIKE) --
select id, name from item;
select id, name from item where name like '%チョコ%';
select id, name from item where name like '%チョコ';
select id, name from item where name like 'チョコ%';
-- その他の検索条件 (IN / BETWEEN / DISTINCT / LIMIT) --
select id, name from item where id in(1,2,5);
select id, name, price from item where price between 10 and 100;
select id, name, distinct price from item where price between 10 and 100;
select distinct price from item;
select id, name from item limit 5;
-- データの並び替え (ORDER BY) --
select id, name, price from item order by price;
select id, name, price from item order by price;
select id, name, price from item order by price asc;
select id, name, price from item order by price desc;
-- コマンドラインツールの終了 --
exit
5限目 =================================
目次
・SQL実践④
・集計 (COUNT / SUM / AVERAGE / MAX / MIN)
・グループ集計 (GROUP BY)
・複数のテーブルから検索する (INNER JOIN / LEFT JOIN / RIGHT JOIN)
-- コマンドラインツールの起動 (使用するDBを指定して起動) --
<Mac>
/Applications/XAMPP/bin/mysql -u root shop
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root shop
-- 集計 (COUNT / SUM / AVERAGE / MAX / MIN) --
select count(id) from item;
select sum(price) from item;
select avg(price) from item;
select max(price) from item;
select min(price) from item;
-- グループ集計 (GROUP BY) --
select user_id, count(id) from purchase_history group by user_id;
-- 複数のテーブルから検索する (INNER JOIN / LEFT JOIN / RIGHT JOIN) --
select * from user inner join purchase_history on user.id = purchase_history.user_id;
select * from user left join purchase_history on user.id = purchase_history.user_id;
select * from user right join purchase_history on user.id = purchase_history.user_id;
select user.name, sum(item.price) from user left join purchase_history on user.id = purchase_history.user_id left join item on purchase_history.item_id = item.id group by user.id;
-- コマンドラインツールの終了 --
exit
6限目 =================================
目次
・SQL実践⑤
ユーザの作成、権限管理 (GRANT)
テーブル構造の変更 (ALTER)
インデックスの追加 / 削除
-- コマンドラインツールの起動 (使用するDBを指定して起動) --
<Mac>
/Applications/XAMPP/bin/mysql -u root shop
<Windows>
C:\xampp\mysql\bin\mysql.exe -u root shop
-- テーブル構造の変更 (ALTER) --
desc user;
alter table user add kana varchar(100) after name;
desc user;
alter table user change kana kana varchar(255);
desc user;
alter table user drop kana;
desc user;
alter table user rename customer;
show tables;
alter table customer rename user;
show tables;
-- インデックスの追加 / 削除 --
alter table users add index email (id, email);
alter table users drop index email;
--- ユーザの作成、権限管理 (GRANT) --
grant all on shop.* to shop_user@localhost identified by 'password';
exit
mysql -u shop_user -p shop
exit