カラムに格納された値を表示させる時、
順番を入れ替えたり、項目を選んだりする練習を行なった。 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)
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。