-
MySQLで文字列の末尾が特定の値(x)と一致するレコードを抽出する方法
MySQLで「文字列の末尾が特定の値(例えば 10 や 15 など)と一致するレコード」を抽出したい場合は、LIKE演算子とワイルドカード(%)を組み合わせることで簡単に実現できます。パターンの先頭に % を付けることで、「任意の文字列の後に指定した文字列が続く」という条件を表現できます。 サンプルテーブルの作成 まず、検証用のテーブルを作成しましょう。 mysql> create table DemoTable ( ClientId varchar(20) ); Query OK, 0 rows affected (0.68 sec) テストデータの挿入 INSERTコマンドを
-
MySQLで特定の列の一意な行数(ユニーク件数)を取得する方法
MySQLでは、COUNT()関数を使うことでテーブル内の行数を簡単に取得できます。さらに、DISTINCTキーワードと組み合わせることで、重複する値を除外し、一意な(ユニークな)行のみの件数をカウントすることが可能です。 この記事では、実際にテーブルを作成し、データを挿入したうえで、一意な行数を取得する手順を具体的に解説します。 サンプルテーブルの作成 まず、以下のSQLを実行してテーブルを作成します。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIM
-
MySQLで昇順と降順のレコードを交互に表示する方法
はい、可能です。MySQLでは、まずレコードの中間値を求めることで、昇順と降順のデータを交互に表示できます。この記事では、テーブル作成から実際のクエリまで、手順を追って詳しく解説します。1. サンプルテーブルを作成するまず、自動採番されるIDを持つシンプルなテーブルを作成します。mysql> create table DemoTable ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (0.65 sec)2. テスト用のレコードを挿入する続いて、INSERT文でレコードを挿
-
【MySQL】指定した時間後にテーブルを自動削除する方法(EVENT活用)
MySQLで指定時間後にテーブルを自動的に削除するには? MySQLでは、EVENT(イベント)機能を利用することで、指定した時間が経過した後にテーブルを自動的に削除できます。手動でDROP文を実行する必要がないため、一時的な作業用テーブルや期限付きデータの管理に非常に便利です。 基本構文 x時間後にテーブルを削除するイベントを作成する場合、構文は以下の通りです。 CREATE EVENT イベント名 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL x HOUR DO DROP TABLE IF EXISTS テーブル名; サンプルテーブルの作成 ま
-
MySQLで賛成票と反対票の数を数える方法
MySQLでテーブル内の賛成票(正の値)と反対票(負の値)の数をそれぞれカウントしたい場合、CASE文と集計関数SUM()を組み合わせることで簡単に実現できます。 1. サンプルテーブルを作成する まず、投票データを格納するテーブルを作成します。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Vote int ); Query OK, 0 rows affected (1.70 sec) 2. テストデータを挿入する 次に、INSERTコマンドを使っていくつかのレコー
-
MySQLでカラムのデフォルト値にシステムの現在日時(CURRENT_TIMESTAMP)を設定する方法
MySQLでデフォルト日時としてシステム日時を使うには? MySQLでは、CURRENT_TIMESTAMP を使うことで、カラムのデフォルト値としてシステムの現在日時を設定できます。レコード挿入時に明示的に日時を指定しなくても、自動的にその瞬間の日時が記録されるため、作成日時や締切日の初期値などに非常に便利です。 ここでは、実際にテーブルを作成し、後から ALTER TABLE でデフォルト日時を持つカラムを追加する手順を解説します。 1. サンプルテーブルを作成する まず、以下のようにテーブルを作成します。 mysql> create table DemoTable ( I
-
MySQLでクエリの総行数を取得する最速の方法|サブクエリとCOUNT(*)の使い方を解説
はじめにMySQLでは、サブクエリと集計関数COUNT(*)を組み合わせることで、テーブルの総行数を取得しながら各レコードのデータも同時に表示できます。この記事では、実際にテーブルを作成し、データを挿入して、総行数を取得するクエリの実行手順を詳しく解説します。1. テーブルの作成まず、デモ用のテーブルを作成します。mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentAge int
-
MySQLのSUBSTRING_INDEX()関数でURLの一部を抽出する方法
MySQLでURLの一部を抽出したい場合は、SUBSTRING_INDEX()関数を使用します。この関数を使うと、指定した区切り文字を基準に、文字列から目的の部分だけを簡単に取り出せます。SUBSTRING_INDEX()関数の基本構文SUBSTRING_INDEX(対象文字列, 区切り文字, 出現回数)第1引数:処理対象となる文字列第2引数:区切り文字として扱う文字第3引数:正の値を指定すると左端から数え、負の値を指定すると右端から数えた位置を基準に部分文字列を返しますそれでは、実際の例を通じて使い方を確認していきましょう。サンプルテーブルの作成まず、URLを格納するためのテーブルを作成しま
-
MySQLで小数点以下3桁を表示する方法|TRUNCATE()関数の使い方
MySQLで数値を小数点以下3桁まで表示したい場合は、TRUNCATE()関数を使用します。TRUNCATE()は、指定した桁数以降を切り捨てて数値を整形できる便利な関数です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、TRUNCATE()関数の具体的な使い方を解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。Value列はDECIMAL(10,5)型として定義し、小数点以下5桁まで格納できるようにしています。 mysql> create table DemoTable ( Id int NOT NULL AUTO_
-
MySQLでID順に並べ替えた最後の5件のレコードを取得する方法
MySQLでID順に並べ替えた最後の5件のレコードを取得する方法MySQLで「ID順に並べ替えた状態で最後の5件」を取得したい場合は、サブクエリ(副問い合わせ)を使用します。この記事では、実際にテーブルを作成しながら手順をわかりやすく解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable ( Id int ); Query OK, 0 rows affected (0.68 sec)2. レコードを挿入する続いて、insertコマンドを使ってテーブルに複数のレコードを挿入します。mysql>
-
【MySQL】列数が最も多いテーブルを調べる方法
MySQLでは、INFORMATION_SCHEMA.COLUMNS を利用することで、データベース内のどのテーブルが最も多くの列(カラム)を持っているかを簡単に特定できます。基本となる構文まず、基本となるクエリの構文は以下の通りです。SELECT TABLE_NAME, COUNT(*) AS anyAliasName FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY yourAliasName DESC LIMIT 1;列数が最も多いテーブルを取得するクエリ実際に、列数が最も多いテーブルを選択するクエリを見てみましょう
-
MySQLのCONCAT()関数を使って複雑なINSERT文を実行する方法
MySQLで複雑なINSERT文を実行したい場合、CONCAT()関数を活用すると便利です。この記事では、StudentId(学生ID)とStudentFirstName(学生の名前)を持つテーブルを例に、その具体的な使い方を解説します。複雑なINSERTを実行すると、すべての値に対して「Web Student」というテキストが挿入され、一意のStudentIdが文字列として連結されます。1. 最初のテーブルを作成するまず、以下のクエリでテーブルを作成します。mysql> create table DemoTable( StudentId i
-
【MySQL】FIND_IN_SET()でカンマ区切りのリストからレコードを取得する方法
カンマ区切りで保存されたリストの一部を条件にレコードを取得したい場合は、MySQLの組み込み関数 FIND_IN_SET() を使うと簡単に実現できます。 サンプルテーブルを作成する まず、テーブルを作成しましょう。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Marks varchar(200) ); Query OK, 0 rows affected (0.61 sec) 次に、INSERT文を使ってい
-
MySQLですべての行のあるフィールドから別のフィールドへデータをコピーする方法
MySQLであるフィールド(カラム)の値を、同じテーブル内の別のフィールドへ全行まとめてコピーしたい場合、UPDATE文を使用します。WHERE句を付けずにUPDATEを実行すれば、テーブル内のすべての行が更新対象になります。この記事では、実際にテーブルを作成し、データを挿入してから、あるカラムの値を別のカラムへ一括コピーする手順を具体的なSQLとともに解説します。1. サンプルテーブルを作成するまず、動作確認用のテーブルを作成しましょう。ここでは「学生ID」「学生名」「点数」の3つのカラムを持つテーブルを用意します。mysql> create table DemoTable (
-
MySQLのデフォルトのサーバー文字セットと照合順序を確認する方法
MySQLでは、システム変数 character_set_server を参照することで、サーバーのデフォルト文字セットを簡単に確認できます。また、collation_server システム変数を使えば、デフォルトの照合順序(コレーション)も調べることが可能です。デフォルトのサーバー文字セットを確認する以下の構文を使用して、MySQLサーバーのデフォルト文字セットを確認します。SHOW VARIABLES LIKE character_set_server;デフォルトの照合順序を確認する同様に、次の構文でデフォルトの照合順序を確認できます。SHOW VARIABLES LIKE collati
-
MySQLで他の列の値に依存する一時的な列を追加する方法
MySQLでは、CASE文を使用して条件を設定することで、他の列の値に依存する一時的な列(計算結果の列)をSELECT文の中で追加できます。実際のテーブルには列を追加せず、クエリの実行時に動的に値を生成できるため、柔軟なデータ表示が可能です。この記事では、具体的なサンプルを使って手順を解説します。 サンプルテーブルの作成 まず、以下のクエリでテーブルを作成します。 mysql> create table DemoTable ( EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeName varc
-
MySQLのIN()句でIDを任意の順序で取得・表示する方法(FIELD関数の活用)
MySQLでIN()を使ってIDを指定した順序で表示するには?MySQLでIN()句を使って複数のIDを取得する際、通常は結果が昇順や降順など標準的な順序で返されます。しかし、「IN()に記述した通りの順序」で結果を取得したいケースは少なくありません。そのような場合は、FIELD()関数をORDER BY句と組み合わせることで実現できます。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable ( UserId int ); Query OK, 0 rows affected (0.64 sec
-
MySQLテーブルの全レコードを大文字から小文字へ一括変換する方法
MySQLテーブル内のすべてのレコードを大文字から小文字に変換するには、UPDATE文とLOWER()関数を組み合わせて使用します。この記事では、実際のサンプルコードを交えながら、その手順をわかりやすく解説します。1. サンプルテーブルを作成するまずは動作確認用のテーブルを作成しましょう。mysql> create table DemoTable ( Id varchar(100), StudentFirstName varchar(20), StudentLastName varchar(20), StudentCountryName varch
-
MySQLのnow()で取得した現在時刻をGMT+0(UTC)に変換する方法
MySQLで現在時刻をGMT+0(UTC)に変換するには?MySQLでnow()関数を使って現在の時刻を取得した後、その時刻をGMT+0(UTC)に変換したいケースはよくあります。このような場合には、utc_timestamp()関数を使用すると簡単に実現できます。基本構文SELECT utc_timestamp();utc_timestamp()は、サーバー側のタイムゾーン設定に関係なく、常に協定世界時(UTC/GMT+0)での現在日時を返してくれる便利な関数です。ステップ1:now()で現在時刻を確認するまず、比較のためにnow()関数でサーバーのローカル時刻を確認してみましょう。以下のク
-
MySQLデータベースからフィールド名とデータ型を取得する方法
```html MySQLでカラム名(フィールド名)とデータ型を取得するには?MySQLでテーブルの各カラム(フィールド)の名前とデータ型を確認したい場合、INFORMATION_SCHEMA.COLUMNS テーブルを利用するのが最も簡単で確実な方法です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(テーブル構造やカラム情報など)を格納する特別なデータベースであり、SQL文だけでスキーマ情報を取得できます。基本の構文指定したテーブルのカラム名とデータ型を一覧表示するには、以下のように記述します。SELECT COLUMN_NAME, COLUMN_TYP