reponの忘備録

「喉まででかかってる」状態を解消するためのメモ

LAMPのお勉強日記 (7)

LAMP環境のお勉強日記

目的

  • 自分が何をやったのか記録する
  • 自分が何を出来るのか公開する

経過

まず、MySQLの勉強をする(その後、PHPとの連携の勉強に移る予定)。

XAMPPにより、コマンドプロンプトで作業する。

リレーショナルデータベースとは(再掲)



はじめに

MySQLモニタに入る。
コマンドプロンプト

>mysql -u root -p
Enter password:[パスワード]
mysql>

使用するデータベースを指定する

mysql>use db1

今日学んだこと

基本となるテーブル
mysql>select * from tb1;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| a103 |  101 |    4 |
| a102 |   54 |    5 |
| a104 |  181 |    4 |
| a101 |  184 |    4 |
| a103 |   17 |    5 |
| a101 |  300 |    5 |
| a102 |  205 |    6 |
| a104 |   93 |    5 |
| a103 |   12 |    6 |
| a107 |   87 |    6 |
+------+------+------+


条件を指定した選択

レコード数を決めて表示する

「select [カラム名] from [テーブル名] limit [表示するレコード数];」

「where」を使った抽出

「select [カラム名] from [テーブル名] where [条件];」

mysql>select uria from tb1 where uria>100;
+------+
| uria |
+------+
|  101 |
|  181 |
|  184 |
|  300 |
|  205 |
+------+
比較演算子
比較演算子 意味
= 等しい
> より大きい
>= 以上
より小さい
<= 以下
<> とは異なる
○ in × ×のリストの中に○がある
○ not in × ×のリストの中に○がない
○ between × and ×× ×から××の間に○がある
○ not between × and ×× ×から××の間に○がない
ex)カラム「uria」が50100の間にある
mysql>select * from tb1 where uria between 50 and 100;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| a102 |   54 |    5 |
| a104 |   93 |    5 |
| a107 |   87 |    6 |
+------+------+------+

ex)カラム「uria」が50未満、または200を超える(50200の間にない)
mysql>select * from tb1 where uria not between 50 and 200;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| a103 |   17 |    5 |
| a101 |  300 |    5 |
| a102 |  205 |    6 |
| a103 |   12 |    6 |
+------+------+------+

ex)カラム「tuki」が56のどちらか
mysql>select * from tb1 where tuki in (5,6);
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| a102 |   54 |    5 |
| a103 |   17 |    5 |
| a101 |  300 |    5 |
| a102 |  205 |    6 |
| a104 |   93 |    5 |
| a103 |   12 |    6 |
| a107 |   87 |    6 |
+------+------+------+


<b><big>文字列を使った条件</b></big>


***「like」を使ったあいまい検索
|*ワイルドカード|*意味|
|%|任意の文字列が該当|
|_|任意の1文字が該当|


>|mysql|
#基本となるデータベースtb2
mysql>select * from tb2;
+------+-----------+------+
| bang | nama      | tosi |
+------+-----------+------+
| a101 | sato      |   40 |
| a102 | takahashi |   28 |
| a103 | nakagawa  |   20 |
| a103 | watanabe  |   23 |
| a103 | nishizawa |   35 |
+------+-----------+------+


ex)カラム「nama」に「wa」を含むデータを取り出す
mysql>select * from tb2 where nama like '%wa%';
+------+-----------+------+
| bang | nama      | tosi |
+------+-----------+------+
| a103 | nakagawa  |   20 |
| a103 | watanabe  |   23 |
| a103 | nishizawa |   35 |
+------+-----------+------+


ex)カラム「nama」に「wa」を含まないデータを取り出す(<u>not like</u>を使う)
mysql>select * from tb2 where nama not like '%wa%';
+------+-----------+------+
| bang | nama      | tosi |
+------+-----------+------+
| a101 | sato      |   40 |
| a102 | takahashi |   28 |
+------+-----------+------+
「null」のデータを検索する

たとえば

mysql>insert into tb2 (bang,nama) values('a104','kato');
mysql>select * from tb2;
+------+-----------+------+
| bang | nama      | tosi |
+------+-----------+------+
| a101 | sato      |   40 |
| a102 | takahashi |   28 |
| a103 | nakagawa  |   20 |
| a103 | watanabe  |   23 |
| a103 | nishizawa |   35 |
| a104 | kato      | NULL |
+------+-----------+------+


このとき、「NULL」のデータを検索するには、

「select [カラム名] from [テーブル名] where is null;」

と、「is null」を使う。


逆に、「NULL」で無いデータの場合は、

「select [カラム名] from [テーブル名] where is not null;」

重複したデータを省いて出力する

「select distinct [カラム名] from [テーブル名];」

ex)
mysql>select distinct bang from tb2;
+------+
| bang |
+------+
| a101 |
| a102 |
| a103 |
| a104 |
+------+


今回はここまで。


次回は、複数の条件を組み合わせてデータを抽出する。

チベットリンク

唯物主義を奉じる中国(共産党)には、
「神」なんぞ最初から存在しないのがデフォのはず。

なのに領土の話になると、神聖とかいう
モテモテ王国もびっくりの宗教ワードが連発されるのは何故なんだろうな。

禿同

おしらせ

つながり合うSNS


http://survive-sns.jp/


メンバー募集中です!


サーバを新たに立て、一新した「サバイブSNS2.0」に、ぜひご加入ください!