MySQL_ データベース概要

SQL入門:MySQLの操作
システム設計演習Ⅰ準備
富樫敦/宮西
2007/12/18
1
SQLとは
リレーショナルデータベース言語SQL
SQL(エスキューエル)
データベースの操作、特に問い合わせを行
うための言語
2007/12/18
2
MySQLとは
DBMS(データベースマネジメントシス
テム)の1つ.
Oracle、Access、PostgreSQL、
MySQLなどが有名.
2007/12/18
3
MySQLのインストール
講義用ページよりMySQLに関するzip
ファイルとpptファイルをDL.
pptファイルを見ながら,各自インス
トールと各種設定を行う.(既に済んで
いるはず)
以下の設定に注意.
環境変数,rootのパスワードの設定.
2007/12/18
4
MySQLの操作(演習)
本日は以下の操作について,マスターし
ましょう.
データベースの作成(create)
テーブルの作成
データ操作命令の基本4文法
INSERT,SELECT,UPDATE,DELETE
2007/12/18
5
コマンドラインの起動
「スタート」→「すべてのプログラ
ム」→「アクセサリ」→「コマンド
プロンプト」
>の後の部分
がキーボード
からの入力で
す.
2007/12/18
6
ログイン
インストール時に設定したパスワードを
使い,rootでログインしましょう.
C:\>mysql -u root –p
Enter password: 設定したパスワード
2007/12/18
7
ログアウト
ログアウトの方法です.
mysql> exit;
Bye
“exit”ではなく,”quit”でも可.
演習を続けるため,再度ログインして下さ
い.
2007/12/18
8
データベースの作成
演習で使うためのデータベースを作って
おきます.
ここでは,“testdb01”にでもしておき
ましょう.
mysql> create database testdb01;
2007/12/18
9
データベースの確認
作られたデータベースは,以下のコマン
ドで確認できます.
mysql> show databases;
作ったデータベースが
確認できます.
2007/12/18
+-----------+
| Database |
+-----------+
| mysql
|
| test
|
| testdb01 |
+-----------+
10
データベースに接続する
先程作成したデータベースを選択します.
mysql> use testdb01;
Database changed
以上でデータベースが操作できるようにな
りました.
2007/12/18
11
テーブルの設計
まずは,テーブルを設計します.(ス
キーマ)
ここでは,テーブル名は“person”にし
名称
内容 型
備考
ます.
id
ID
int(10)
空欄不可,主キー,自動採
name
名前
char(20) 空欄不可
age
年齢
int(10)
height 身長
float
weight 体重
float
2007/12/18
12
テーブルを作成する
データベースにテーブルを作ります.
mysql> create table person(
-> id int(10) primary key auto_increment,
-> name char(20),
-> age int(10),
-> height float,
-> weight float,
-> );
2007/12/18
13
テーブルの確認
正しくテーブルが作られたか,確認して
みましょう.
mysql> show fields from person;
または
mysql> show columns from person;
次スライドのように表示されたでしょうか?
2007/12/18
14
テーブルの確認
+--------+---------+------+-----+---------+------------------+
| Field | Type
| Null | Key | Default | Extra
|
+--------+---------+------+-----+---------+------------------+
| id
| int(10) | NO | PRI | NULL
| auto_increment |
| name | char(20)| YES |
| NULL
|
|
| age
| int(10) | YES |
| NULL
|
|
| height | float | YES |
| NULL
|
|
| weight | float | YES |
| NULL
|
|
+--------+---------+------+-----+---------+------------------+
2007/12/18
15
データの作成(INSERT)
作ったテーブルに,表のようにデータを
作成しましょう.
id
1
name
suzuki ichiro
age
30
height weight
178.5 80.5
mysql> INSERT INTO person
-> (name,age,height,weight)
-> VALUES(‘suzuki ichiro’,30,178.5,80.5);
2007/12/18
16
データの作成(INSERT)
id
1
2
3
4
5
同様に,以下の表のようにデータを入力
してみましょう.(SQL文は自分で考
える.)
name
suzuki ichiro
tanaka jiro
oota saburo
dai jiro
dai goro
2007/12/18
age
30
29
28
27
3
height
178.5
180.2
170.4
168.2
100.0
weight
80.5
90.4
70.5
70.2
30.0
17
データを表示する(SELECT)
入力したデータを表示してみます.
mysql> SELECT * FROM person;
+-----+------------------+------+
| id | name
| age |..
+-----+------------------+------+
| 1
| suzuki ichiro
| 30
|..
| 2
| tanaka jiro
| 29
|..
| :
| :
| :
|
2007/12/18
18
データを検索する①
年齢が29の人の,全てのフィールドを
表示する.
mysql> SELECT * FROM person
WHERE age=29;
(↑1行で入力する.)
WHERE以下に条件文をつけて検索します.
2007/12/18
19
データを検索する②
LIMITを付けると,表示する件数を限定
できます.
mysql> SELECT * FROM person
WHERE age=29 LIMIT 1;
2007/12/18
20
データを検索する③
ageが20の人の,heightとweightを表
示する.
mysql> SELECT height,weight FROM person
WHERE age=20;
ageが20の人の人数を表示する.
mysql> SELECT count(*) FROM person
WHERE age=20;
2007/12/18
21
ちょっと高度な検索
「ageが30」かつ「heightが170以下」の人.
mysql> SELECT * FROM person
WHERE age=30 && height<=170;
「weightが80以上」または「heightが170以下」の
人.
mysql> SELECT * FROM person
WHERE weight>=80 || height<=170;
2007/12/18
22
データの更新(UPDATE)
mysql> UPDATE person SET age=35
where name=‘suzuki ichiro’;
(↑1行で入力する.)
name
suzuki ichiro
age height weight
30 178.5 80.5
SELECT文で
確認してみよう.
suzuki ichiro
2007/12/18
35
178.5 80.5
23
データの削除(DELETE)
mysql> DELETE person
where name=‘suzuki ichiro’;
(↑1行で入力する.)
SELECT文で
確認してみよう.
2007/12/18
24
例
3.1 準備
データベースtestdb01、テーブルpersonを準備
mysql –u root –p
********(secret) パスワード、パスワードの設定をしていない場合にはEnter
キー
create database testdb01;
use testdb01;
create table person(id int(10) primary key auto_increment, name char(20),
age int(10), height float, weight float);
insert into person(name,age) values(’suzuki ichiro’,28);
insert into person(name,age) values(”suzuki jiro”,26);
insert into person(name) values(’kimura saburo’);
・・・・・・
ディレクトリ(Linux):/usr/local/apache2/htdocs/phpsample1
フォルダ(WindowsXP):C:\Program Files\Apache
Group\Apache2\htdocs\phpsample1
2007/12/18
25
例
3.2
3.3
3.4
3.5
3.6
3.7
2007/12/18
トップ画面 index.php
全件表示 show_persons.php
1件表示 show_one_person.php
1件追加 add_one_person.php
1件修正 mod_one_person.php
1件削除 del_one_person.php
26
まとめ.
以下の内容について理解出来ましたか?
MySQLのインストール
MySQLの基本操作
データベースの作成(create)
テーブルの作成
データ操作命令の基本4文法
INSERT,SELECT,UPDATE,DELETE
MySQL, PHPの連携
2007/12/18
27