MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. 【MySQL】NOT IN句で特定のIDレコードを除外し、残りを表示する方法

    MySQLで特定のレコードを除外した結果を取得したい場合には、NOT IN() を使用します。この記事では、実際にテーブルを作成し、指定したID以外のレコードだけを抽出する手順を実例付きで解説します。サンプルテーブルの作成まず、Idカラムのみを持つシンプルなテーブルを作成します。mysql> create table DemoTable(   Id int);Query OK, 0 rows affected (0.64 sec)レコードの挿入次に、INSERTコマンドを使ってテーブルに複数のレコードを追加します。mysql> insert into

  2. MySQLでテーブル構造(データではなく)の変更を検出する方法【SHOW CREATE TABLE活用】

    MySQLでテーブル構造の変更を検出するには? データの中身(レコード)ではなく、テーブルの構造=スキーマが変更されたかどうかを調べたい場合、「SHOW CREATE TABLE」ステートメントを利用するのが最もシンプルで確実な方法です。このコマンドは、テーブルを生成するDDL(CREATE TABLE文)を現在の構造のまま出力してくれるため、変更前後の出力を比較するだけで、構造の差分を簡単に把握できます。 手順1:サンプルテーブルを作成する まずは、動作を確認するためのテーブルを作成してみましょう。 mysql> CREATE TABLE DemoTable ( Student

  3. MySQLで当日の00:00から現在時刻までのレコードを抽出するクエリの書き方

    はじめにMySQLで「今日の日付の午前0時(00:00)から現在時刻まで」のレコードを取得したいケースはよくあります。例えば、現在の日時が 2019-09-14 08:50:10 である場合、2019-09-14 00:00:00 から 2019-09-14 08:50:10 までの範囲にあるレコードを抽出することになります。本記事では、実際にテーブルを作成し、データを挿入しながら、この条件を実現するクエリを具体的に解説します。サンプルテーブルの作成まず、DATETIME型のカラムを持つテーブルを作成します。mysql> create table DemoTable( &nbs

  4. MySQLストアドプロシージャでDELIMITERを正しく使う方法――BEGIN/ENDステートメントのエラーを回避するには

    はじめにMySQLでストアドプロシージャを作成する際、DELIMITER(区切り文字)の概念を正しく理解せずに記述すると、BEGIN/ENDステートメントに関連するエラーが発生することがあります。本記事では、DELIMITERを正しく使用してストアドプロシージャを作成・実行する手順を、具体例とともに解説します。なぜDELIMITERが必要なのかMySQLクライアントは通常、セミコロン(;)を文の終わりとして解釈します。しかし、ストアドプロシージャの本体である BEGIN ... END の内部にもセミコロンが含まれるため、そのまま入力すると文が途中で分割されてしまい、構文エラーの原因になります

  5. JavaのPreparedStatementを使ってMySQLテーブルを更新する方法

    JavaからMySQLのテーブルを更新するには、PreparedStatementを使用するのが一般的で安全な方法です。PreparedStatementを使うことで、SQLインジェクションを防ぎつつ、パラメータを動的に設定できます。この記事では、実際にテーブルを作成し、Javaプログラムからレコードを更新するまでの一連の手順を解説します。1. テーブルの作成まず、MySQLで更新用のテーブルを作成しましょう。mysql> create table DemoTable( Id int, FirstName varchar(40) ); Query OK, 0 rows a

  6. MySQLでテーブルから重複のない行をランダムに選択する方法

    MySQLでテーブルから行をランダムに選択するには、ORDER BY RAND() と LIMIT を組み合わせて使用します。さらに、重複のない(一意な)行だけを取得したい場合は DISTINCT を併用します。この記事では、実際にテーブルを作成し、データを挿入して、ランダムに一意な行を取得する手順を具体的に解説します。サンプルテーブルの作成まず、例として以下のようなテーブルを作成します。mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40)

  7. MySQLのCASE文で同じ列から条件別に値を取り出し、別々の列に表示する方法

    MySQLのCASE文で同じ列から条件別に値を取り出す方法 MySQLである列(カラム)の値を複数の条件で判定し、それぞれの結果を別々の列として表示したい場合は、CASE文を使用します。CASE文を組み合わせることで、1つの列から条件に応じた異なる値を柔軟に取り出せます。 まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable (     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,     Name varchar

  8. MySQLクエリでOR文が多すぎるのを避けるには?IN()の活用方法を解説

    MySQLでは、複数の条件を指定するときにOR文を何度も繰り返し書くと、クエリが長くなり読みにくくなります。そんなときはIN()を使うことで、クエリをシンプルかつ効率的に記述できます。この記事では、実際にテーブルを作成し、IN()の使い方を実行例とともにわかりやすく解説します。 サンプルテーブルを作成する まず、動作確認用のテーブルを作成しましょう。以下のコマンドで「DemoTable」を作成します。 mysql> create table DemoTable (     Id int NOT NULL AUTO_INCREMENT PRIMAR

  9. MySQLで列の最小値・最大値を持つ行データを取得する方法

    はじめにMySQLである列(カラム)の中から最小値や最大値を持つ行データを丸ごと取得したい場合、集計関数の MIN() と MAX() をサブクエリと組み合わせて使うのが定番の方法です。MIN() は最小値を、MAX() は最大値をそれぞれ返します。本記事では、実際にテーブルを作成し、データを挿入してから、最小値と最大値を含む行を抽出するまでの一連の手順を解説します。1. サンプルテーブルの作成まず、顧客名と商品金額を格納するテーブルを作成します。mysql> create table DemoTable ( CustomerName varchar(20), Produ

  10. 【MySQL】UNIONを使って1つのクエリで2つのテーブルからSELECTする方法

    2つのテーブルからまとめてデータを取得したい場合は、UNION演算子を使用します。この記事では、実際にテーブルを作成し、UNIONを使って2つのテーブルを1回のクエリで結合してSELECTする手順を解説します。 1つ目のテーブル(DemoTable1)を作成する まず、以下のCREATE TABLE文でサンプル用のテーブルを作成します。 mysql> create table DemoTable1 (     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,     

  11. 【MySQL】郵便番号フィールドから「-XXX」を削除する方法|SUBSTRING_INDEXとREGEXP_REPLACEの使い方

    郵便番号から「-XXX」を削除するには?MySQLで郵便番号フィールドから「-XXX」(ハイフン以降の文字列)を取り除きたい場合、最も簡単なのはSUBSTRING_INDEX()関数を使う方法です。まずは基本の手順を、実際のSQLサンプルとともに見ていきましょう。1. サンプルテーブルの作成まず、郵便番号を格納するテーブルを作成します。mysql> create table DemoTable ( ZipCode varchar(50) ); Query OK, 0 rows affected (2.02 sec)2. テストデータの挿入INSERT文を使って、いくつかのレコード

  12. MySQLで特定の列の値(1)に基づいてGROUP_CONCAT()を使い、複数行のデータを1行にまとめる方法

    MySQLでは、GROUP_CONCAT()関数とWHERE句を組み合わせることで、特定の条件に一致する複数行のデータを1行に連結して取得できます。ここでは、ステータスが「1」であるプレイヤー名だけを抽出し、カンマ区切りの1つの文字列として表示する例を紹介します。サンプルテーブルの作成まず、プレイヤー名とステータスを格納するテーブルを作成します。mysql> create table DemoTable ( PlayerName varchar(40), PlayerStatus tinyint(1) ); Query OK, 0 rows affected (0.60

  13. MySQLクエリでカンマ区切りの値が含まれる列から特定の数値を検索する方法(FIND_IN_SET活用)

    はい、MySQLの FIND_IN_SET() 関数を使えば、カンマ区切りで保存された数値のリストから特定の値を検索できます。この関数は、第2引数に指定したカンマ区切りの文字列の中に、第1引数で指定した値が含まれているかどうかを判定し、見つかった場合はその位置(1始まり)を返します。 サンプルテーブルの作成 まず、検索対象となるテーブルを作成します。 mysql> create table DemoTable ( ListOfNumbers varchar(100) ); Query OK, 0 rows affected (1.24 sec) レコードの挿入 INSERT文でカ

  14. MySQLで今日から月末までのレコードを抽出・表示する方法

    MySQLで今日から月末までのレコードを表示する方法MySQLで「現在の日付から当月の月末まで」のレコードを抽出したい場合、CURDATE()関数とLAST_DAY()関数をBETWEEN句と組み合わせることで簡単に実現できます。ここでは、サンプルテーブルを使いながら具体的な手順を解説します。1. サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable ( BookingDate date ); Query OK, 0 rows affected (0.67 sec)2. レコードの挿入INSERTコマンドを使って

  15. MySQLでNAND/NOR演算を実行する方法をわかりやすく解説

    MySQLでNAND/NOR演算を実行する方法 この記事では、MySQLでNAND(否定論理積)およびNOR(否定論理和)演算を実行する方法を解説します。NANDとNORはデジタル回路の分野で重要な論理演算ですが、SQLではNOT関数とAND・OR演算子を組み合わせるだけで簡単に実現できます。 NAND/NOR演算の基本概念 NANDおよびNOR演算は、それぞれ次のように定義されます。 NAND = NOT(カラム名1 AND カラム名2) NOR = NOT(カラム名1 OR カラム名2) つまり、NANDは「両方の値が真である場合にのみ偽」、NORは「どちらか一方でも真であれば偽」とい

  16. MySQLで列の文字列値に特定の文字列が含まれているかどうかを確認する方法

    CONCAT()とLIKE演算子を使った文字列の部分一致チェックMySQLである列(カラム)内の文字列値に、特定の文字列が含まれているかどうかを確認したい場合は、CONCAT()関数をLIKE演算子と組み合わせて使用します。これにより、双方向の一致チェックが可能になります。まずはサンプル用のテーブルを作成してみましょう。mysql> create table DemoTable(   Name varchar(40));Query OK, 0 rows affected (0.56 sec)次に、INSERTコマンドを使ってテーブルにレコードを挿入します。m

  17. MySQLのDELETEクエリとIN()句を使って選択した複数のレコードを削除する方法

    MySQLで条件に合致する複数のレコードを選択的に削除したい場合は、WHERE句と組み合わせてIN()句を使用します。そして実際の削除にはDELETEクエリを実行します。ここでは、サンプルコードとともに具体的な手順をわかりやすく解説します。まずはテーブルを作成しましょう。 1. テーブルの作成 mysql> create table DemoTable (     ClientId varchar(40),     ClientName varchar(50) ); Query OK, 0 rows af

  18. MySQLで特定の数字で始まるレコードを選択する方法|LIKE演算子の使い方を徹底解説

    MySQLで特定の数字で始まるレコードを選択したい場合、LIKE演算子を使うのが最も簡単で効果的な方法です。LIKE演算子とワイルドカード(%)を組み合わせることで、前方一致検索をシンプルに実現できます。この記事では、サンプルテーブルの作成からデータの挿入、実際に「90」で始まるレコードを抽出するまでの一連の手順を、実行結果つきでわかりやすく解説します。1. サンプルテーブルを作成するまず、以下のコマンドでテーブルを作成しましょう。mysql> create table DemoTable( ClientId bigint, ClientName varchar(40));Q

  19. MySQLで過去60分間のレコードを取得する方法

    MySQLで過去60分間のレコードを取得したい場合は、INTERVALを使うことで簡単に実現できます。日時カラムとNOW()関数を組み合わせ、指定した時間幅だけ遡った時刻以降のデータを絞り込むのが基本的な考え方です。基本構文過去60分間のレコードを抽出するには、以下のような構文を使用します。 NOW() - INTERVAL 60 MINUTE;このクエリでは、現在時刻(NOW())から60分前の時刻より後のレコードのみが返されます。実際に試してみよう1. サンプルテーブルを作成するまず、日時型(DATETIME)のカラムを持つテーブルを作成します。mysql> CREATE TABLE

  20. MySQLでint型カラムの値に文字を追加する方法(CONCAT関数の使い方)

    MySQLのCONCAT()関数でint型カラムの値に文字を追加する 既存のint型カラムの値に文字を追加したい場合は、MySQLのCONCAT()関数を使用します。CONCAT()関数は複数の文字列や値を連結して1つの文字列として返す関数で、数値型の値と文字列を組み合わせて表示したい場合に非常に便利です。 ここでは、実際にサンプルを使って手順を見ていきましょう。 1. テーブルを作成する まず、int型のカラムを持つテーブルを作成します。 mysql> create table DemoTable ( Amount int ); Query OK, 0 rows affecte

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:53/229  20-コンピューター/Page Goto:1 47 48 49 50 51 52 53 54 55 56 57 58 59