MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLで特定の1行以外のすべての行を削除する方法

    MySQLで特定の1行だけを残して、それ以外のすべての行を削除したいケースはよくあります。そのような場合には、DELETE文のWHERE句に比較演算子!=を組み合わせるのが基本的な方法です。 使用する構文は以下の通りです。 delete from yourTableName where yourColumnName != yourValue; なお、!=の代わりに<>(不等号演算子)を使っても同様の結果が得られます。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable   &nb

  2. MySQLで現在の日付から3週間前以降のレコードを取得するクエリ(DATE_SUBの使い方)

    DATE_SUB()関数とは MySQLで「現在の日付から3週間前以降」のデータを取得したい場合には、DATE_SUB()関数を利用するのが便利です。この関数は、指定した日付から任意の期間(INTERVAL)を減算した値を返します。 サンプルテーブルの作成 まずはテーブルを作成しましょう。 mysql> create table DemoTable     (     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,     Ar

  3. MySQLで4,2,1,3のようなカスタム順序(独自のルール)でレコードを並べ替える方法

    MySQLでは、ORDER BY FIELD() を使うことで、数値の昇順・降順にとらわれない、独自のカスタム順序でレコードを並べ替えることができます。例えば「4, 2, 1, 3」という特定の順番でデータを取得したい場合に非常に便利です。ここでは、実際の手順をサンプルとともに解説します。1. テーブルの作成まず、サンプル用のテーブルを作成します。mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.55 sec)2. データの挿入次に、INSERT文を使っていくつかの

  4. MySQLのSELECT文でフィールド(列)を生成する方法

    MySQLのSELECT文でフィールドを生成するには?MySQLでは、SELECT文の中で AS キーワードを使用することで、テーブルに実際には存在しない新しいフィールド(仮想列)を生成し、結果セットに含めることができます。固定値や計算結果に別名を付けて出力できるため、レポート作成やデータ加工の際に非常に便利です。まずは、動作確認用のサンプルテーブルを作成しましょう。mysql> create table DemoTable     (     Id int NOT NULL AUTO_INCREMENT P

  5. MySQLでIDが4で割り切れる行をすべて抽出するクエリの書き方

    MySQLでは、剰余演算子(%)またはMOD()関数を使うことで、特定の数値で割り切れる行を簡単に抽出できます。この記事では、IDが4で割り切れるレコードだけを取得する方法を、サンプルSQLと実行結果付きで解説します。 1. サンプルテーブルの作成 まず、IDカラムを含むテーブルを作成しましょう。 mysql> create table DemoTable ( ID int, StudentName varchar(10), CountryName varchar(20) ); Query OK, 0 rows affected (0.70 se

  6. MySQLで日付に2週間を追加する方法|DATE_ADD()関数の使い方を解説

    MySQLで日付に2週間を追加するには、DATE_ADD()関数を使用します。この関数を活用すれば、指定した日時に対して任意の期間(年・月・日・週・時間など)を簡単に加算できます。 insert into yourTableName(yourColumnName) values(date_add(now(),interval 2 week)); ここからは、実際にテーブルを作成して動作を確認する手順を紹介します。 1. テーブルの作成 まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable     

  7. 【MySQL】現在の日時と日付のみを取得するクエリの使い方

    MySQLでは、SELECT NOW()を実行することで、現在の日付と時刻の両方を取得できます。一方、現在の日付だけが必要な場合は、CURDATE()を使用します。基本構文現在の日時(日付+時刻)を取得する構文SELECT NOW();現在の日付のみを取得する構文SELECT CURDATE();それでは、実際に上記の構文を実行して確認してみましょう。実行例ケース1:現在の日付と時刻の両方を取得する場合mysql> SELECT NOW();出力結果+---------------------+ | NOW() | +---------------------

  8. MySQLで最も頻繁に出現する値の件数を取得する方法

    MySQLで最も頻繁に出現する値とその出現回数を取得するには、集計関数 COUNT() と GROUP BY を組み合わせて使用します。この記事では、実際にテーブルを作成し、データを挿入して、出現頻度を求めるクエリの実行方法を順を追って解説します。1. テーブルの作成まず、以下のコマンドでサンプル用のテーブルを作成します。mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int ); Query OK, 0 rows affected (0.7

  9. MySQLで複数の列のいずれかが特定の値と一致する行を選択する方法

    MySQLでは、複数の列のうちどれか一つでも特定の値と一致する行を抽出したい場合、OR条件を組み合わせることで実現できます。この記事では、サンプルテーブルを作成しながら、具体的なクエリの書き方をわかりやすく解説します。1. サンプルテーブルの作成まず、検索対象となるテーブルを作成しましょう。以下のようにCREATE TABLE文を実行します。mysql> create table DemoTable   (   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  &nbs

  10. MySQLで年と月を指定して日付データを取得する方法|YEAR()・MONTH()関数の使い方

    はじめにMySQLで特定の「年」と「月」に一致する日付データを取得したい場合には、YEAR()関数とMONTH()関数を組み合わせるのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、年月を指定したデータ抽出の手順をわかりやすく解説します。1. サンプルテーブルを作成するまずは出荷日(ShippingDate)を格納するためのテーブルを作成しましょう。mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREM

  11. MySQLでハイフン記号を2つだけ含むレコードを抽出する方法

    MySQLで「ハイフン記号(-)がちょうど2つ含まれている」レコードのみを取得したい場合は、LIKE演算子を組み合わせて条件を指定します。この記事では、具体的な手順をサンプルコードとともに解説します。1. テーブルの作成まず、サンプル用のテーブルを作成します。mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Password varchar(100)    ); Query OK, 0 ro

  12. MySQLで複数の条件に一致するレコードを取得する方法|IN句の使い方を解説

    MySQLで複数のWHERE条件を実現するにはMySQLで「WHERE A または WHERE B」のように複数の条件に一致するレコードを一度に取得したい場合、IN() 句を使用するのが最も簡単で効率的な方法です。OR条件を何度も書き並べるよりも、コードがすっきりし、可読性も向上します。基本構文SELECT * FROM テーブル名 WHERE カラム名 IN(値1, 値2, ...N);カラムの値が IN() の中に指定した値のいずれかと一致すれば、そのレコードが抽出されます。実際に試してみよう1. サンプルテーブルを作成するまず、動作確認用のテーブルを作成します。mysql> cre

  13. MySQLで列を大文字と小文字を区別する照合に変換する方法

    MySQLで大文字と小文字を区別した検索を行うには MySQLのデフォルトの照合順序(例:utf8_general_ci)は、末尾の「ci」が示すとおり大文字と小文字を区別しません。そのため、LIKE句で検索すると「Brown」「BROWN」「brown」などがすべて同じ文字列として扱われてしまいます。 大文字と小文字を厳密に区別して検索したい場合は、COLLATEを使って照合順序を「utf8_bin」に切り替えます。utf8_binは文字列をバイナリデータとして比較するため、英字の大小が完全に区別されるのが特徴です。 構文 select *from yourTableName where y

  14. 【MySQL入門】レコードをアルファベット順に並べ替えて重複をカウントするクエリの書き方

    レコードをアルファベット順に並べ替えながら重複件数をカウントしたい場合は、GROUP BY句とORDER BY句を組み合わせて使用します。まずは、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentGrade char(1)    ); Query OK, 0 rows affected (0.87 sec)上記のテーブルでは、

  15. MySQLで「ORDER BY order DESC」付近に発生する構文エラーの原因と解決方法

    MySQLでORDER BY order DESCのようなクエリを実行した際に、構文エラーが発生することがあります。その原因は、「order」という単語がMySQLの予約語(予約済みキーワード)であるためです。カラム名として「order」を使用している場合、そのまま記述するとMySQLが正しく解釈できず、エラーになってしまいます。この問題を解決するには、カラム名「order」をバッククォート(` `)で囲みます。正しい構文は以下のとおりです。SELECT * FROM yourTableName ORDER BY `order` DESC;実際に動作を確認してみるまず、テスト用のテーブルを作成

  16. MySQLの単一クエリでIDが最も高い行を更新する方法

    はい、単一のクエリで実行可能です。まずはサンプル用のテーブルを作成しましょう。mysql> create table DemoTable     (     ID int,     GameScore int     ); Query OK, 0 rows affected (0.55 sec)次に、INSERTコマンドを使用してテーブルにレコードをいくつか挿入します。mysql> insert into DemoTable

  17. MySQLで列内の「0より大きい値」と「0に等しい値」をそれぞれカウントする方法

    MySQLでは、CASE文とSUM関数を組み合わせることで、「0より大きい値」と「0に等しい値」の件数を1回のクエリで同時に集計できます。ここでは、その具体的な手順をサンプル付きで解説します。1. サンプルテーブルを作成するまず、数値を格納するテーブルを作成しましょう。mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.83 sec)2. テストデータを挿入するINSERTコマンドを使って、レコードをいくつか登録します。mysql> insert into De

  18. MySQLで2つの列(カラム)の差分を降順に並べ替えて取得する方法

    MySQLでは、ORDER BY句を使うことで、2つの列(カラム)の差分を計算し、その結果を昇順・降順に並べ替えて取得できます。本記事では、実際のテーブル作成からクエリ実行までの手順を順番に解説します。1. サンプルテーブルを作成するまず、2つのINT型カラムを持つテーブルを作成しましょう。mysql> create table DemoTable ( Value1 int, Value2 int ); Query OK, 0 rows affected (0.54 sec)2. レコードを挿入する次に、INSERTコマンドを使ってサンプルデータを登録しま

  19. MySQLで2つのテーブルの列から最大値(MAX)を取得する方法

    MySQLでは、GREATEST()関数を使うことで、複数の値の中から最大値を簡単に取得できます。この記事では、2つの異なるテーブルの列それぞれに対して最大値(MAX)を求め、さらにその中から最大の値を取得する方法を解説します。1. 最初のテーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1 ( Number int ); Query OK, 0 rows affected (0.52 sec)レコードの挿入INSERTコマンドを使って、いくつかのレコードを追加します。mysql> insert

  20. MySQLでnow()が2つの特定の日付の間にあるかどうかを確認する方法

    MySQLでは、now()(現在の日時)が2つの特定の日付の範囲内に含まれているかどうかを確認したい場面がよくあります。そんなときに便利なのが BETWEEN 演算子です。この記事では、実際にテーブルを作成しながら、その使い方を具体的に解説します。1. テーブルの作成まず、開始日(FirstDate)と終了日(SecondDate)を格納するためのテーブルを作成します。mysql> create table DemoTable ( FirstDate datetime, SecondDate datetime ); Query OK, 0 rows aff

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:102/229  20-コンピューター/Page Goto:1 96 97 98 99 100 101 102 103 104 105 106 107 108