-
MySQLで特定のレコードを除外しつつNULL値を表示する単一クエリの書き方
NULLのレコードを確認するには IS NULL を使用します。一方、特定のレコードを除外したい場合には NOT IN 句を使います。この2つを同じクエリ内で組み合わせることで、不要なレコードを除外しながらNULL値を表示することが可能になります。 テーブルの作成 まず、動作確認用のサンプルテーブルを作成しましょう。 mysql> create table DemoTable793 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100) ); Query OK, 0 rows
-
MySQLでテーブルのフィールド数(カラム数)を取得する方法
MySQLでテーブルのフィールド数を確認するには MySQLでテーブルに含まれるフィールド(カラム)の数を表示するには、COUNT(*)を使用します。システムテーブルであるINFORMATION_SCHEMA.COLUMNSを参照することで、特定のテーブルのカラム情報を取得できます。 基本構文 フィールド数を取得するための基本構文は以下のとおりです。 SELECT COUNT(*) AS 任意の別名 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = テーブル名 AND TABLE_SCHEMA = データベース名; table_nameに
-
MySQLで特定の文字で始まるレコードをカウントする方法|SUBSTRINGとGROUP BYの活用例
MySQLでは、SUBSTRING()関数とGROUP BY句を組み合わせることで、「特定の文字で始まるレコード」を簡単にカウントできます。この記事では、サンプルテーブルを作成し、名前の先頭2文字ごとにレコード数を集計する手順をわかりやすく解説します。 テーブルの作成 まず、テーブルを作成します。 mysql> create table DemoTable775 ( FirstName varchar(100) ); Query OK, 0 rows affected (0.78 sec) レコードの挿入 次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。 my
-
MySQLでエラー1062(23000):重複エントリが発生する原因と解決方法
MySQLで「ERROR 1062 (23000): Duplicate entry」というエラーが発生する主な原因は、ユニークキー(一意制約)が設定されたカラムに対して、すでに存在する値と重複するデータを挿入しようとした場合です。ユニークキーは、テーブル内で同じ値の組み合わせが存在しないことを保証するための制約です。そのため、制約に違反するINSERT文を実行すると、MySQLはデータの登録を拒否し、このエラーを返します。以下で、実際にエラーが発生する流れを確認してみましょう。1. ユニークキー付きのテーブルを作成するまず、2つのカラムに複合ユニークキーを設定したテーブルを作成します。mys
-
MySQLのWHERE句でOR演算子を使って複数条件に一致する行を取得する方法
MySQLでは、WHERE句の中でOR演算子を組み合わせることで、複数の条件のいずれかに一致するレコードを柔軟に抽出できます。本記事では、実際にテーブルを作成し、ORを使ったクエリの動作を確認していきます。 1. サンプルテーブルの作成 まず、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable777 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100), StudentAge int ); Query OK, 0 rows
-
MySQLテーブルからIN()を使って行を選択・表示する方法
MySQLでは、IN()演算子を使うことで、指定した複数の値に一致する行を簡単に抽出できます。この記事では、実際にテーブルを作成し、IN()を使って特定の行を選択・表示する手順を解説します。1. テーブルの作成まず、サンプルとなるテーブルを作成します。mysql> create table DemoTable778 ( ClientId varchar(100), ClientName varchar(100) ); Query OK, 0 rows affected (1.05 sec)ここでは、顧客ID(ClientId)と顧客名(ClientName)の2つのカラムを持
-
MySQLのSET句で予約語「ADD」列の値をインクリメントする方法
はじめにMySQLでは「ADD」は予約語として登録されているため、列名に使用する際はバッククォート(`` `ADD` ``)で囲む必要があります。本記事では、実際にテーブルを作成し、「ADD」という名前の列の値をUPDATE文とSET句を使ってインクリメントする手順を解説します。サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable779 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, `ADD` int);Query OK, 0 rows affected (0.47
-
MySQLで一部の列名を除外してテーブルの列名を表示する方法
MySQLでテーブルの列名一覧を取得する際、特定の列だけを除外したいケースがあります。そのような場合は、システムテーブルinformation_schema.COLUMNSとNOT IN句を組み合わせることで、簡単に実現できます。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。顧客ID、氏名、年齢、国名、結婚有無を持つシンプルなテーブルです。mysql> create table DemoTable780 ( CustomerId int, CustomerName varchar(100), CustomerAge int, Custo
-
MySQLでテーブル内の空(EMPTY)・NULL列の件数を調べる方法
はじめにMySQLでは、CASE式とSUM関数、UNION ALLを組み合わせることで、テーブル内に存在するNULL値と空文字列()それぞれの件数を一度に集計できます。本記事では、サンプルテーブルを作成しながら、具体的な手順を解説します。1. サンプルテーブルの作成まず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable781 ( Name varchar(100) ); Query OK, 0 rows affected (0.66 sec)2. テストデータの挿入続いて、INSERT文を使って空文字列とNUL
-
MySQLで列ごとにグループ化し、類似値の合計を別の列として表示するクエリの書き方
特定の列で値をグループ化し、その合計値を条件付きで取得したい場合は、GROUP BY句とHAVING句を組み合わせて使用します。WHERE句では集計後の結果を絞り込めないため、SUM()などの集計関数の結果に対して条件を適用したいときはHAVING句が必要になります。ここでは、実際のサンプルを通じて手順を詳しく解説します。 1. サンプルテーブルを作成する まず、名前(Name)とスコア(Score)を持つテーブルを作成します。 mysql> create table DemoTable782 ( Name varchar(100), Score int ); Query O
-
MySQLの1つのクエリで行数をカウントして並べ替える方法
MySQLでは、GROUP BY句とORDER BY句を組み合わせることで、1つのクエリだけで各行の件数をカウントし、その件数順に並べ替えることができます。ここでは、具体的なサンプルを使って手順を解説します。 1. サンプルテーブルの作成 まず、テーブルを作成します。 mysql> create table DemoTable783 ( FirstName varchar(100) ); Query OK, 0 rows affected (0.65 sec) 2. レコードの挿入 次に、INSERTコマンドを使ってテーブルにレコードを挿入します。 mysql> insert
-
【MySQL】引用符を無視して列の値をソートする方法(ORDER BY TRIM活用)
MySQLで列の値をソートする際、データによっては値の前後に引用符(ダブルクォーテーション)が含まれていることがあります。このような場合、ORDER BY 句と TRIM() 関数を組み合わせることで、引用符を無視した状態で正しく並び替えることができます。この記事では、実際のサンプルコードを使いながら、引用符を除外してソートする方法を段階的に解説します。1. サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable784 ( Message varchar(100) ); Query OK, 0 rows affe
-
MySQLですべての日付レコードに対する直近の日曜日の日付を取得する方法
MySQLで次の日曜日の日付を取得する方法MySQLでは、WEEKDAY()関数とINTERVALを組み合わせることで、テーブル内のすべての日付レコードに対して、その直後に訪れる日曜日の日付を簡単に計算できます。ここでは、具体的な手順をサンプルコードとともに解説します。1. テーブルの作成まず、日付を格納するためのテーブルを作成します。mysql> create table DemoTable(GetSundayDate date);Query OK, 0 rows affected (0.44 sec)2. レコードの挿入INSERTコマンドを使用して、テーブルにいくつかの日付レコード
-
MySQLの「SELECT TRUE」とは?意味と使い方を解説
MySQLにおける「SELECT TRUE」の基本MySQLでは、SELECT TRUEというステートメントを実行すると、条件に一致する行ごとに「1」が返されます。これは、MySQLにおいてTRUE(真)という論理値が内部的に整数の「1」として扱われているためです。逆にFALSE(偽)は「0」に相当します。この記事では、実際にテーブルを作成し、SELECT TRUEがどのような結果を返すのかを具体的な例で確認していきます。検証用テーブルの作成まず、以下のコマンドでサンプルテーブルを作成します。mysql> create table DemoTable(Name varchar(100))
-
MySQLのINSERT INTO SELECTで別テーブルから複数行を一括挿入する方法
MySQLのINSERT INTO SELECTとはMySQLでは、INSERT INTO ... SELECT構文を使うことで、既存テーブルのデータを別のテーブルへ一度に挿入できます。さらにGROUP_CONCAT関数と組み合わせれば、複数の行を1つの行にまとめて挿入することも可能です。本記事では、実際のSQL例を使って手順を詳しく解説します。ステップ1:元となるテーブルを作成するまず、データのコピー元になるテーブルを作成します。mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.
-
MySQLで既存のテーブルの新しいカラムにデータを挿入する方法
MySQLで既存のテーブルの新しいカラムにデータを挿入する方法MySQLでは、ALTER TABLE文で既存のテーブルに新しいカラム(列)を追加し、その後UPDATE文を使うことで、追加したカラムにデータを挿入できます。本記事では、具体的な手順を実行例とともにわかりやすく解説します。ステップ1:テーブルを作成するまず、サンプル用のテーブルを作成します。mysql> create table DemoTable( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100));Query OK, 0 rows aff
-
MySQLで日付付きの行を挿入する方法:DATE型カラムへのデータ登録手順
MySQLで日付付きの行を挿入するには MySQLでは、DATE型のカラムに対して「YYYY-MM-DD」形式の日付文字列を指定することで、簡単に日付付きの行を挿入できます。ここでは、従業員情報を管理するテーブルを例に、テーブル作成からデータ挿入、確認までの一連の手順を解説します。 1. テーブルを作成する まず、CREATE TABLE文を使ってサンプル用のテーブルを作成します。EmployeeIdは自動採番(AUTO_INCREMENT)の主キーとし、入社日を格納するJoiningDateカラムにはDATE型を指定します。 mysql> create table DemoTable
-
MySQLで列の正の値と負の値の合計を別々の列に表示する方法
MySQLで正の値と負の値の合計を別々の列に集計するにはMySQLでは、SUM関数とCASE式を組み合わせることで、1つの列に含まれる正の値と負の値の合計を、それぞれ別々の列として集計・表示することができます。この記事では、実際にサンプルテーブルを作成し、具体的なSQLクエリの手順を解説します。1. サンプルテーブルを作成するまず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable( Id int, Value int);Query OK, 0 rows affected (0.51 sec)2
-
MySQLのIN()演算子を使ってテーブルから選択したレコードを表示する方法
はじめにMySQLでは、IN演算子を使うことで、WHERE句に複数の値を簡潔に指定できます。「OR」条件を何度も書くよりも可読性が高く、特定のレコードだけを抽出したい場合に非常に便利です。この記事では、実際にテーブルを作成し、データを挿入してから、IN演算子で選択したレコードを表示するまでの手順を解説します。サンプルテーブルの作成まず、CREATE TABLE文でテーブルを作成します。mysql> create table DemoTable( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(1
-
MySQLで重複するレコードの列の合計値を取得する方法
MySQLで重複レコードの列の合計を取得するには重複しているレコード(同じ名前が複数回出現するデータなど)ごとに列の合計値を求めたい場合は、GROUP BY句と集計関数SUM()を組み合わせて使用します。1. サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable( Name varchar(100), Score int);Query OK, 0 rows affected (0.70 sec)2. レコードの挿入INSERT文を使って、サンプルデータをいくつか登録します。ここでは意図的に「Adam」や「Bo