MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. タイムスタンプから日付を抽出するMySQLクエリの書き方【DATE関数の使い方】

    MySQLでは、TIMESTAMP型のカラムから日付部分だけを取り出したい場面がよくあります。そんなときに便利なのがDATE()関数です。この記事では、実際にテーブルを作成しながら、タイムスタンプから日付を抽出する方法をわかりやすく解説します。 1. サンプルテーブルの作成 まず、TIMESTAMP型のカラムを含むテーブルを作成しましょう。 mysql> create table DemoTable -> ( -> CustomerName varchar(100), -> CustomerShippingDate timestamp

  2. MySQLで列の部分文字列(サブストリング)を取得する方法

    MySQLのSUBSTR()関数を使って列の部分文字列を抽出するMySQLでは、SUBSTR()関数を使用することで、テーブルの列から任意の位置の部分文字列(サブストリング)を簡単に抽出できます。この関数は、開始位置と取得する文字数を指定するだけで動作し、文字列の先頭や中間、末尾付近のデータだけを取り出したい場合に非常に便利です。以下に、実際の手順を順番に解説していきます。1. サンプルテーブルを作成するまず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable-> (-> Title text-> );Query OK, 0

  3. MySQLストアドプロシージャで一時テーブル(TEMPORARY TABLE)を作成する方法

    MySQLストアドプロシージャで一時テーブルを作成する基本構文MySQLのストアドプロシージャ内で一時テーブル(TEMPORARY TABLE)を作成する場合、基本となる構文は以下の通りです。CREATE PROCEDURE yourProcedureName() BEGIN CREATE TEMPORARY TABLE yourTemporaryTableName SELECT yourValue; ENDストアドプロシージャの作成例それでは、実際にこの構文を使って一時テーブルを作成し、テーブルにレコードを挿入してみましょう。まずは、一時テーブルを作成するストアドプロシージャを定義す

  4. 【MySQL】複数回出現する値を見つけるクエリの書き方

    MySQLでテーブル内に複数回出現(重複)している値を抽出したい場合、GROUP BY句とHAVING句を組み合わせることで簡単に実現できます。この記事では、実際のサンプルコードと実行結果をもとに、手順をわかりやすく解説します。 サンプルテーブルの作成 まず、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable -> ( -> value int -> ); Query OK, 0 rows affected (0.82 sec) レコードの挿入 次に、INSERTコマンドを使ってテーブルにデータ

  5. MySQLで今日以外のすべての行(レコード)を抽出する方法

    MySQLでは、DATE()関数とCURDATE()関数を組み合わせることで、「今日の日付以外」のレコードだけを簡単に抽出できます。この記事では、実際にテーブルを作成し、データを挿入してから、今日以外の行を取得するクエリの書き方を順を追って解説します。 1. サンプルテーブルの作成 まず、名前(Name)と期限日(DueDate)を持つテーブルを作成します。 mysql> create table DemoTable -> ( -> Name varchar(100), -> DueDate datetime -> ); Query

  6. MySQLのプリペアドステートメントで戻り値を取得する方法をわかりやすく解説

    MySQLでは、ストアドプロシージャ内でプリペアドステートメント(PREPARE文)を実行し、その結果をユーザー定義変数(@変数)に格納することで、戻り値を取得できます。ここでは、実際にストアドプロシージャを作成し、プリペアドステートメントから戻り値を選択する手順を紹介します。 ストアドプロシージャの作成 まず、プリペアドステートメントを実行して値を変数に格納するストアドプロシージャ「return_value」を作成します。 mysql> DELIMITER // mysql> CREATE PROCEDURE return_value() -> BEGIN

  7. MySQLで列の重複値の出現回数を集計・並べ替える方法

    MySQLでは、GROUP BYとORDER BY DESCを組み合わせることで、列に含まれる重複値(繰り返し値)ごとの出現回数を簡単に集計できます。この記事では、実際にテーブルを作成しながら、その手順をわかりやすく解説します。 1. サンプルテーブルの作成 まずは、投稿メッセージを格納するサンプルテーブルを作成しましょう。以下のようにCREATE TABLE文を実行します。 mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ->

  8. 【MySQL】行内のNULLの数をカウントする方法|ISNULL()関数の使い方を解説

    MySQLで行内のNULLの数をカウントするには?MySQLでは、ISNULL()関数を使用することで、行内に含まれるNULL値の数を簡単にカウントできます。ISNULL()関数は、引数がNULLの場合に「1」を、NULLでない場合に「0」を返すため、複数の列に対するISNULL()の戻り値を合計すれば、その行のNULLの総数を求めることができます。ここからは、実際にサンプルテーブルを作成しながら手順を見ていきましょう。1. サンプルテーブルを作成するまず、CREATE TABLE文でテーブルを作成します。mysql> create table DemoTable   

  9. MySQLのIF句を使って学生の合否(PASS/FAIL)を新しい列に表示する方法

    MySQLでは、IF()関数を活用することで、条件に応じた値を新しい列として表示できます。本記事では、学生のスコアに基づいて「PASS(合格)」または「FAIL(不合格)」を判定し、その結果を新しい列に表示する方法を、実際のコード例とともにわかりやすく解説します。1. テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100), -> Su

  10. MySQLでNULLを除外してレコードを表示する方法|IS NOT NULLの使い方を解説

    MySQLでNULL値が含まれるレコードを除外し、値が存在するレコードだけを取得したい場合は、IS NOT NULL演算子を使用します。NULLは「値が不明・未設定」であることを表す特殊な状態のため、通常の比較演算子(= や !=)では判定できない点に注意が必要です。この記事では、実際にテーブルを作成し、NULLを含むデータを準備したうえで、IS NOT NULLを使ったレコードの抽出方法をサンプルコード付きで解説します。1. テーブルを作成するまず、検証用のテーブルを作成しましょう。ここでは「FirstName」という1つのカラムを持つシンプルなテーブルを用意します。mysql> cr

  11. MySQLでIDの降順(DESC)に並べたテーブルから最上位のレコードを取得する方法

    概要テーブル内で最も新しい(IDが最大の)レコードを1件だけ取得したい場合は、ORDER BY 句で DESC(降順)を指定し、LIMIT 1 を組み合わせるのが基本的な方法です。これにより、IDの降順で並べ替えた結果の先頭行、すなわちIDが最も大きいレコードを効率的に取り出せます。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable   -> (   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  

  12. MySQLでID列(AUTO_INCREMENT)のシード値を取得・変更する方法

    MySQLでAUTO_INCREMENT(ID列)の現在のシード値を確認するには、SHOW VARIABLESコマンドを使用します。mysql> SHOW VARIABLES LIKE auto_inc%;出力結果上記のコマンドを実行すると、以下のような出力が得られます。+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 1 | | auto_increm

  13. MySQLで複数の列を並べ替える方法|ORDER BY句の使い方を解説

    MySQLでは、ORDER BY句を使うことで、1つまたは複数の列を基準に結果セットを並べ替えることができます。複数の列を指定する場合は、列名をカンマで区切って記述します。最初に指定した列が優先され、同じ値を持つ行については、次に指定した列の順序で並べ替えられる仕組みです。まずは、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int, -> Value int -> ); Query OK, 0 rows affected (0.68 sec)続いて、inse

  14. MySQLのSELECT文でUNSIGNED INT型に-1を掛け算する方法

    MySQLでは、UNSIGNED(符号なし)INT型のカラムに-1を掛けると、結果が符号なしの範囲で処理されるため、エラーや予期しない巨大な値が返されることがあります。この問題を回避するには、CAST()関数を使って計算結果をSIGNED(符号あり)型に変換します。この記事では、実際にテーブルを作成し、SELECT文でUNSIGNED INT値に-1を掛ける手順を解説します。1. テーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable-> (-> Value int unsigned-> );Query OK,

  15. MySQLでvarchar型フィールドの数値を比較する方法は?CAST関数の使い方を解説

    結論:CAST()関数を使えば比較可能MySQLでは、varchar型(文字列型)のフィールドに数値が文字列として格納されていても、CAST()関数を使って数値型に変換することで、数値として比較することができます。ここからは、実際にサンプルを使いながら手順を詳しく見ていきましょう。1. テーブルを作成するまず、学生のスコアをvarchar型で保存するテーブルを作成します。mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ->

  16. MySQLでハイフンを含むレコードを大文字・小文字を区別して完全一致検索する方法

    MySQLでは、WHERE句の後にBINARY演算子を使用することで、大文字と小文字を区別した完全一致検索が可能になります。デフォルトの照合順序(collation)では文字列比較が大文字・小文字を区別しないため、厳密な一致を求める場合にはBINARYキーワードが有効です。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> EmployeeCode varchar(100) -> ); Query OK, 0 rows affected (0.64 sec)次に、INSERTコマ

  17. MySQLで数値のみを含む値を削除・除外するクエリ|REGEXPの使い方を徹底解説

    はじめにSQL ServerなどではLIKE句で「%[^0-9]%」というパターンが使えますが、MySQLではこの書き方がそのまま機能しません。そこで役立つのがREGEXP演算子です。本記事では、REGEXPを使って数値以外の文字を含む値を抽出する方法を、テーブル作成から実行結果まで順番に解説します。ステップ1:テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> ClientCode varchar(100) -> ); Query OK, 0 rows aff

  18. MySQLのLIKEとNOT LIKEを使って同様の結果を表示する方法

    MySQLでは、LIKE演算子とNOT LIKE演算子を使うことで、指定したパターンに一致(または一致しない)レコードを柔軟に抽出できます。ただし重要な注意点として、NULL値はどちらの演算子でもマッチしないため、NULLの行も結果に含めたい場合は「IS NULL」条件を組み合わせる必要があります。本記事では、サンプルテーブルを作成し、LIKEとNOT LIKEで同様の結果を得る手順を実例とともに解説します。 1. サンプルテーブルの作成 まず、CREATE TABLE文でテーブルを作成します。 mysql> create table DemoTable   &nb

  19. MySQLで文字列を日時(DATETIME)に変換する方法【STR_TO_DATE活用術】

    MySQLでは、STR_TO_DATE()関数とフォーマット指定子を組み合わせることで、VARCHAR型などで文字列として保存されている日付・時刻データを、DATETIME型に変換することができます。 基本構文 フォーマット指定子を使用した基本構文は以下の通りです。 select str_to_date(yourColumnName,%d/%m/%Y %h:%i %p) as anyAliasName from yourTableName; 主なフォーマット指定子の意味 %d:日(2桁) %m:月(2桁) %Y:年(4桁) %h:時(12時間制・2桁) %i:分(2桁) %p:午前/午後

  20. MySQLで特定の文字列を優先して並べ替える方法

    MySQLでは、CASE式とSUBSTRING()関数を組み合わせることで、特定の文字列を持つレコードを優先的に並べ替えることができます。本記事では、実際にテーブルを作成し、指定した部分文字列で始まる名前を先頭に表示する手順を解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable     -> (     -> FirstName varchar(100)     -&g

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:91/229  20-コンピューター/Page Goto:1 85 86 87 88 89 90 91 92 93 94 95 96 97