LAMPのお勉強日記 (7)
LAMP環境のお勉強日記
目的
- 自分が何をやったのか記録する
- 自分が何を出来るのか公開する
はじめに
>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」が50と100の間にある 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を超える(50と200の間にない) 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」が5か6のどちらか 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 | +------+
今回はここまで。
次回は、複数の条件を組み合わせてデータを抽出する。