MySQL JOIN 何もつけないと
ただ単にJOINだけだと、INNER JOINです。
デフォルトINNER JOINなんですね~。
データベースへのテーブルとフィールドの設定、とても面倒ではありませんか?
phpMyAdminのようなGUIツールを利用しても、ちまちまと面倒です。
コマンドラインも、もちろん入力項目が多いと面倒ですよね。
また、仕様の決定には顧客環境でも見られて編集できるものとして、Excelで仕様をやり取りすることも多いと思います。
そこで、ExcelからMySQLのコマンド画面への貼り付けができるExcelのテンプレートを作成しました。
下記のリンクから、ダウンロードしてみてください。
MySQLのコマンドが分かる人が利用してくださいね。
MySQLでCSVファイルをインポートする方法と、Windowで行う場合のつまづきやすいポイントを書いておきます。
SQLコマンドは次の通りです。
LOAD DATA INFILE "C:/Users/hogehoge/Documents/My Documents/sample_data.csv" INTO TABLE examination_results FIELDS TERMINATED BY ',' ENCLOSED BY '"'
まぁ、フィールドの数があっていれば、自動的に2行目以降を次のデータとして読み込んでくれるようなので、とりあえずは問題ありません。
CakePHP3 を使い始めたところです。とりあえず、xampp内で使っています。
つまり、Windowsということです。
タイムゾーンの設定で、config/app.php内で
'Datasources' => [ 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'localhost', /** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'non_standard_port_number', 'username' => 'root', 'password' => '***', 'database' => 'hogehoge', 'encoding' => 'utf8', 'timezone' => 'Asia/Tokyo', //後略
と変更したところ、エラー表示となりました。
General error: 1298 Unknown or incorrect time zone: ‘Asia/Tokyo’
出たー。
で、ググったところ、先人たちが
root# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root mysql
と教えてくれています。。。
…で、Windowsは?
実は、下記のページを見ながらもよくわからなかったので、ちょっと手探り状態でやりました。間違ってるかもしれませんので、よくご存じの方は、ご指摘ください。
http://dev.mysql.com/downloads/timezones.html
(その下のファイルでも動くのかも知れませんが、試していません。)
http://dev.mysql.com/downloads/timezones.html
C:\xampp2\mysql\bin>mysql -u root mysql -p < C:\temp\timezone_posix.sql
パスワード聞かれるので、入力。
それで終わりっす。
MySQLで二つの時間の差分をとるTIMEDIFFという関数があります。
//例 TIMEDIFF(NOW(), updated)
>16:40:27
しかし、MySQLのバージョンが4.1のサーバーで、これを複数行に適用すると、
838:59:59
という値が帰ってくるというバグがあるようです。。。
http://bugs.mysql.com/bug.php?id=22529
残念!(古…)
違う関数を使いましょう…。