-
PHPで小数点以下2桁を表示する方法|number_format()関数の使い方を解説
PHPで数値を小数点以下2桁に整形して表示したい場合、number_format() 関数を使うのが最も簡単な方法です。この記事では、具体的なコード例とともに、number_format() の基本的な使い方をわかりやすく解説します。number_format()とはnumber_format() は、数値を指定した小数点以下の桁数で四捨五入し、読みやすい形式の文字列として返すPHPの組み込み関数です。金額や平均値などの表示によく使われます。基本的な構文は次のとおりです。number_format(数値, 小数点以下の桁数);実装手順まず、サンプルとして2つの変数を宣言し、初期化します。片方は
-
MySQLで「A」で始まる名前を検索する方法|LIKE句の基本と実例
MySQLで特定の文字(この場合は「A」)で始まる名前を検索したい場合、LIKE演算子を使用します。ワイルドカード「%」と組み合わせることで、前方一致検索が簡単に実現できます。基本構文以下のようにLIKE句を使って検索します。SELECT * FROM テーブル名 WHERE カラム名 LIKE A%;「%」は任意の文字列にマッチするワイルドカードです。「A%」と指定することで、「A」から始まるすべての値が抽出されます。実際に試してみよう1. テーブルを作成するまずはサンプル用のテーブルを作成します。mysql> create table DemoTable ( Stud
-
MySQLでUNION内のSELECT順序を保持するには?CASE文を使った代替手法
UNIONの代わりにCASE文を使う MySQLで複数の条件ごとに並び順を変えたい場合、UNIONを使うと全体の順序が意図通りにならないことがあります。そんなときは、CASE文をORDER BY句と組み合わせるのがおすすめです。UNIONに頼らず、1つのクエリで柔軟なソートを実現できます。 サンプルテーブルの作成 まず、デモ用のテーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime ); Q
-
MySQLストアドプロシージャでIF ELSEを使った条件付きクエリを実装する方法
ストアドプロシージャで条件付きMySQLクエリを実装するMySQLで条件付きのクエリを実行したい場合、ストアドプロシージャ内でIF ELSE構文を活用するのが効果的です。本記事では、実際にテーブルを作成し、条件によって異なるテーブルを参照するストアドプロシージャの作成手順を、具体例とともにわかりやすく解説します。1. 最初のテーブルを作成するまずはサンプル用のテーブル「DemoTable1」を作成しましょう。mysql> create table DemoTable1 ( Id int ); Query OK, 0 rows affected (0.62 sec)
-
MySQLで特定のユーザーによるスキーマへのアクセスを禁止する方法
MySQLで特定のスキーマへのアクセスを制限する手順 特定のユーザーが特定のスキーマ(データベース)にアクセスできないようにするには、DELETEコマンドを使って権限情報を削除します。基本となる構文は以下の通りです。 DELETE FROM mysql.db WHERE Db IN(yourSpecificSchema,yourSpecificSchema\_%) AND User = yourUserName AND Host = yourHostName; それでは、この構文を実際に使って、ユーザーの特定スキーマへのアクセスを禁止してみましょう。まずはじめに、mysql.userテ
-
【MySQL】正規表現(REGEXP)で特定のパターンに一致するデータを検索する方法
MySQLで正規表現を使って特定パターンのデータを検索する方法 MySQLでは、REGEXP演算子(正規表現)を使用することで、特定のパターンに一致するレコードを簡単に検索できます。ここでは、サンプルテーブルを作成し、「英数字4文字-英数字3文字-英数字1文字」というパターンで検索する手順を解説します。 1. サンプルテーブルの作成 まず、検索対象となるテーブルを作成しましょう。 mysql> create table DemoTable ( UserId varchar(100) &nbs
-
【MySQL】テーブルの主キーを自動インクリメント(AUTO_INCREMENT)に設定する方法
MySQLのテーブルで主キー(プライマリーキー)を自動インクリメント(自動採番)に設定するには、AUTO_INCREMENT 属性を使用します。以下が基本の構文です。 CREATE TABLE yourTableName ( yourColumnName INT(6) ZEROFILL NOT NULL AUTO_INCREMENT, PRIMARY KEY(yourColumnName) ); AUTO_INCREMENT を指定したカラムには、レコードを挿入するたびに自動的に1ずつ増加する連番が割り当てられます。この属性は整数型のカラムにのみ使用可能で、
-
MySQLで特定の月と年のレコードを抽出する方法(YEAR()・MONTH()関数の使い方)
はじめにMySQLで特定の月と年に該当するレコードだけを取り出したい場合は、YEAR() 関数と MONTH() 関数を組み合わせて使用します。これらの関数は、日付型のカラムからそれぞれ「年」と「月」を数値として抽出できるため、WHERE句での条件指定に非常に便利です。本記事では、実際にテーブルを作成し、データを挿入してから、特定の年月のレコードを抽出するまでの手順を順番に解説します。1. サンプルテーブルの作成まず、顧客の購入情報を管理するテーブルを作成します。顧客ID、顧客名、請求額、購入日を持つシンプルな構造です。mysql> create table DemoTable
-
MySQLのSELECT文でカラムの値とデータ型を同時に表示する方法
MySQLでは、INFORMATION_SCHEMA.COLUMNSを利用することで、SELECT文の結果にカラムの値とともにそのデータ型を別の列として表示できます。この記事では、テーブル作成からクエリ実行までの具体的な手順をサンプルコード付きで解説します。 サンプルテーブルを作成する まず、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  
-
MySQLでカラムのデータ型をDATE型からDATETIME型に変更する方法
MySQLでテーブルのカラムのデータ型をDATE型からDATETIME型に変更したい場合は、ALTER TABLE文のCHANGE句を使用します。これにより、日付のみを格納していたカラムに時刻情報も保存できるようになり、既存のデータはそのまま引き継がれます。 サンプルテーブルの作成 まず、変更対象となるテーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, LoginDate date ); Query OK, 0 rows aff
-
MySQLでCOUNTを使ったSELECT文の実行方法を徹底解説
MySQLでSELECT文とCOUNTを組み合わせてデータ件数を集計したい場合は、集計関数であるCOUNT()を使用します。さらにGROUP BY句と組み合わせることで、グループごとのレコード数を簡単に取得できます。この記事では、実際にテーブルを作成し、COUNT()を使った集計クエリの実行手順をサンプルコード付きで順を追って解説します。1. サンプルテーブルを作成するまずは、動作確認用のテーブルを作成しましょう。以下のSQLでは、Id・Name・Subjectの3つのカラムを持つ「DemoTable」を作成しています。mysql> create table DemoTable
-
MySQLストアドプロシージャでレコード更新時も変数値を保持する方法
MySQLのストアドプロシージャでは、変数への値の格納方法を誤ると、テーブルをUPDATEするたびに変数の中身まで書き換わってしまうことがあります。この記事では、その原因を具体的なサンプルコードで確認し、更新前の値を保持し続けるための正しい実装方法を解説します。 準備:サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int ); Query OK, 0 rows affe
-
MySQLで特定の行を選択する方法:FIND_IN_SET関数の使い方を実例付きで解説
MySQLでカンマ区切りの値が格納された列から、特定の値を含む行だけを抽出したい場合があります。そのようなときに便利なのが FIND_IN_SET() 関数です。この記事では、実際にテーブルを作成しながら、FIND_IN_SET() を使って特定の行を選択する方法を順を追って解説します。 FIND_IN_SET() 関数とは FIND_IN_SET() は、第2引数に指定したカンマ区切りの文字列リストの中に、第1引数の値が含まれているかどうかを調べる関数です。値が見つかった場合はその位置(1から始まる番号)を返し、見つからない場合は 0 を返します。この特性を利用することで、WHERE句と組み
-
MySQLで正規表現とCASE文を組み合わせてORDER BY句による並べ替えを行う方法
正規表現とCASE文を組み合わせた並べ替えとはMySQLでは、正規表現(REGEXP)をCASE文と組み合わせることで、英字と数値が混在するカラムを柔軟に並べ替えることができます。ここでは、実際にテーブルを作成して動作を確認してみましょう。まず、サンプル用のテーブルを作成します。mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value varchar(20) ); Query OK
-
MySQLで数値列を昇順(ASC)に並べ替えるクエリの書き方:CAST()関数の活用
MySQLで数値データを正しく昇順(ASC)に並べ替えたい場合、CAST()関数を活用すると便利です。文字列として保存された数値でも、CAST()関数で整数型に変換してからソートすれば、期待通りの順序で表示できます。ここでは、実際にテーブルを作成し、データを挿入して、CAST()関数による昇順ソートの手順を具体的に見ていきましょう。サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable ( Id int NOT NULL AUT
-
MySQLのGROUP BYでグループごとにすべての行を一覧表示する方法
MySQLのGROUP BYでグループごとにすべての行を一覧表示する方法 MySQLでグループごとにすべての行の値を一覧表示したい場合は、GROUP_CONCAT()関数を使用するのが効果的です。GROUP_CONCAT()は、GROUP BYでグループ化された各行の値を1つの文字列に連結して返してくれる便利な集計関数です。 まずは、動作を確認するためのサンプルテーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_
-
MySQLでTEXT型のカラムを検索する方法|INFORMATION_SCHEMA.COLUMNSでデータ型をフィルタリング
MySQLでは、INFORMATION_SCHEMA.COLUMNS テーブルを参照することで、サーバー内のすべてのカラム情報を一覧できます。特定のデータ型(例:TEXT型)を持つカラムだけを抽出したい場合は、DATA_TYPE 列に対して WHERE 句でフィルターを設定します。基本構文データ型でカラムを絞り込むには、以下の構文を使用します。SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = yourDataTypeName;TEXT型のカラムを抽出する実行例それでは、この構文を使っ
-
MySQLでグループごとにランダムな順序で並べ替える方法
MySQLでデータを取得する際、「同じ値を持つレコード同士はまとめたいが、グループ全体の並び順は毎回ランダムにしたい」という要件が出てくることがあります。単純に ORDER BY RAND() を使うと行単位でバラバラになってしまうため、サブクエリとJOINを組み合わせるのがポイントです。この記事では、その具体的な手順をサンプルコード付きで解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_
-
MySQLですべてのデッドロックログを表示する方法|設定手順と実行例を解説
MySQL(InnoDBストレージエンジン)で発生したすべてのデッドロックのログを確認したい場合、まずシステム変数「innodb_print_all_deadlocks」を有効にする必要があります。この変数をONにすることで、InnoDBが検出したデッドロックの詳細情報を出力できるようになります。 手順1:innodb_print_all_deadlocksを有効にする 以下の構文を実行して、グローバル変数を有効化します。 SET GLOBAL innodb_print_all_deadlocks=1; この設定は動的に変更できますが、サーバーを再起動すると元の値(デフォルトはOFF)に戻って
-
MySQLのCONCAT()関数で結合フィールドの検索結果を取得する方法
MySQLでは、CONCAT()関数を使うことで、複数のカラム(フィールド)を1つの文字列として結合できます。この記事では、実際にテーブルを作成し、結合したフィールドの値に対してLIKE句で検索を行い、目的のレコードを取得するまでの手順を順番に解説します。 1. サンプルテーブルの作成 まず、顧客の氏名情報を格納するテーブルを作成しましょう。 mysql> create table DemoTable ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientFirstName varchar(20),