LINE bot作ってみた詳細④〜MySQL
さて、前回まで一応LINE botをWebサーバ上で動かせるようになりました。
今回は、botと連携するデータベース、MySQLの部分です。
・MySQLってなんでしょう?
それはこんな感じ。
(いきなりまるっと引用なのは、下記サイトがわかりやすいからであって、
手抜きなわけではないですよ、決して。
それっぽい言葉で言うと、リレーショナルデータベースの一種ですね。
まぁ私もよくわかってませんが、、
「プログラムに都合がいい、エクセルのすごいやつ」
くらいの感覚でいます。
正しいかどうかは知りません。
・mySQLを導入
こちらを参考にmySQLのセットアップしました。
スムーズにいけば簡単なんででしょうけども。
私の場合、最初にmySQLインストールする時、なぜかビール飲みながらやってて、そこそこ酔っ払ってたんですよ。
で、途中までやったところで面倒くさくなって寝ちゃったんですね。
後日、続きからやろうとしたんですが、どこまでどう設定されてるのかわからない。。
⇛しょうがない、一度アンインストールしてやり直すか、、と思ったけど、macのターミナルの操作も若干覚束ないので、今度はmySQL関連のファイルを全部消すのに一苦労。
全部消したつもりでインストールすると、なんかゴミが残っててうまく再インストールできないんですね。
いやー、大変でしたね。うん。。。
・mySQL使ってみる。
$/hozonbasho/mysql -u root -p
$Enter password:
$ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
あれ、入れん。。。
と思ったら、そもそもmySQL起動してなかった。
起動してからログインしましょう。(当たり前すぎる
/hosonbasho/mysql.server start
よし、後は書くだけだ。一気に行きます。
mysql> show databases; //今あるデータベースを確認 +--------------------+ | Database | +--------------------+ | information_schema | | music | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) mysql> CREATE DATABASE testtest; //データベースを新しく作る。 Query OK, 1 row affected (0.00 sec) mysql> show databases; //テーブルが正しく出来たか確認 +--------------------+ | Database | +--------------------+ | information_schema | | music | | mysql | | performance_schema | | sys | | testtest | //これ! できてた。 +--------------------+ 6 rows in set (0.00 sec) mysql> use testtest; //使うデータベースを選ぶ Database changed //変わった mysql> show tables; //選んだデータベースにあるテーブルを表示 Empty set (0.00 sec) //出来たてデータベースなので、まだテーブルはない。 mysql> CREATE TABLE `instrument` ( //テーブルを新規作成 -> `id` int(10) unsigned NOT NULL AUTO_INCREMENT, //カラム一つ目。id。 -> `name` varchar(64) DEFAULT NULL, //カラム一つ目。名前。 -> `char1` varchar(64) DEFAULT NULL, //カラム三つ目。特徴。 -> PRIMARY KEY (`id`) //おまじない。 -> ); // )で閉じて;付けて終わり。 Query OK, 0 rows affected (0.02 sec) //通った。 mysql> show tables; //もう1回テーブル表示。 +--------------------+ | Tables_in_testtest | +--------------------+ | instrument | //出来てた。 +--------------------+ 1 row in set (0.00 sec) mysql> show columns from instrument; //ちゃんと指定したカラムできてるか見てみる。 +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(64) | YES | | NULL | | | char1 | varchar(64) | YES | | NULL | | //出来てた。 +-------+------------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) //////////以下べらべらとデータ入れてく。/////////////////// mysql> insert into instrument values( 1,"violin","一番小さな弦楽器"); Query OK, 1 row affected (0.01 sec) mysql> insert into instrument values( 2,"viola","ヴァイオリンよりちょっと小さい"); Query OK, 1 row affected (0.00 sec) mysql> insert into instrument values( 3,"cello","座って弾く弦楽器"); Query OK, 1 row affected (0.00 sec) mysql> insert into instrument values( 4,"contrabass","一番巨大な弦楽器"); Query OK, 1 row affected (0.00 sec) /////////////とりあえず入れ終わった/////////////////// mysql> SELECT * FROM instrument; //作ったテーブルの中を見てみる。 +----+------------+-----------------------------------------------+ | id | name | char1 | +----+------------+-----------------------------------------------+ | 1 | violin | 一番小さな弦楽器 | | 2 | viola | ヴァイオリンよりちょっと小さい | | 3 | cello | 座って弾く弦楽器 | | 4 | contrabass | 一番巨大な弦楽器 | +----+------------+-----------------------------------------------+ 4 rows in set (0.00 sec) //ちゃんと出来てた。
こんな感じです。
慣れればかなりべらべら書けそう。
ということで、今回はここまで!
次回は、heroku上のLINE bot とmySQLを連携させます。