初めに
MySQL(データベース)とSQL(データベース言語)を利用て、DBの作成、データの登録、データの取り出し、についてまとめていきます。
今回はXAMPPを利用していますが、環境構築の部分は割愛しております。
データベースとは
データを一定のルールで蓄積し、必要に応じて取り出せるようにしたもの。
きっちり整理整頓された、データの倉庫。
Excelやスプレッドシートに似ている。
[Excelとの対比]
データベース | Excell |
---|---|
データベース自体 | ファイル |
テーブル(表) | Sheet |
レコード(行・ロウ) | 横の行 |
フィールド(列・カラム) | 縦の列 |
データベースの作成 (xampp)
データベースの作成
XAMPP起動後、http://localhost/phpmyadmin/
にアクセス。
1: 画面上部「データベース」をクリック
2: データベース名を記入
3: 「照合順序」は 「utf8_unicode_ci」 を選択。
大文字小文字/全角半角を区別しない。曖昧検索に適している。
4: 「作成」を押してDB作成
テーブルの作成
1: テーブル名を記入
2: カラム数を記入。
(横の行になります。後から追加も可能)
3: 「作成」を押してテーブルを作成
Fildの作成
テーブル内に入れていくデータの項目(種類)を登録する。
1: 名前の部分に、個々のデータ名を入れていく
2: タイプで、データのタイプを選択
INT == 数列
VARCHAR == 文字列
TEXT == VARCHRよりも大きな文字列を扱える
VARCHARとTEXTの違いを調べてみたのですが、とりあえずVARCHARでいいような気がしています。
3: 長さ/幅の部分に、最大文字数を入力
この部分は、大きい数値にしておいても、
データのサイズは、実際に登録された文字数に依存するようなので、大きめにしておいても問題はなさそう。
3.5:プラスアルファ
・被らない固有のIDにしたい場合は、「A.I」にチェックをつける。primaryは自動で選択される。
・入力なし、空を許可する場合は「NULL」にチェックを入れる。
・Fild (データの項目)を追加したい場合は画面上部で、カラム数(追加する数)を選択し「実行」をクリック
データベースの操作(SQL)
画面上部の「SQL」タブからSQL(データベース言語)を使い、操作ができます。
SQL基本
◇ SQLコマンド(データ操作)
INSERT: データを“登録”
SELECT: データを“表示“
UPDATE: データを“更新”
DELETE: データを“削除“
1:INSERT(データ登録)
DBにデータを登録する
◇書式:
INSERT INTO [テーブル名]([カラム1], [カラム2]) //データを入れる場所の指定
VALUES([値1], [値2]) ; //入れるデータを記述
◇例:
//[sample_table]内の 「name」 と 「email」 と 「indate」 にデータを入れるよ
INSERT INTO sample_table(name, email, indate)
//入れるデータは 「現役次郎」 と 「test2@test.test」 と 「現在の日時」 だよ
VALUES('現役次郎', 'test2@test.test', sysdate() );
※A.Iにチェックを入れたID等に関しては自動で入力される
※sysdate()
は現在の日付と時刻を返してくれる
2:SELECT(データ取得)
DBからデータを取得する
◇書式:
SELECT [表示するカラム] FROM [テーブル名];
◇例:
全指定: SELECT * FROM sample_table;
単体指定: SELECT name FROM sample_table;
複数指定: SELECT name, email FROM sample_table;
※WHERE を使用して特定のデータを抽出。
SELECT * FROM gs_an_table WHERE name = 'ジーズ太郎';
[様々な条件をつけて検索]
・演算子を使う
SELECT * FROM [テーブル名] WHERE id = 1;
SELECT * FROM [テーブル名] WHERE id >= 3;
・AND, OR で検索条件を複数指定
SELECT * FROM [テーブル名] WHERE id=1 OR id=2;
SELECT * FROM [テーブル名] WHERE id >= 1 AND id<=3;
・あいまい検索
//前方一致
SELECT * FROM [テーブル名] WHERE indate LIKE ’2015-06%';
//後方一致
SELECT * FROM [テーブル名] WHERE email LIKE ’%@gmail.com';
//部分一致
SELECT * FROM [テーブル名] WHERE email LIKE ‘%@%';
[ソートと制限]
・表示をソート(並び順を変える)
※ DESCは降順、ASCは昇順
SELECT * FROM [テーブル名] ORDER BY [ソートしたいカラム名] [ソート方法指定];
SELECT * FROM [テーブル名] ORDER BY id DESC;
SELECT * FROM [テーブル名] ORDER BY email, name DESC;
・表示件数を制限
SELECT [表示するカラム] FROM [テーブル名] LIMIT [数値の指定];
SELECT * FROM [テーブル名] LIMIT 5; //5個目まで
SELECT * FROM [テーブル名] LIMIT 3, 5; //3個目から5個目まで
3:UPDATE(データ更新)
DB上のデータを変更する。
◇書式:
UPDATE [テーブル名] SET [変更するカラム名(列)] = [新しい値] WHERE [変更するレコード(行)];
◇例:
カンマ で区切ることで複数のカラムを一度に変更が可能。
UPDATE sample_table SET name='変更さん',email='henkou@jp' WHERE id=1;
4:DELETE(削除)
DB上のデータを削除
◇書式:
DELETE FROM [テーブル名] WHERE [変更するレコード(行)];
◇例:
※WHERE
での指定を忘れると、table内の全てのデータが消えるので注意
DELETE sample_table SET WHERE id=1;
終わりに
自分のメモ代わりでした。
PHPとの接続も次回記述予定です。