-
MySQLでbool型をint型に変換する方法【CAST()関数の使い方】
MySQLでbool型をint型に変換するには?MySQLでbool(ブール)型の値をint(整数)型に変換するには、CAST()関数を使用します。なお、MySQLではbool型は実際にはTINYINT(1)のエイリアスとして扱われるため、値は内部的に1(true)と0(false)として保存されます。まず、動作確認のためのサンプルテーブルを作成しましょう。mysql> create table convertBoolToIntDemo -> ( -> isYoung bool -> );Query OK, 0 rows affected (0.69
-
データベース内の全テーブルのフィールド(カラム)総数を取得する方法
データベース内の全テーブルのフィールド総数を取得する方法データベースに存在するすべてのテーブルのフィールド(カラム)の総数を確認したい場合は、INFORMATION_SCHEMA.COLUMNS テーブルと集計関数 COUNT(*) を組み合わせることで簡単に実現できます。ここでは、多数のテーブルとフィールドを含む「sample」データベースを例に説明します。データベース全体のフィールド総数を取得するクエリは以下の通りです。mysql> SELECT COUNT(*) AS TOTAL_NUMBER_OF_FIELDS -> FROM INFORMATION_SCHEMA.C
-
MySQLでタイムスタンプを比較する方法|DATE関数を使った実践例を解説
MySQLでタイムスタンプを比較するには、DATE()関数を使用します。DATE()関数は、TIMESTAMP型やDATETIME型の値から日付部分(YYYY-MM-DD)だけを抽出できる便利な関数です。この記事では、実際にテーブルを作成し、タイムスタンプ同士を比較する手順をサンプルコードとともに分かりやすく解説します。1. サンプルテーブルの作成まず、比較用のテーブルを作成しましょう。mysql> create table comparingTimestampDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY
-
MySQLのSELECTステートメントでCAST関数を使用する方法
MySQLのCAST()関数とはMySQLのCAST()関数は、任意の型の値を指定した別の型に変換するための関数です。日付を文字列として扱いたい場合や、文字列を数値に変換したい場合など、データ型の変換が必要な場面で活躍します。ここでは、実際にテーブルを作成し、SELECTステートメント内でCAST()関数を使用してDATE型の値をCHAR型(文字列)に変換する手順を紹介します。サンプルテーブルの作成まず、日付型のカラムを持つテーブルを作成します。mysql> create table castFunctionDemo-> (-> ShippingDate date->
-
MySQLで1つのカラムをGROUP BYしながら全データを取得する方法(GROUP_CONCAT活用)
はじめにはい、GROUP_CONCAT()関数を使用すれば、1つのカラムでGROUP BYを実行しながら、他のカラムのすべてのデータをまとめて取得することができます。この記事では、実際のサンプルを使ってその手順を詳しく解説します。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。以下のCREATE TABLE文を使用します。mysql> create table groupByOneSelectAll -> ( -> StudentDetails varchar(100), -> StudentName varchar(100)
-
MySQLでDATETIME型に10分を追加する方法|DATE_ADD関数の使い方
MySQLのDATE_ADD()関数で日時に10分を加算する方法 MySQLの日時(DATETIME)形式の値に10分を追加するには、DATE_ADD()関数を使用します。基本的な構文は以下のとおりです。 SELECT DATE_ADD(カラム名, INTERVAL 10 MINUTE) FROM テーブル名; 検証用テーブルの作成 まず、動作を確認するためのサンプルテーブルを作成します。 mysql> CREATE TABLE add10MinuteDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KE
-
MySQLで時間を小文字のam/pm形式で表示する方法
MySQLの時間データを小文字の「am/pm」形式で表示したい場合は、LOWER()関数とDATE_FORMAT()関数を組み合わせて使用します。この記事では、具体的な手順をサンプルコード付きで解説します。1. テーブルを作成するまず、時間型のカラムを持つテーブルを作成しましょう。mysql> create table formatTime-> (-> LoginTime time-> );Query OK, 0 rows affected (0.56 sec)ここでは、ログイン時刻を保存するためのLoginTimeカラム(time型)を含むformatTimeテーブル
-
MySQLデータベースに現在の日付を挿入する方法
MySQLデータベースに現在の日付を挿入する方法MySQLで現在の日付をデータベースに挿入するには、NOW()関数を使用します。基本構文は以下のとおりです。INSERT INTO テーブル名(日付カラム名) VALUES(NOW());ただし、対象カラムのデータ型がDATE型の場合、NOW()関数は時刻情報を持っているため、日付部分のみが挿入され、MySQLから警告(warning)が表示されます。この警告を避けたい場合は、CURDATE()関数を使用するのが効果的です。テーブルの作成まずは動作確認用のテーブルを作成します。mysql> create table insertcurren
-
MySQLでユーザーの権限(特権)を確認する方法|SHOW GRANTSコマンドの使い方
MySQLでは、SHOWコマンドにGRANTSを組み合わせることで、ユーザーに付与されている権限(特権)を簡単に確認できます。この記事では、基本的な確認方法から、特定ユーザーの権限を調べる方法まで、実際の実行例とあわせて解説します。 現在のユーザーの権限を確認する基本構文 ログイン中のユーザー(rootなど)が持つ権限を確認するには、以下の構文を使用します。 SHOW GRANTS; この構文を実行すると、現在接続しているユーザー(root)に対して付与されているすべての権限が表示されます。 特定のユーザーの権限を確認する構文 特定のユーザーの権限を確認したい場合は、FOR句を使ってユーザ
-
【MySQL】値0以外の整数を並べ替えて0を最後に表示する方法
MySQLで値0以外の整数を並べ替える方法MySQLでは、ORDER BY句を工夫することで、値0以外の整数を昇順または降順に並べ替えつつ、0のレコードを最後に表示することができます。本記事では、その具体的な方法をサンプルコードとともに解説します。基本構文値0以外の整数を並べ替えるには、以下の構文を使用します。select *from yourTableName order by yourColumnName=0, yourColumnName;ポイントは「yourColumnName=0」という条件式です。この式は、値が0の場合に1(TRUE)、0以外の場合に0(FALSE)を返します。昇順
-
MySQLでソート済みリストの中央から結果を取得する方法
ソートされたリストの中央から結果を選択したい場合は、ORDER BY句とLIMITを組み合わせて使用します。LIMITにオフセットを指定することで、並べ替え後のリストの任意の位置からレコードを取得できます。サンプルテーブルの作成まず、デモ用のテーブルを作成します。以下がそのクエリです。mysql> create table sortedListDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100) -> );Query OK,
-
MySQLであるテーブルから別のテーブルへINSERT INTOし、特定の列に固定値を設定する方法
MySQLでは、INSERT INTO ... SELECT文を活用することで、既存テーブルのデータを別のテーブルへコピーしながら、同時に特定の列へ固定値を設定できます。本記事では、実際のSQLクエリ例を通じてその手順をわかりやすく解説します。手順1:元となるテーブルを作成するまず、コピー元となるテーブルを作成します。以下がそのクエリです。mysql> create table insertOneToAnotherTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.60 sec)手
-
【MySQL】同じ列の値ごとにフィールドの合計を求めるクエリの書き方
同じ列(カラム)の値を持つ複数行のフィールド値を合計したい場合、GROUP BY句を使用します。この記事では、実際にテーブルを作成し、データを挿入してから、GROUP BY句とSUM関数を組み合わせて合計を求める手順を具体的な例とともに解説します。 1. サンプルテーブルの作成 まず、テーブルを作成します。以下の例では、顧客のシリアル番号と費用を管理するテーブル「sumOfFieldsDemo」を作成しています。 mysql> create table sumOfFieldsDemo -> ( -> Id int NOT NULL AUTO_INCREMEN
-
MySQLのORDER BY句で複数列を同時にソートする方法を徹底解説
MySQLで複数の列を一度にソートするには?MySQLで複数の列を同時にソートしたい場合は、ORDER BY句を使用します。ORDER BY句に複数の列名をカンマで区切って指定すると、最初に指定した列でソートされ、同じ値が存在する場合は次の列の値でソートされます。基本構文select yourColumnName1,yourColumnName2,yourColumnName3 from yourTableName order by yourColumnName2,yourColumnName3;それでは、実際にテーブルを作成して動作を確認してみましょう。サンプルテーブルの作成まず、以下のクエ
-
MySQLでUNIXタイムスタンプを人間が読める日付形式に変換する方法
MySQLでUNIXタイムスタンプを人間が読める形式に変換する方法 UNIXタイムスタンプを人間が読み取れる日付形式に変換するには、MySQLのFROM_UNIXTIME()関数を使用します。この関数に書式指定子を組み合わせることで、目的の形式で日付を自由に表示できます。以下、具体的な手順を順番に見ていきましょう。 ステップ1:テーブルの作成 まず、UNIXタイムスタンプを格納するためのテーブルを作成します。 mysql> create table timeConversionDemo -> ( -> dateTimeConversion bigint
-
MySQLで1つの列の複数行をまとめて更新する方法(CASE文の活用)
MySQLで単一列の複数行を一括更新するには?MySQLで1つの列に含まれる複数の行を異なる値でまとめて更新したい場合、CASE文を使用するのが効果的です。この記事では、実際にテーブルを作成しながら、その手順をわかりやすく解説します。1. サンプルテーブルの作成まず、更新用のテーブルを作成しましょう。ここでは、学生IDと数学の点数を格納するテーブルを用意します。mysql> create table updateMultipleRowsDemo -> ( -> StudentId int, -> StudentMathScore int ->
-
【MySQL】大文字を含むすべてのレコードを抽出するクエリの書き方
MySQLで、特定のカラムに大文字が含まれるすべてのレコードを表示したい場合には、文字列式と正規表現パターンの一致を判定するRLIKE演算子を使用します。この記事では、実際にテーブルを作成し、データを挿入して、大文字を含むレコードだけを抽出する手順をわかりやすく解説します。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> create table contains_capital_letterDemo -> ( -> Id int NOT NUL
-
MySQLで特殊文字を含む文字列を検索する方法【REGEXP活用】
REGEXPを使った特殊文字の検索文字列に特殊文字が含まれているかどうかを調べるには、MySQLのREGEXP(正規表現)演算子を使用します。基本的な構文は以下のとおりです。select * from yourTableNamewhere yourColumnName REGEXP [^a-zA-Z0-9];パターン [^a-zA-Z0-9] は「英数字以外の任意の1文字」に一致することを意味します。つまり、アンダースコア(_)やシャープ(#)、ドル記号($)などの特殊文字が含まれる行だけが抽出されます。サンプルテーブルの作成まずは動作確認用のテーブルを作成しましょう。mysql> cr
-
MySQLエラー1064(42000)の解決方法:SQL構文エラーの原因と修正手順
MySQLで作業中に「ERROR 1064 (42000): You have an error in your SQL syntax」というエラーメッセージに遭遇したことはありませんか?このエラーは、SQL文の書き方に問題があることを示しています。本記事では、このエラーの典型的な原因の一つである「誤ったデータ型名」に焦点を当て、実際のコード例とともに解決方法を解説します。 エラー1064(42000)とは? エラー1064は、MySQLサーバーがSQL文を解析できなかった際に発生する構文エラーです。よくある原因としては、以下のようなものが挙げられます。 データ型名のスペルミス(例:var
-
MySQLで1つの列だけから重複しない値を取得する方法(MAX関数とGROUP BY活用)
はじめにMySQLでテーブル全体ではなく、特定の1列だけに基づいて重複しない(ユニークな)値を取得したい場合があります。そんなときは、集計関数 MAX() と GROUP BY を組み合わせることで実現できます。この記事では、実際にサンプルテーブルを作成し、1つの列のみを対象に一意な値を抽出する手順をわかりやすく解説します。サンプルテーブルの作成まず、学生IDと学生名を持つテーブルを作成します。mysql> create table distinctFromOneColumn-> (-> StudentId int,-> StudentName varchar(100)