MySQLをコマンドで操作する

先週からスマートフォンアプリ案件のテストやドキュメント作成をしています。ず~っとWebアプリ案件に携わってきたので新鮮な気持ちです。
そこで、DBには保存してるけどアプリ側では見る術がなく、テストで確認しないといけない都合上、MySQLのDBをコマンド操作しているため、コマンドの備忘録です。

MySQL :: MySQL 5.6 リファレンスマニュアル
↑日本語リファレンスマニュアル最新?

接続・切断

MySQL :: MySQL 5.6 リファレンスマニュアル :: 3.1 サーバーへの接続とサーバーからの切断

接続

$ mysql -D database -u user -p

※"D"は大文字

Enter password:

上記のように表示されたら、パスワードを入力する。
以下のように表示されたらOK

mysql> 

切断

mysql> QUIT

以下のように表示されたらOK

Bye

SELECTの可読性を上げる

mysql> select * from table1;
+----+-----------+
| id | deleteflg |
+----+-----------+
|  1 | 1         |
|  2 | 1         |
+----+-----------+

このくらいだったらまだ分かるけど、カラムが多いと表示が崩れて可読性が下がる。
そんな時は";"の代わりに"\G"。

mysql> select * from table1\G
*************************** 1. row ***************************
       id: 1
deleteflg: 1
*************************** 2. row ***************************
       id: 2
deleteflg: 1

mysql select 整形』でググってたどり着きました↓
ちょっと変えるだけでMySQLの検索結果が格段に見やすくなる方法 | アイビースター

テーブルに関する情報の取得

MySQL :: MySQL 5.6 リファレンスマニュアル :: 3.4 データベースとテーブルに関する情報の取得

データベースのテーブル名リスト取得

mysql> SHOW TABLES;
+----------------------------------+
| Tables_in_database               |
+----------------------------------+
| table1                           |
| table2                           |
+----------------------------------+
2 rows in set (0.01 sec)

テーブル情報取得

mysql> DESCRIBE table1;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| id        | int(11)     | NO   | PRI | NULL    | auto_increment |
| deleteflg | char(1)     | NO   |     | 0       |                |
+-----------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

インデックス情報取得

これは前にWebアプリ案件でOracleSQLチューニング(インデックスとかヒント句とか)を依頼されたけど、知識のなさと試せる環境になかった(定義のドキュメントしかなかった)のとで、後から大幅修正されてたことが悔しくて、チューニング周りをいつかちゃんと習得したくて書きました。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5.23 SHOW INDEX 構文

mysql> SHOW INDEX FROM table1;
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| table1 |          0 | PRIMARY  |            1 | id          | A         |          24 |     NULL | NULL   |      | BTREE      |         |               |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 rows in set (0.00 sec)

それにしてもdeleteflg="1"のレコードがinsertされてることを不思議に思って、製造者に確認したら、これどうも"予約"らしい。
"deleteflg"より"state"の方がいいのでは?とも思ったし、開始日時・終了日時登録されてるからこのカラムそのものもいらないのでは?と思った。(上記の例で出したテーブルはもっとカラムあるけど、ブログ用に省略してある)
まあ確かにこちらのお客様の別アプリ案件でもそんなDB設計だった覚えはあるけど、まさかそれが引き継がれているとは…と悲しい気持ちになった。
DB設計も勉強したいことのひとつではある。勉強したいことは多いのだが、最近どうもメンタルが弱って何もできていない。まずは早く心身ともに元気になりたい…

はじめてのしゅっちょう in Tokyo ~暮らし編~

1か月半ほど東京に滞在しておりました。
得た知見をまとめておきます。




■仕事
□昼食
外食は1回で嫌になりました。
スーパーかコンビニで事前に買って、持ち込んで出社するようにしました。

まず昼休みに出遅れるとエレベーターに乗れないんですよ。最上階ならともかく、途中の階だと。
で、建物から出られても、周辺のお店はどこもかしこも混雑してて。コンビニもレジが混雑してて並ぶし。

東京で弁当配達とかストック惣菜とか無人コンビニとか、そういうサービスが出てくる理由がよく分かりました。



■生活
・気温の上下が激しかった。
 秋物しか持ってきてないのに、夏や冬の気温が交互にきて困った。

・雨が多かった。
 秋晴れのイメージが…10月は記録的に雨が多かった - ウェザーニュース
 キャリーバッグを持って移動する日に雨が降らなかったのはラッキーでした。

・ゴミの分別に迷うことが多く、区のPDFのページを確認してから捨てるようにしてました。

テレビ東京TOKYO MXが映る!(地元では映らない)
 Twitterで話題になってた池上彰の選挙スペシャルも見ることができた。キレキレでした。あとプロフィール面白かったw


□交通
f:id:PET_HAL:20171216222400j:plain
うむ。

メトロとかJRとか正直よく分かってない。

GoogleMapのお世話になりっぱなしでした。
プラスSuicaがあれば乗り継ぎもなんとかなった。

駅の中は案内表示に従えばなんとかなることが多かった。
ならない時は駅員さんに聞いてなんとかした。

通勤では使いたくないなと思いました…。
(早めに退社できて出かけるために乗った時、すごく混雑してたから)

ただ、交通の充実は本当にすごくて、休日の観光の選択肢はめちゃくちゃ多かった。




人生で初めての東京でした。
とにかく人が多くて、これに慣れるまでが大変でした。

『エラスティックリーダーシップ』を読んで思ったこと

『エラスティックリーダーシップ』を読み終えた。

www.oreilly.co.jp


なぜ読んだのか

書評記事を読んで気になったから。
私は2014新卒入社で、4年目のSE。リーダーやマネジメントをしているわけでもない。
それでも、働き始めてから、個々人のプログラミング力と同じくらい、いや、それ以上に、チームの一員として・プロジェクトのメンバーとして動くことの重要性に気づいた。
それから、チーム・リーダー・マネジメントといった分野に興味を持つようになった。

そんな矢先に、この『エラスティックリーダーシップ』の書評記事に出会い、購入に至った。


箇条書き感想

  • 難しい内容で、理解が及ばないところが多かった。ただ、チームの状態というのは変化するもので、その状態に合わせたリーダーシップを発揮する必要があるということは強くうなずけた。本書の話を踏まえると、指導本もサバイバルモード向けか学習モード向けか自己組織化向けかカテゴライズできそう。
  • この本を読んで、私がどことなく感じていた不満のひとつは、チームの状態がサバイバルモードではないのに、指揮統制リーダーシップをとられていることだと気づいた。
  • コミットメント言語の実践は難しいなと思ったが、確かに宣言通りにできなかった場合、問題があるのは明確なので、学習フェーズの取り組みとしては良さそう。
  • バス因子も頷ける話だった。バス因子当人が自分にしかできない仕事ということで意義を感じてたら最悪のバス因子。
  • 成長を考えると、安全地帯の外に出て、不快感を感じながら取り組むことも必要。必要性は分かるが、不快感の与え方が難しそう…。学習モードのリーダーシップの見せ所。
  • クリアリングミーティングはできれば効果がありそうだけど、これも難しそう。
  • 後半のエッセイ集、自分の3つ上の人(29)が著者にいて驚愕。
  • 「うまくいったらどうなるの?(44章)」「問題の認識と、認識した問題への解決策。本当に適切か?(46章)」を考えるようにしたい。
  • 今回、記事を書くにあたって、他の読者がどう思っているのか拝見させていただいたなかで、この記事で紹介されていた「TeamGeek」という本が気になった。HRTも知らなかったので、読んでみたいと思う。

「PHPカンファレンス2017」に行ってきました #phpcon2017

はい。書きます。

2017年10月8日に「PHPカンファレンス2017」に行ってきました。
地元や隣県の勉強会・セミナーへ行くことはありましたが、東京は今回が初めてでした。

f:id:PET_HAL:20171213233105j:plain


ACCESS

会場は大田区産業プラザPiOでした。
交通アクセス|大田区産業プラザPiO
上記のURLに京急蒲田駅からの道のりが写真付で掲載されていたので、スムーズにたどり着けました。

今回、ノートPCは持って行きませんでした。事前に調べたら、会場のWi-Fiが事前申請式だったので。
【参考】よくあるご質問|大田区産業プラザPiO
ただ、行ってみたらスポンサー企業さんの提供でWi-Fiが利用できたので、ノートPCを持って行ってもよかったかなと思いました。手元で資料見つつ、関連URL探しつつ、見つけたらtweetしつつ、セッションを聞いた方が、あとから振り返った時に思い出しやすいんですよね。


SESSION

11:00- OpenID Connectを通じてWebアプリケーション技術とPHPによる実装を学ぼう

YoutubeJapan PHP Conference Track3 (1) - OpenID Connectを通じてWebアプリケーション技術とPHPによる実装を学ぼう - YouTube




13:00- 型を意識したPHPアプリケーション開発

【資料】型を意識したPHPアプリケーション開発 - Speaker Deck








14:10- 著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則

【資料】著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則








15:20- ここで差がつくエラー処理

【資料】http://niconare.nicovideo.jp/watch/kn2630
聴講者が多かったため、別室でのサテライト聴講でした。



LT

…のインパクトが大きすぎましたw


その他

スタンプラリー

昼休憩でスタンプラリーしてきました。
スタンプは全部で25個。
スタンプ5個につき、くじ1枚。
スタンプコンプリートしたのでくじ5枚引けました。…が全部ハズレでした。ざーんねん。
企業ブースをまわるっていうのはうまいシステムだな~と思いました。


サイン会

下記2冊にサインしていただきました。ありがとうございます。

  • 徳丸浩のWebセキュリティ教室

日付を入れていただけたのが嬉しい

  • わかばちゃんと学ぶGit使い方入門

名前を入れていただけたのが嬉しい

急遽t_wadaさんのサイン会もあったようです。
SQLアンチパターンはすでに持っていたため、見送りました…


ACCESS(余談)

そもそも東京に来たこと自体が初めてで、会場への行き方が分からず。
開場時間に間に合うように出発したはずが、会場に到着したのが10時20分頃でした。


乗り場が分からなくて迷ったり、乗り間違えて引き返したりしました。
最終的に、駅員さんに「京急蒲田駅に行くにはどれに乗ればいいですか?」と訪ねて京急蒲田駅までたどり着きました。
反対ホームに移動した後、移動先の駅員さんにも伝えていただいたようで、乗り換えなしでいけるものを改めて調べていただきました。
本当にありがとうございました。


感想

はじめての東京の勉強会でした。
懇親会は参加しませんでした。行きで乗り間違えたのもあり、暗闇の中帰れる自信がありませんでした。
# 駅まではなんとかなったものの、帰りも結局乗り場が分からなくてめちゃくちゃ彷徨った
1700人が参加する勉強会、その規模の大きさに驚きました。
そしてどことなく、数年前の新卒就活イベントを思い出しました。
参加している女性の数も多かったです。地元・隣県の勉強会だと女性は数名くらいしか見かけないので、これも驚きました。

開発環境がどの言語も思考停止eclipseマンなので、PHPの開発環境のスタンダードが気になっていました。
この日聴講したセッションやLTだけだとphpstormが多いのかなという印象でした。

あと、PHP7へのバージョンアップやPHP7でできるようになったことといったセッションが人気なのかな?と感じました。

この休み明けから東京で仕事だったので、会社にお願いして一足早く東京入りさせていただき、PHPカンファレンス2017に足を運ぶことができました。ありがとうございました。
東京の勉強会はすごかった!
運営スタッフの皆様、スポンサーの皆様、発表者の皆様、参加者の皆様、お疲れ様でした。

「 #技術書典3」に行ってきました

f:id:PET_HAL:20171213011052j:plain
今日から君は技術書典だ!

はい。

2017年10月22日に「技術書典3」に行ってきました。
一般参加です。

東京出張中に行けそうなIT系イベントを検索して見つけました。
秋葉原は行ったことなかったしちょうどいいかも!ってことで行くことにしました。

技術書典とは

・技術系同人誌即売会
・技術書版コミケ
・出版社企業ブースでは技術書がお安く買えたり一般書店では販売してない技術書やグッズが買えたりしちゃう

当日は台風直撃寸前のため、大雨でした。
本を買うには不向き過ぎ…。

秋葉原を歩いていると人だかりができていたのでここが会場か?と思ったら、FFのイベントでした。

アキバ・スクエアはどこだ~~~?

f:id:PET_HAL:20171213011124j:plain
ここか!GoogleMapの導きで会場着。
列ができてた。整理券配布はまだの模様。

ということで、先にゲーセン行脚すべく目の前のレジャラン2号店へ。
音ゲーで遊んでから再度アキバ・スクエアへ。

f:id:PET_HAL:20171213011148j:plain
整理券番号573でワロタ。
# K○NAMIの音ゲーメインで遊んでるがゆえに

謎の透明判子を手の甲に押される。
どうやら光を当てると浮かび上がるシロモノらしい。
諸々対策かな?


PaSoRiを買うために電気街へ行くつもりでした。
迷ってるうちに1000番まで入場可能になっていたので、引き返して三度アキバ・スクエアへ。

公式サイトで各サークルの頒布物案内には目を通していたのですが、リストを作っていませんでした。
そのため、サークル主と売り子でわいわい会話してたり、スマホとにらめっこしてたりしているサークルはスルー率高かったです。

見本誌見せてほしいと言ったつもりが、買うと勘違いされることが多々ありました。申し訳なかったです。

各スペースで見本誌を見せていただいたり、質問してギャップがないか確認したりしてから買いました。
それでも思った以上にたくさん買ってしまったため、電子版があれば電子版だけ購入してました。
だって出張の荷物+大量の技術書を持ち帰るのは大変なんですもん…。不思議そうな顔をされましたが、気にしない。
# 戦利品は後日先行して宅配で自宅に送りました

私はiPhoneユーザのため、今回Android向けに用意されていた決済アプリは利用できませんでした。利用できていたらもっと買ってしまっていたかも。

会場を何周もまわりながら買い物

戦利品会場でコーヒーを飲みつつ戦利品を確認

立ち読み会場でのんびりと立ち読み

…と思った以上に長居してましたが、立ち読みは最初にすべきだったなと書いてて思いました。

自宅に送った戦利品が手つかずで積読状態なので、年末年始で崩したいなあと思ってます。

運営スタッフの皆様、サークル・一般参加者の皆様、お疲れ様でした。

「JAWS FESTA 中四国 2017 in 愛媛松山」に行ってきました #jawsfesta

2017年11月4日に、「JAWS FESTA 中四国 2017 in 愛媛松山」に行ってきました。

JAWS FESTA 2017

http://ascii.jp/elem/000/001/581/1581605/

JAWS FESTA 2017 まとめ #jawsfesta #jawsug - Togetter
【自分用まとめ】JAWS FESTA 中四国 2017 in 愛媛松山 #jawsfesta - Togetter

今回の会場は愛媛大学総合情報メディアセンター。
オープンセミナー2017@愛媛でも来ていたはずなんですが、まっすぐたどり着けませんでした。
大学内を彷徨ってました。

朝起きれなかった上に、野暮用を済ませてからの会場入りとなったため、14時頃受付到着という体たらく。

f:id:PET_HAL:20171105020203j:plain

ノートPCは持参せず。
スマホtwitter実況。
Wi-FiえひめFreeWi-Fiを利用しました。

14:25- (島根)CMS開発者+データセンターエンジニア=なぜかAWSでdevOpsに取り組み始めた



15:00- [サポーターセッション]アールスリーインスティテュート

【資料】アールスリーのトガりかた/jawsfesta2017-chushikoku - Speaker Deck


15:20- (Agile459)地方コミュニティが直面する課題と未来のビジョンとは?




15:55- [サポーターセッション]サイボウズ株式会社


休憩



17:10- [パネルディスカッション]クラウドとコミュニティを活用したこれからの働き方



リモートワークでのコミュニケーション、各社様々な工夫をしていらっしゃるのだなあと思いました。




感想

実はAWS使ったことがないし、クラウドもよく分かってない。
けど、この日愛媛・松山に居たしせっかくだからという感じでふらっと行きました。
愛媛で開催されたこの規模のイベントに参加したのは初めてでした。
地方コミュニティが抱えている問題については思うところもありました。



勉強会やセミナーはほとんどぼっちで行ってます。
参加地域は愛媛・広島です。
LTや懇親会参加はしていません。
今はTogetterでまとめを作ることと、参加エントリを書くことを心がけています。ブログを書くまでが勉強会ということで…。
JAWS FESTAに足を運ぶことができてよかったです。ありがとうございます!
運営スタッフの皆様、スポンサーの皆様、発表者の皆様、参加者の皆様、お疲れ様でした。

「オープンソースカンファレンス2017Hiroshima」へ行ってきました #osc17hi

2017年11月26日、「オープンソースカンファレンス2017Hiroshima」へ行ってきました。
昨年以来、2回目の参加。

オープンソースカンファレンス2017 Hiroshima - オープンソースの文化祭!

[広島] 第2回 OSCサミット@広島 & オープンソースカンファレンス2017 Hiroshima #osc17hi - Togetter
【自分用まとめ】オープンソースカンファレンス2017Hiroshima #osc17hi - Togetter

友人とツバイG線で午前のセミナーをチェックしつつモーニング。
私はサンドモーニングをオーダー。
すっきりしたコーヒーが飲みやすかった。サイフォンいいね!
次は手作りパンのボローニャモーニングを食べてみたい。

その後、会場のサテライトキャンパスひろしまへ。
f:id:PET_HAL:20171127235307j:plain

そして、受付を済ませてセミナー講義室へ。
ノートPCは持参していたのですが、講義室移動の度にコンセント席を確保するのが面倒だったのと、Wi-Fi環境が用意されていたのか把握していなかったため、スマホで実況ツイートを投稿する形式にしました。

10:00-10:45 オープンソースライセンス理解のための法務知財部門向けのIT用語解説ドキュメントについて

【資料】非公開
開発者と非開発者のギャップを埋めるための、非開発者向け開発者用語解説ドキュメント作成の取り組みについてのご紹介。



↑ググってみたところ、とあるオープンソースライセンスに関連のある話のようでしたが、理解は及ばず


11:00-11:45 中国電力におけるOSSへの取り組みについて

【資料】非公開
コスト削減とベンダー依存脱却という結果を得た中国電力さんの、OSS活用談。




12時台のセミナーは受講せず、昼食タイム。
前日から口にしていなかった米が食べたいという私のオーダーと、久々に大戸屋行きたいという友人のリクエストが合致し、大戸屋へ。
カキフライ定食をもぐもぐしつつ、午後のセミナーをチェック。
そして大戸屋をあとにし、再度サテライトキャンパスひろしまへ。

アンケートくじをこのタイミングで引きました。
結果は…お菓子取り放題でした。
Tシャツ欲しかった(強欲)

13:00-13:45 複数のWebサイトを1システムで、1つのWebサイトを複数の部署で運用する場合に最適なオープンソースCMS「SHIRASAGI(シラサギ)」

【資料】https://www.slideshare.net/naokazunohara/osc2017-82819158
四国の人間なので、四国の会社さんがとっても気になる私です。
タイトルだけ見たとき、どこターゲットの製品か想像できなかったんですが、都道府県などの自治体と聞いて納得しました。


オープンソースライセンスではいちばん多いという話が10時台のセミナーで出ていたことを受けてのツイート


14時台のセミナーは受講せず。
前日閉店時間が過ぎてしまったために行けなかった店で、買い物してました。
買い物と野暮用を済ませ、三度サテライトキャンパスひろしまへ。

15:15-16:00 今さら聞けない人のためのDevOps超入門

【資料】https://www.slideshare.net/VirtualTech-JP/devops-71567926



↑動機が不純(乂`д´)
↑先の中国電力さんの件もそうだけど、まずGOサインが出るかどうかはホントこれ


16:10-16:55 メジャーバージョンアップしたPostgreSQL10の機能紹介

【資料】https://www.slideshare.net/noriyoshishinoda/postgresql-10-new-features-osc-hiroshima-2017


↑これでした↓
RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!

最後のLT&閉会式、懇親会は参加せず。

連日の睡眠不足が祟ったのか、実は本調子ではありませんでした。
翌日の仕事も考慮して、早めに地元へ引き上げることにしました。

f:id:PET_HAL:20171128000927j:plain
もうすっかりクリスマスモード。

路面電車での移動中はポケモンGOを起動して、ガルーラ捕獲にいそしんでました。2匹捕まえました!

帰りの移動中にもTwitterハッシュタグを検索してウォッチしてましたが、今回は香川の学生さんがたくさんLT参加していたそうで。
私がこういったセミナー・勉強会に行き始めたのは社会人になってからだし、LT参加はしたことがないんです。懇親会も1回だけ。
だから、学生のうちから、LT参加するのはとても素晴らしいなあと思ったし、尊敬します。
とあるTogetterまとめでも見ましたが、探せばいくらでも尊敬できる方はいらっしゃいますよね。それを痛感させられました。

私事ですが、ここ2.5か月ほど出張先と地元を行ったり来たりする生活をしていました。OSC2017広島の10日くらい前にようやく落ち着いたところでした。
時期と滞在先がちょうど重なったので、PHPカンファレンス2017や技術書典3、JAWS FESTAにも行っていたのですが、すべてまだ記事が書けていません。
セミナー・勉強会にはもう何度も行ったので、次の段階へ進む時なのかなあと思っています。やりたい!という気持ちと勇気が出れば。
しかし、セミナー・勉強会の開催は減る時期。
まずは、出張生活でおろそかになっていたInput/Outputの時間を増やそうと思います。

本年もOSC広島に足を運ぶことができてよかったです。ありがとうございます!
運営スタッフの皆様、スポンサーの皆様、発表者の皆様、参加者の皆様、お疲れ様でした。