カラムに格納された値を表示させる時、
順番を入れ替えたり、項目を選んだりする練習を行なった。 free75

Sunday,July,21,2013

○特定のデータベース内のテーブルを表示させる 
SHOW TABLES FROM sadachika_shop;

重複を許さない場合
VARCHAR型なら、unique その他のオプション default 'データなし';
INT型なら、primary key
                     ↓db名         ↓テーブル名    ↓カラム ↓INT型(数字)↓プライマリー設定(重複を許さない)       ↓NULL時の表示 又はデフォルト値(データなし)                                                 
mysql> create table sadachika_shop.sadachi_personal(sada_id int primary key, sada_old int, sada_name varchar(10) default 'データなし');
Query OK, 0 rows affected (0.19 sec)           
                                          おさらい
                                          ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する
                                          mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。                      
                                              -> on duplicate key update sada_price=sada_price+values(sada_price), sada_count=sada_count+values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している

                                          ○数式が入れているのがまずいんだな。じゃあ取っ払らってやれ!
                                          ○アップデート やり方No,2 ユニークキーの設定をしているので、その箇所を基準に上書きを行ないます。値を入力する
                                          mysql> insert into sadachika_shop.sadachi_uriage values('Charcoal', 525, 2) *重複していれば上書きを行なう。そうでなければ全カラムへ新規で値を格納する。 省略文である。                      
                                              -> on duplicate key update sada_price=values(sada_price), sada_count=values(sada_count); *values(sada_price)は、525を表している。values(sada_count)は、2を表している。入力すべきカラムの値を参照している

○カラムの構造を見る
mysql> show columns from sadachika_shop.sadachi_personal;            
Field        Type         Null   Key    Default    Extra
sada_id      int(11)      NO     PRI    NULL                *Key項目はPRI、プライマリーにすると自動的にNULL(データなし)が無効になるんだね。そりゃNULLを許すと重複するものね
sada_old     int(11)      YES           NULL
sada_name    varchar(20)  YES           データなし          *Defaultは'データなし'へと設定された。
3 rows in set (0.03 sec)   


sada_id  sada_old  sada_name  
      1        31  佐藤
      2        19  鈴木
      3        25  坂本
      4        22  橘高
      5        36  松本
      6        40  北島
      7        41  長谷川

○入力アップデート (もしも同じ値が合った場合上書きする設定)
mysql> insert into sadachika_shop.sadachi_personal values(1, 31, '佐藤') 
    -> on duplicate key update sada_id=values(sada_id), sada_old=values(sada_old), sada_name=values(sada_name); 
                                        ↑もしも同じ値があったらカラム(sada_id)参照上書き
Query OK, 1 row affected (0.33 sec)

○テーブルの中身の表示 (sadachi_personal)
mysql> select * from sadachika_shop.sadachi_personal;
sada_id  sada_old  sada_name
      1        31  佐藤
1 row in set (0.13 sec)

上書きテストします。
○入力アップデート (もしも同じ値が合った場合上書きする設定)
mysql> insert into sadachika_shop.sadachi_personal values(1, 31, '佐藤') 
    -> on duplicate key update sada_id=values(sada_id), sada_old=values(sada_old), sada_name=values(sada_name); 
                                        ↑もしも同じ値があったらカラム(sada_id)参照上書き
Query OK, 0 row affected (0.03 sec)

○テーブルの中身の表示 (sadachi_personal)
mysql> select * from sadachika_shop.sadachi_personal;
sada_id  sada_old  sada_name
      1        31  佐藤
1 row in set (0.03 sec)

○値の入力(連続入力)(全入力のため省略文)
mysql> insert into sadachika_shop.sadachi_personal values(2, 19, '鈴木'), (3, 25, '坂本'), (4, 22, '橘高'), (5, 36, '松本'), 
(6, 40, '北島'), (7, 41, '長谷川');
Query OK, 6 rows affected (0.03 sec)
Records: 6 Duplicates: 0 Warnings: 0

○テーブルの中身の表示 (sadachi_personal)
mysql> select * from sadachika_shop.sadachi_personal;   *全てのカラムの値を取得する場合には、カラム名の代わりに「*」を記述する
sada_id  sada_old  sada_name
      1        31  佐藤
      2        19  鈴木
      3        25  坂本
      4        22  橘高
      5        36  松本
      6        40  北島
      7        41  長谷川
7 rows in set (0.00 sec)

○カラム名の順番を入れ替えてテーブルの中身を表示させる (sadachi_personal)
mysql> select sada_id, sada_name, sada_id, sada_old from sadachika_shop.sadachi_personal; *sada_idを2回用いて、sada_nameを前に持ってきた。
              ↑1回目  ↑順番入れ替え  ↑2回使用している

sada_id  sada_name  sada_id  sada_old  *2回用いたり、順番が入れ替わっている
      1  佐藤             1        31  
      2  鈴木             2        19  
      3  坂本             3        25  
      4  橘高             4        22  
      5  松本             5        36  
      6  北島             6        40  
      7  長谷川           7        41  
7 rows in set (0.00 sec)

○カラム名を選択してテーブルの中身を表示させる (sadachi_personal)
mysql> select sada_id, sada_name from sadachika_shop.sadachi_personal; *カラムを2項目だけ選んで表示。
sada_id  sada_name
      1  佐藤  
      2  鈴木 
      3  坂本 
      4  橘高
      5  松本
      6  北島 
      7  長谷川
7 rows in set (0.00 sec)



* 参考にしたサイトは→ こちら です。

これは赤色の文字例です。

これは青色の文字例です。