フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

XAMPPのPHPからMariaDB(MySQL)を操作する

仕事で、軽量ORMのidiormを使っていて、
こちらの素晴らしい記事をいつも参考にさせていただいております。

PHPの薄いDBライブラリ「Idiorm」を使ってみた
PHPでORM「idiorm」を使えばかんたんにDBを操作できる

ただ、公式ドキュメントなどを調べないとわかない事などもあったため、
調べた内容をまとめておきたいと思います。

where in

<?php
$param = ['山田', '田中', '鈴木'];
$people = ORM::for_table('person')->where_in('name', $param)->find_many();

//実行されるSQL
SELECT * FROM `person` WHERE 'name' IN ('山田', '田中', '鈴木');

where like

<?php
$people = ORM::for_table('person')->where_like('name', '%山田%')->find_many();

//実行されるSQL
SELECT * FROM `person` where 'name' like ('%山田%');

MIN、MAX、SUM、AVG、COUNTなどの関数の利用

<?php
$count = ORM::for_table('person')->min("age");

//実行されるSQL
SELECT MIN(age) AS 'min' FROM `person` LIMIT 1;

同じ要領でMIN、、MAX、SUM、AVGも取得できます。

OFFSET、LIMIT

<?php
$count = ORM::for_table('person')->offset(2)->limit(3)->find_many();

//実行されるSQL
SELECT * FROM `person` LIMIT 3 OFFSET 2;

関数による値の更新

<?php
$person = ORM::for_table('person')->findOne(1);
$person->set_expr('up_date', 'NOW()');
$person->save();

//実行されるSQL
UPDATE `person` SET 'up_date' = NOW() WHERE `id` = 1;

関数による値の並び替え

<?php
$people = ORM::for_table('person')->order_by_expr('LENGTH(`name`)')->find_many();

//実行されるSQL
SELECT * FROM `person` ORDER BY LENGTH(`name`)

idiormで実行したSQLログの確認

<?php
ORM::configure('logging', true);
$sqls = ORM::get_query_log() ;
var_dump($sqls);

まとめ

idiormに慣れるととっても楽です!
でもSQLが書けなくなりそう💦

[紹介元] PHPタグが付けられた新着記事 – Qiita XAMPPのPHPからMariaDB(MySQL)を操作する

コメント

記事に戻る

コメントを残す