ウィルキンソンの炭酸が抜けていく。

webクリエイターのイロハ

MySQL メモ7 レコードを抽出する

 
データを抽出していくセレクト文を見ていく。
 
データがたくさんあったほうがいいので、新しくいろいろ作った。
 
create table users (
  id int not null primary key auto_increment,
  name varchar(255),
  email varchar(255),
  team enum('blue','red','yellow'),
  score double,
  created datetime
);
 
insert into users (name,email,team,score,created) values 
('taguchi','taguchi@dotinstall.com','blue',5.5,'2012-05-11 11:00:00'),
('fkoji','fkoji@dotinstall.com','yellow',8.2,'2012-06-21 12:00:00'),
('dotinstall','dotinstall@dotinstall.com','red',2.3,'2012-06-21 13:00:00'),
('sasaki','sasaki@dotinstall.jp','blue',4.5,'2012-06-25 14:00:00'),
('kimura','','yellow',7.4,'2012-06-28 15:00:00'),
('tanaka','tanaka@dotinstall.jp','blue',4.2,'2012-06-29 16:00:00');
 
 
複数のデータを一気に挿入したいときは、値のセットを , カンマで区切っていく。
 
 
まずテーブルを作る。
 
 
これを挿入。
 
 
create table users (
  id int not null primary key auto_increment,
  name varchar(255),
  email varchar(255),
  team enum('blue','red','yellow'),
  score double,
  created datetime
);
 
 
 
オッケーが出る。
 
 
次にレコードを入れる。
 
レコードはこの部分。
 
insert into users (name,email,team,score,created) values 
('taguchi','taguchi@dotinstall.com','blue',5.5,'2012-05-11 11:00:00'),
('fkoji','fkoji@dotinstall.com','yellow',8.2,'2012-06-21 12:00:00'),
('dotinstall','dotinstall@dotinstall.com','red',2.3,'2012-06-21 13:00:00'),
('sasaki','sasaki@dotinstall.jp','blue',4.5,'2012-06-25 14:00:00'),
('kimura','','yellow',7.4,'2012-06-28 15:00:00'),
('tanaka','tanaka@dotinstall.jp','blue',4.2,'2012-06-29 16:00:00');
 
 
オッケー六個のレコードが入ったよと言われます。
 
 
全てを見るときは、
 
select * from users;
をうってあげる。
 
 
 
出てきたのがわかります。
 
 
なにをやっているのかというと
select * from users;
 
のselectは抽出しなさいという意味で、
 
* アスタリスクは全てのフィールドを引っ張って来なさいという意味です。
 
どこから?というのが
from users;です。
 
 
ここでは、フィールドを指定することができて、
 
名前とemaiだけ岳引っ張りたいときは
 
select name, email from users;
 
とします。
 
すると
 
name emailを引っ張ってきてくれる。
 
 
 
 
 
 
この場合ならまだましだが、
フィールドが多くなりすぎて、長くなりすぎてわからないな、というときに便利なコマンドがあって、それが、
 
 
select * from users \G
 
 
これを使うといい感じに表示してくれる。
 
 
横長だったのを縦長に表示してくれる。
 
 
 
select * from users \G この場合は ; セミコロンがいらない。
 
フィールドが多すぎる場合に使えます。
 
 
select文はとても奥が深い。