phpmyadminとかworkbenchとか
操作を簡単にしてくれるツールは割りとありますが、
コード書くときにはクエリをある程度手書きできた方がラクだと思います。
なので割りと簡単なmysqlのクエリの例を書いていきたいと思います。
INDEX
基本的な事
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 |
という結果になります。