4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[初めてのデータベース] SQL MySQL xampp

Last updated at Posted at 2022-06-03

初めに

MySQL(データベース)とSQL(データベース言語)を利用て、DBの作成、データの登録、データの取り出し、についてまとめていきます。
今回はXAMPPを利用していますが、環境構築の部分は割愛しております。

データベースとは

データを一定のルールで蓄積し、必要に応じて取り出せるようにしたもの。
きっちり整理整頓された、データの倉庫。

Excelやスプレッドシートに似ている。
[Excelとの対比]

データベース Excell
データベース自体 ファイル
テーブル(表) Sheet
レコード(行・ロウ) 横の行
フィールド(列・カラム) 縦の列

データベースの作成 (xampp)

データベースの作成

XAMPP起動後、http://localhost/phpmyadmin/
にアクセス。
1: 画面上部「データベース」をクリック
2: データベース名を記入
3: 「照合順序」は 「utf8_unicode_ci」 を選択。
大文字小文字/全角半角を区別しない。曖昧検索に適している。
4: 「作成」を押してDB作成
スクリーンショット 2022-06-03 14.34.31.png

テーブルの作成

1: テーブル名を記入
2: カラム数を記入。
(横の行になります。後から追加も可能)
3: 「作成」を押してテーブルを作成
スクリーンショット 2022-06-03 14.41.38.png

Fildの作成

テーブル内に入れていくデータの項目(種類)を登録する。
スクリーンショット 2022-06-03 15.07.56.png
1: 名前の部分に、個々のデータ名を入れていく
2: タイプで、データのタイプを選択

INT == 数列
VARCHAR == 文字列
TEXT == VARCHRよりも大きな文字列を扱える

VARCHARとTEXTの違いを調べてみたのですが、とりあえずVARCHARでいいような気がしています。

3: 長さ/幅の部分に、最大文字数を入力
この部分は、大きい数値にしておいても、
データのサイズは、実際に登録された文字数に依存するようなので、大きめにしておいても問題はなさそう。

3.5:プラスアルファ
・被らない固有のIDにしたい場合は、「A.I」にチェックをつける。primaryは自動で選択される。

・入力なし、空を許可する場合は「NULL」にチェックを入れる。
スクリーンショット 2022-06-03 15.18.23.png

・Fild (データの項目)を追加したい場合は画面上部で、カラム数(追加する数)を選択し「実行」をクリック
スクリーンショット 2022-06-03 15.28.30.png

4: 登録
「保存する」をクリックして登録。
 スクリーンショット 2022-06-03 15.26.11.png

データベースの操作(SQL)

画面上部の「SQL」タブからSQL(データベース言語)を使い、操作ができます。
スクリーンショット 2022-06-03 15.33.31.png

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との接続も次回記述予定です。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?