MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLの単一クエリで複数のCOUNT()を取得する方法(CASE式の活用)

    MySQLでは、CASE文をCOUNT関数と組み合わせることで、1つのクエリ内で複数の条件別カウントを同時に取得できます。通常、条件ごとに個別のクエリを実行する必要がありますが、CASE式を使えばテーブルへのアクセスが1回で済み、パフォーマンス面でも有利になります。この記事では、実際にテーブルを作成し、単一のSELECT文で複数のCOUNT()結果を取得する手順を解説します。1. サンプルテーブルの作成まず、姓(LastName)を格納するシンプルなテーブルを作成しましょう。mysql> create table DemoTable-> (-> LastName varcha

  2. MySQLで文字列から数字部分を抽出する方法をわかりやすく解説

    はじめにMySQLでは、「John19383」のような文字列から「19383」といった数字部分だけを抽出したい場面があります。本記事では、REVERSE関数・FORMAT関数・REPLACE関数を組み合わせて数字部分を抽出する方法を、実際のSQL例とともにわかりやすく解説します。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> StudentId varchar(100) -> );Query OK, 0 rows affected (0.71 sec)レコード

  3. MySQLのUPDATEとSET、LIMITを使って、すべての行ではなく一部だけ同じ値で更新する方法

    MySQLでは、UPDATE文とSET句、さらにLIMIT句を組み合わせることで、テーブル内のすべての行ではなく、指定した件数の行だけを同じ値で更新することができます。この記事では、実際のコード例を使いながら手順をわかりやすく解説します。1. テーブルを作成するまず、CREATE TABLE文でサンプル用のテーブルを作成しましょう。 ); Query OK, 0 rows affected (0.69 sec)AUTO_INCREMENTを設定したIdカラムを主キーとし、名前を格納するNameカラム(varchar型)を持つシンプルなテーブルです。2. レコードを挿入する続いて、INSERTコ

  4. MySQLで2つの文字列をスペース区切りで連結する方法

    MySQLでは、CONCAT()関数を使うことで、複数の文字列を自由に連結できます。引数の間に半角スペース( )を挿入すれば、スペース区切りの連結も簡単に実現可能です。この記事では、実際にテーブルを作成し、2つのカラムの値をスペースで連結して更新する手順を解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> Name varchar(20),-> Subject varch

  5. MySQLで3回以上出現するレコードを表示する方法

    MySQLで3回以上出現するレコードを表示したい場合は、GROUP BY句とHAVING句を組み合わせて使用します。まずはサンプルテーブルを作成してみましょう。 mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Subject varchar(100) -> ); Query OK, 0 rows affected (0.53 sec) 続いて、insertコマンドを使用してテーブルにいくつかのレコードを挿入します

  6. MySQLのテーブルから特定の行を除外する方法をわかりやすく解説

    MySQLでテーブルから特定の行を除外して取得したい場合は、比較演算子 <>(等しくない)を使用します。なお、<> の代わりに != を使っても同じ結果が得られます。ここでは、実際にテーブルを作成し、データを挿入したうえで、特定の行を除外するSELECT文の使い方を順番に解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable -> ( -> Id int, -> FirstName varchar(100) -> ); Quer

  7. MySQLで列の数値を除算し、小数の結果を整数として表示する方法

    MySQLでは、INT型の列を単純に除算すると、結果は自動的に小数(DECIMAL)として返されます。本記事では、まず通常の除算の挙動を確認し、その後、CAST関数を使って結果を整数として表示する方法を解説します。1. サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Number int -> );Query OK, 0 rows affected (0.

  8. MySQLで指定した範囲の値をテーブルに自動挿入する方法

    MySQLでは、ストアドプロシージャを作成することで、指定した範囲の値をテーブルへ自動的に挿入できます。本記事では、10から20までの連続した数値をテーブルに一括登録する手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、値を挿入するためのテーブルを作成します。 mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.55 sec) ここでは「Value」というint型カラムを1つだけ持つシンプルなテ

  9. MySQLデータベースの文字セットを確認する方法

    MySQLデータベースの文字セットを確認する方法MySQLでは、SHOW CREATE DATABASE文を使うことで、データベースに設定されているデフォルトの文字セット(charset)や照合順序(collation)を簡単に確認できます。マルチバイト文字を扱う際には、文字化けを防ぐためにも文字セットの設定を把握しておくことが重要です。データベース全体の文字セットを確認するまず、例として「web」というデータベースを作成したとします。このデータベースの文字セットを確認するには、以下のコマンドを実行します。mysql> SHOW CREATE DATABASE web;実行すると、次のよ

  10. MySQLでスコア列の合計を一意なIDの数で平均する方法

    MySQLでスコア列の合計を一意なIDの数で割る方法 MySQLでは、DISTINCT句とCOUNT()関数を組み合わせることで、スコア列(Score)の合計値を重複のないIDの数で割り、平均値を求めることができます。この記事では、具体的な手順をサンプルコード付きで解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。ここでは「Id」と「Score」という2つの整数型カラムを持つテーブルを定義します。 mysql> create table DemoTable    -> (   &nbs

  11. MySQLでデータベース作成時に発生するエラー1064(42000)の原因と解決方法

    エラー1064(42000)が発生する原因とはMySQLで「ERROR 1064 (42000)」が発生する主な原因は、SQL構文が正しく記述されていないことです。代表的なケースとして、バッククォート(`)の付け方に誤りがある場合や、データベース名にハイフン(-)を含めたまま作成しようとした場合などが挙げられます。たとえば「Demo-Table」のようにハイフン入りの名前をそのまま指定すると、このエラーが発生します。エラーを解決するための基本方針このエラーを回避するには、データベース名をバッククォートで正しく囲むか、あるいは特殊文字を含まない名前を使用します。まず、バッククォートを使わない標準

  12. 単一のMySQLクエリで列内の特定の値の出現回数をカウントする方法

    はじめにMySQLでテーブルの特定の列に含まれる値の出現回数を調べたい場合、GROUP BY句とIN()を組み合わせることで、単一のクエリで簡単に実現できます。この記事では、実際にサンプルテーブルを作成しながら、その手順をわかりやすく解説します。1. サンプルテーブルの作成まず、CREATE TABLE文を使用してテーブルを作成します。mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100)

  13. MySQLで生年月日(DOB)から年齢を取得する方法

    MySQLで生年月日(DOB:Date of Birth)から年齢を求めるには、TIMESTAMPDIFF()関数を使用します。第1引数に「YEAR」を指定すると、2つの日付の差が「年」単位で返されるため、誕生日から見た満年齢をそのまま計算できます。基本構文SELECT TIMESTAMPDIFF(YEAR, 日付カラム名, CURRENT_DATE) AS 任意の別名 FROM テーブル名;実際に試してみよう1. テーブルを作成するまずは生年月日を格納するテーブルを作成します。mysql> CREATE TABLE DemoTable -> ( -> I

  14. MySQLでCONCAT()関数を使って文字列フィールドを連結して更新する方法

    MySQLで文字列フィールドの値に別の文字列を連結して更新したい場合は、CONCAT()関数を使用します。UPDATE文の中でCONCAT()を組み合わせることで、既存の値を保持しながら新しい文字列を追加できます。ここでは、実際の手順をサンプルとともに解説します。1. テーブルの作成まず、サンプル用のテーブルを作成します。mysql> create table DemoTable -> ( -> SequenceId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentId varchar(100)

  15. MySQLクエリで現在日付との差分を計算して並べ替え・表示する方法

    はじめに 日付を「現在の日付からの差分」をもとに並べ替えて表示したい場合は、ORDER BY句を使用します。たとえば、まだ来ていない期限を近い順に上部へ表示し、すでに過ぎた期限は後ろにまとめたい、というようなケースで活躍するテクニックです。 現在の日付を確認する まず、NOW()関数で現在の日時を確認しておきます。 mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-06-09 21:08:16 | +--------------------

  16. MySQLでAUTO_INCREMENT(自動採番)列を扱う方法をわかりやすく解説

    MySQLで自動増分(オートインクリメント)の列を扱うには、テーブル作成時に該当する列へ AUTO_INCREMENT を指定します。これにより、レコードを挿入するたびに一意の番号が自動的に採番されるようになります。AUTO_INCREMENT付きテーブルの作成まずはテーブルを作成しましょう。ここでは、自動増分させたい列である Id フィールドに PRIMARY KEY と AUTO_INCREMENT を設定しています。mysql> create table DemoTable-> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY

  17. MySQLでテーブルの現在のサイズ(メモリ上)を確認する方法

    MySQLでテーブルの現在のサイズ(ディスクやメモリ上での占有容量)を調べたい場合、「SHOW TABLE STATUS」ステートメントを使用すると、テーブル名、ストレージエンジン、行数、データ長など、テーブルに関する詳細情報を一度に確認できます。テーブルサイズを確認する基本のコマンド特定のテーブルの現在のサイズを取得するには、以下のようにコマンドを実行します。「yourTableName」の部分を実際のテーブル名に置き換えてください。show table status like yourTableName\G「\G」を付けることで、結果が縦方向に整形されて表示され、多くの項目が出力される場合

  18. MySQLで最近作成されたテーブルの作成日時を取得する方法

    MySQLでは、information_schema.TABLES を参照することで、データベース内の各テーブルの作成日時を簡単に確認できます。最近作成されたテーブルの作成日時を取得するには、以下の構文を使用します。select table_name, create_time from information_schema.TABLES where table_schema = yourDataBaseName order by CREATE_TIME desc limit 1;サンプルテーブルの作成まず、1つ目のテーブルを作成します(作成時刻:2019-06-10 16:40:51)。mys

  19. MySQLで時間を秒に変換して合計する方法【TIME_TO_SEC活用術】

    MySQLで時間データを扱う際、複数の時間を単純にSUM()で合計すると、正しい結果が得られないことがあります。そんなときに役立つのが、TIME_TO_SEC()関数とSEC_TO_TIME()関数の組み合わせです。基本的な考え方はシンプルです。まずTIME_TO_SEC()で各時間を秒数に変換し、その合計値をSEC_TO_TIME()でもう一度「時:分:秒」形式に戻すことで、正確な合計時間を求められます。手順1:サンプルテーブルを作成するまず、時間型(TIME)のカラムを持つテーブルを作成しましょう。mysql> create table DemoTable -> (

  20. MySQLの結果セットで数値を文字列に置き換える方法|CASE文の実践的な使い方

    MySQLの結果セットで数値を文字列に置き換えることは可能?はい、CASE文を使用することで、MySQLの結果セット内の数値を任意の文字列に置き換えることができます。例えば、boolean型のカラムに格納された「1」「0」といった数値を、「既婚」「未婚」のような分かりやすい文字列として表示したい場合に非常に便利です。ここでは、実際にテーブルを作成し、データを挿入して、CASE文による置き換えを行う手順を順番に解説します。ステップ1:テーブルを作成するまず、boolean型のカラムを持つテーブル「DemoTable」を作成します。mysql> create table DemoTable

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