メシのタネ

めしのたねになるIT情報配信サイト


【MySQL】select構文

,

  1. DB
  2. 【MySQL】select構文

PPC_NCsenbannopaneru

phpmyadminとかworkbenchとか
操作を簡単にしてくれるツールは割りとありますが、
コード書くときにはクエリをある程度手書きできた方がラクだと思います。
なので割りと簡単なmysqlのクエリの例を書いていきたいと思います。

基本的な事

Mysqlはデータをテーブル状にして返してきます。
Excelの表を思い出して貰えると分かりやすいかも知れません。

1行目の列の値の事を、カラムと呼んだり、項目と呼んだりします。
これはその行のタイトルを意味する場合が多いです。
2行目以降の中にある値の事をフィールドと呼んだり、値と呼んだりします。

で、これらが合わさったものテーブルと呼びます。

Aテーブル
A項目|B項目|C項目
A値 |B値 |C値
A値 |B値 |C値

テーブルのイメージはそんな感じです。

Mysqlへのログイン

Mysqlへのログイン方法


mysql -u user -p

-uと-pの間にユーザー名を入れます。
-pの後にDB名を入れると、DBを選択した状態で
mysqlにログインできます。

DBを選択する

DBを選択せずにDBにログインした場、DBを選択した方が
クエリ書くたびにDB名まで引っ付けて書かなくて良いのでラクです。
だからDBを選択しましょう。


use database;
//useの後に半角スペースを空けてデータベース名を入力します。

DB名が分からない場合


show databases;

こう書けば、DBの名前の一覧が出てくるので、
すきなの見つけてuseしてください。
大文字でも小文字でも良いです。僕の環境では。
無理だったら大文字で書いてみてください。

SELECT構文

DBはテーブル状にしてデータを返してきます。

Aテーブル
A項目|B項目|C項目
A値 |B値 |C値
A値 |B値 |C値

こんな感じに返してきます。
で、これをどういう風に返してくれって命令するのは操作する人です。
操作する人がする命令をクエリといいます。

とりあえず、SELECTで項目名を指定します。


select 1+1;

って打つと多分こうなります。

1+1|
2

項目を複数つくりたいならこうします。


select 1+1,2+2,3+3;

結果は実行してみて下さい。

名前の変更

これを試しにPHPでとってくると

[1+1] => [2]
[2+2] => [4]
[3+3] => [6]

みたいなデータで来ると思います。
とりあえず、名前がこれだと意味不明だよ!名前の変更がしたいよ!
って事が言いたいので、さっきのクエリを実際PHPでは取得してないです。

すんません!

なのでとりあえず、1+1じゃなくて、clacABCとかって名前にします。

     
select 1+1 as CalcA, 2+2 as CalcB, 3+3 as CalcC;

こういう風に名前を変えると分かりやすくなりますね。
こうやって名前を分かりやすく変えるのを抽象化って言うみたいですよ。

CalcA|CalcB|CalcC
2 |4 |6

こんな感じになると思います。

カラムを連結したい場合

エクセルのセルの結合は、DBでは連結って言います。
結合っていうと、またちょっと違う意味になりますが、
今日はかけません。ごめんなさい。

さっきのselectで書いた奴を連結したい場合は
こういう風に書きます。


select concat( 1 +1, 2 +2, 3 +3 ) as connect

ただ、これはカラムを結合するだけなので、2+4+6の計算結果を表示してくれません。
よって、このクエリの結果は

connect |
246 |

という結果になります。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみたNew!!
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体New!!
Laravel
LaravelのサービスコンテナとDI、「書いてるだけで動く」コードの正体New!!
Laravel
Laravelのアーキテクチャ、実は誰もわかってない説New!!
ガジェット
【解説】Bluetoothヘッドホンでマイクが使えない理由と回避策まとめ(Mac対応)New!!
Laravel
Laravel Collection入門: mapとeachの違い、ちゃんと説明できますか?