Archives by date

You are browsing the site archives by date.

【MySQL】現在の時刻をコンテクストに合わせた形式で取得する。

関数がストリングで使用されているか、もしくは数値コンテキストで使用されているかによって、
現在の日付を ‘YYYY-MM-DD’ または YYYYMMDD フォーマットの値で返却する。

select curdate();

↓

'1997-12-15'


select curdate() + 0;

↓

19971215

 

【CakePHP2.x】ビューブロックの使い方まる2

使ったことのない方法を使ってみた。

ビュー側にて$this->start(),$this->end()を使ってみる。

<?php $this->start('hoge'); ?>
<div>びゅーぶろっく。</div>
<?php $this->end(); ?>

たとえば上記のようなhogeブロックをビューに記述したとする。
次にこのブロック内($this->end()が宣言されるまで)の内容を出力したいところで、
$this->fetch(‘hoge’)をechoすると内容が出力される。

便利で簡単だね。

 

【GIT】誤って削除したファイルを復元する。

ファイルを消してしまったなら、サーバーから復元すればいいじゃない!

ということで、復元したいファイルがあった場所まで移動して下記コマンドを実行すればOK。

git checkout .

うん。簡単。

 

【CakePHP2.x】アソシエーションの考え方自分用まとめ。

超絶今更シリーズ。

まずは公式より。

+ hasOne (A hasOne B) Aは1つのBを持っている
+ hasMany (A hasMany B) Aは複数のBを持っている
+ belongsTo (B belongsTo A) BはAに従属している
+ hasAndBelongsToMany(HABTM) (A HABTM B) AとBは複数のそれぞれを持っている

最初の3つはいいとして、問題は最後である。
HABTMは多対多の構造上、AとBを結びつけるABテーブルが必要であり、これがbelongsToの部分となる。
よって下記式が成り立つ。

A HABTM B =
(A hasMany AB) and (B hasMany AB) / (AB belongsTo A) and (AB belongsTo B)

ABテーブル内に、AとBの外部キーを保持している形となる。

 

【MySQL】カラムの平均値を求める。

avg()関数を用いる。

select avg(col_name) from table_name

グループ句と組み合わせることも可能

select avg(col_name) from table_name group by hoge

スクリプト言語を通さずに平均値を求めることが可能。

めっちゃ便利。

 

【MySQL】MySQLサーバーの稼働状況を確認する。

ターミナルより下記コマンドで確認可能。

mysqladmin status

パスワード無しじゃダメだよと怒られたら下記のようにする。

mysqladmin status -u [ユーザー名] -p

そしてパスワードを入力すればOK。

すると下記のような結果が得られる。

Uptime: 2330160  Threads: 1  Questions: 1310067  Slow queries: 4  Opens: 10621  Flush tables: 1  Open tables: 57  Queries per second avg: 0.562

各項目の詳細は下記の通り。

Uptime : 起動からの総稼働秒数

Threads : MySQLが使用しているスレッドの数。これと併せて表面上表示されない管理用スレッドがプラス3つ動作している

Questions : 起動時からの総問い合わせ数

Slow queries : スロークエリーと見なす設定時間を越えた問い合わせの数

Opens : 起動してから開かれたテーブルの数

Flush tables : flush、refresh、reloadの実行回数

Open tables : 現時点で開かれているテーブルの数

Queries per second avg : 問い合わせ平均応答秒数

さらに詳しい稼働状況を知りたい場合は下記の通り。

mysqladmin extended-status

上記で得られる情報の詳細は公式を参照されたし。

 

【MySQL】MySQLサーバーが生きているか否かを判定する。

下記コマンドを実行すればOK。

mysqladmin ping

↓

mysqld is alive
# このように表示されれば絶賛稼働中

 

【MySQL】テーブルのカラム一覧をコメントも含め取得する。

めも。

まずは簡単に。

show full columns from [テーブル名];

テーブル情報をINFORMATION_SCHEMAテーブルからごっそり取得したい場合は下記。

select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = [DB名] and TABLE_NAME = [テーブル名] order by TABLE_NAME;