##SQLの基礎を理解する
PHPの勉强と共に必要な部分だけを学んでいたsqlでしたが
この度、書籍や動画で理解が深まったので記録しておきたいと思います。
##SQLの基礎
①データベースの作成・削除
②データベースの一覧表示
③テーブルを作成と削除
④データの保存=レコード(行)の追加
⑤データの取得
⑥データの更新
⑦データの削除
##はじめに
データベースに命令をするためにデータベースに接続する
Mysql -h ホスト名 -u ユーザー名 -p データベース名
*GUI(見ながら操作できる。例:phpMyadmin)などのツールを使ってSQLを扱うことができるのですが、CUI(真っ黒画面。例:ターミナル)でSQLを操作できるようにした方が良い!らしい。。
##①データベースの作成・削除
データベースの作成と削除は以下のコマンド。
このコマンドはテーブルを作ったわけではなく、テーブルの集合体、親を作ったというイメージ。
Create database データベース名; //作成
Drop database データベース名; //削除
##②データベースの一覧表示
①で作ったデータベースを全て見ることができる。
一覧で表示されているデータベースの中から使用するデータベースを選択するのがUSEコマンド。
USEコマンドで選択したデータベースの中にテーブルを作っていく。
Show database; //一覧表示
Use データベース名; //データベースの選択
##③テーブルを作成と削除
Create table members (id,name); //作成
Drop table members; //削除
Idとnameの2つのカラムを持ったmembersテーブルが作られる。
※一つのデータベースに複数のテーブルを作成することができる。
##④データの保存=レコード(行)の追加
Insert into members(id,name,password) values(1,’higa’ ,’aaaa’);
訳:membersテーブルのidカラム、nameカラム、passwordカラムに合わせて1、’higa’、’aaaa’という値(valuse)を保存してね〜
注意するのが「挿入するデータはカラムのデータ型に合わせる」必要があります。
極端な例ですが、idカラムのデータ型がint型だった場合に「’1’(シングルクォーテーションで囲っているため文字列)」や「’いち’」という風に値を挿入しようとしてはいけない。
##⑤データの取得
個人的にはデータの取得が一番難しい気がします。
理由はデータベースに保存されているデータを自分の用途に合わせた形で取得するため、条件の指定方法などをしっかり考えなければいけないからです。
データの取得にはselect文を使用。
条件の指定にwhere句を使用。
id | name | password |
---|---|---|
1 | higa | aaaa |
2 | yara | bbbb |
Select * from members; //すべてのデータを取ってくる場合
訳:membersテーブルのすべてのデータ取ってきて〜。
Select * from members where id=2; //idが2のレコードをすべて取得する場合
訳:memberesテーブルのidが2番の人のすべてのデータ取ってきて〜。
Select name from members where id=1; //Idが1のnameだけを取得
訳:membersテーブルからidが1番の人のnameカラム取ってきて〜。
用語解説:from=テーブル名、where=取得するときの条件、*=すべて
*where句には「and」「or」などを組み合わせて使うことができる。また他にも検索条件をさらに詳しく設定できるので調べると面白い発見があると思います。
##⑥データの更新
id | name | price |
---|---|---|
1 | apple | 200 |
2 | orange | 300 |
3 | grape | 400 |
4 | melon | 500 |
Updateの用途は
元々保存していたデータの値が変わったときや間違えて違うデータを挿入したときにデータを更新する必要があります。
データの更新はupdateを使用します。
Update fluits set price='600' where name='orange;
訳:membersテーブルのidが2番の人の名前をtamashiroに更新して〜。
また、update文は複数のデータを一気に更新させることができます。
Update fluits set price=700 where price>=400;
訳:fluitsテーブルのpriceが400円以上の物を700にしてください〜。
##⑦データの削除
id | name | password |
---|---|---|
1 | higa | aaaa |
2 | yara | bbbb |
3 | arakaki | cccc |
Delete from members where id=1;
訳:membersテーブルのidが1番の人のデータ(レコード)を削除して〜。
また削除も条件指定で複数のデータを削除することができる。
Delete from members where age=2;
訳:membersテーブルのidが2番の人のデータを削除してね〜。
##最後に
これでSQLの基礎の基礎は大丈夫だと思っています。データの条件の詳細設定やデータの取扱いのセキュリティ対策などを学んでいきます。時間見つけてまた書きたいと思います。
また、どこかミスがあれば教えていただけると幸いです。