MotoJapan's Tech-Memo

技術めも

【 位置情報まわりWebサービス 基礎知識4 】 位置情報を活用したプライベートサービス作り④ - DB/Table作成と確認、既存Tableへのカラム追加 -

前回は、cakePHPのDB設定をしたので、今回は実際に、DBを作っていきます。

いまいまはこんな感じです↓

f:id:motojapan:20150503121647p:plain

設定しているのに無いやんけ!状態です。

① DB作成



では、CommandPromptを立ち上げて、MySQLに入ります。

前提:

  • windows環境
  • mysqlのPathを通してある
  • mysql server起動済み(XammpのGuiから起動)


1.1 rootでログイン

mysql -u root

1.2 データベース作成 (前回設定したdatabase.phpのdatabaseと同じものにすること)

mysql> create database database_meal; 


1.3 データベースにパスワードを設定する

mysql> grant all on database_meal.* to dbuser@localhost identified by 'password_meal';

ふぅ、ここまででDBの作成終わりです。
次はtableです。

② Table作成

2.1 databaseを指定

mysql> use database_meal;


2.2 テーブル追加

mysql> create table posts (
 id int not null auto_increment primary key,
 title varchar(256),
 body text,
 created datetime default null,
 modified datetime default null
);

2.3 テーブルへダミーデータの追加

mysql> insert into posts (title, body, created, modified) values
('title 1', 'body 1', now(), now()),
('title 2', 'body 2', now(), now()),
('title 3', 'body 3', now(), now());

③ データを確認

3.1 table構成の確認

mysql> desc posts;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| title    | varchar(256) | YES  |     | NULL    |                |
| body     | text         | YES  |     | NULL    |                |
| created  | datetime     | YES  |     | NULL    |                |
| modified | datetime     | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

3.2 tableのContent確認

mysql> select * from posts;
+----+---------+--------+---------------------+---------------------+
| id | title   | body   | created             | modified            |
+----+---------+--------+---------------------+---------------------+
|  1 | title 1 | body 1 | YYYY-MM-DD HH:MM:SS | YYYY-MM-DD HH:MM:SS |
|  2 | title 2 | body 2 | YYYY-MM-DD HH:MM:SS | YYYY-MM-DD HH:MM:SS |
|  3 | title 3 | body 3 | YYYY-MM-DD HH:MM:SS | YYYY-MM-DD HH:MM:SS |
+----+---------+--------+---------------------+---------------------+


ここで気づきました。
カラムが足りない!!!ので追加します。

4 カラム追加

//住所情報を追加
ALTER TABLE posts ADD address text AFTER body;

//緯度経度情報を追加
ALTER TABLE posts ADD lat DOUBLE AFTER address;
ALTER TABLE posts ADD lon DOUBLE AFTER lat;

何も指定しない場合は、textの追加はnullが突っ込まれる



今日はこんなところで。
次回から数回にわったて、cakePHPフレームワークからDBを呼びしていきたいと思います。量も多くなりそうなので ^^;