MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLではSELECT *より列名を明示した方が高速?パフォーマンスの違いを解説

    MySQLにおいて、SELECT *は必要な列だけを明示的に指定する方法よりも遅くなります。SELECTクエリを書く際は、取得したい列名を明示的に記述する方が良い選択とされています。ここでは、簡単なサンプルを使ってその違いを確認してみましょう。 テーブルの作成 まず、以下のようにテーブルを作成します。 mysql> create table DemoTable(     Id int,     Name varchar(20),     Age int,  

  2. MySQLの単一クエリでNULLの件数・0の件数・それらを除く値の種類数を同時にカウントする方法

    MySQLでは、sum() 関数と count(distinct) を組み合わせることで、1つのクエリだけで「NULLの件数」「0の件数」「NULLと0を除いた値の種類数」を同時に取得できます。この記事では、実際にテーブルを作成して動作を確認する手順を解説します。 1. サンプルテーブルの作成 まず、カウント対象となるテーブルを作成します。 mysql> create table DemoTable( Value int ); Query OK, 0 rows affected (1.35 sec) 2. テストデータの挿入 insertコマンドを使って、数値・0・NULLが混在

  3. 【MySQL】最後のクエリの総行数を取得する方法:SQL_CALC_FOUND_ROWSとFOUND_ROWS()の使い方

    MySQLでは、FOUND_ROWS()関数を使うことで、直前に実行したクエリが該当させた全行数を簡単に取得できます。この記事では、SQL_CALC_FOUND_ROWSと組み合わせた具体的な使い方を、実例とともにわかりやすく解説します。基本構文LIMIT句で表示件数を制限しながら、条件に一致する全行数を把握したい場合は、SELECT文にSQL_CALC_FOUND_ROWSを付けて実行します。基本構文は以下の通りです。SELECT SQL_CALC_FOUND_ROWS TABLE_NAME FROM `information_schema`.tables WHERE TABLE_NAME

  4. 【MySQL】単一のクエリで最小値と最大値を同時に取得する方法

    MySQLでは、UNIONを活用することで、たった1つのクエリでテーブル内の最小値と最大値を同時に取得できます。MIN()関数とMAX()関数をサブクエリとして組み合わせるのがポイントです。ここでは、テーブルの作成からデータの挿入、実際のクエリ実行まで順番に解説します。サンプルテーブルを作成するまず、CREATE TABLE文でテーブルを作成します。mysql> create table DemoTable ( Price int ); Query OK, 0 rows affected (0.57 sec)データを挿入する続いて、INSERT文でいくつかのレコードを追加します。

  5. MySQLでブール(BOOLEAN)列にデフォルト値1を設定・変更する方法

    MySQLでは、ALTER TABLE文とDEFAULT句を組み合わせることで、既存のブール(BOOLEAN)型の列にデフォルト値「1」を割り当てることができます。あらかじめ設定しておけば、INSERTコマンド実行時にその列へ値を明示的に指定しなくても、自動的に1が格納されます。 サンプルテーブルを作成する まずはテーブルを作成しましょう。 mysql> create table DemoTable (     isAdult int ); Query OK, 0 rows affected (1.39 sec) 既存の列にデフォルト値1を設定する

  6. 【MySQL】GROUP BYとAVG()関数で同じIDを持つ行の平均値を求める方法

    はじめに MySQLで同じIDを持つ複数の行の平均値を求めたい場合は、GROUP BY句とAVG()関数を組み合わせるのが基本です。この記事では、学生IDごとに点数(マーク)の平均を計算する具体例をもとに、実行手順をわかりやすく解説します。 手順1:テーブルを作成する まず、サンプルデータを格納するためのテーブルを作成します。 mysql> create table DemoTable ( StudentId int, StudentMarks int ); Query OK, 0 rows affected (0.83 sec) 手順2:レコードを挿入する 次に、I

  7. 【MySQL】2日以内に有効期限が切れるレコードを検索するクエリの書き方

    MySQLで2日以内に有効期限が到来するレコードを検索したい場合は、BETWEENキーワードを使用すると簡単に実現できます。この記事では、テーブル作成から実際の検索クエリまで、手順を追って解説します。1. サンプルテーブルの作成まず、有効期限日を格納するテーブルを作成しましょう。mysql> create table DemoTable ( ExpiryDate date ); Query OK, 0 rows affected (0.55 sec)注意: この記事では、現在の日付が「2019-08-18」であることを前提に説明を進めます。2. テストデータの挿入INSERT文を

  8. MySQLでアンダースコア以降の文字列のみを抽出して更新する方法

    はじめにMySQLでは、SUBSTRING()関数とLIKE句を組み合わせることで、文字列の一部(たとえばアンダースコア以降の部分)だけを抽出して更新できます。本記事では、具体的なサンプルコードを使いながら、その手順をわかりやすく解説します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable ( UserName varchar(100) ); Query OK, 0 rows affected (0.69 sec)レコードの挿入次に、INSERTコマンドを使ってテーブルにデータを登録します。mysql> i

  9. MySQLで特定の数値より大きい最小の数値を取得する方法

    MySQLである基準値より大きい数値の中から、最も小さいもの(次に近い数値)を取得したい場合があります。例えば、ある閾値を超える最小の値を求めたいときなどです。このようなケースでは、集計関数 MIN() と WHERE 句を組み合わせることで簡単に実現できます。この記事では、サンプルテーブルを使いながら、具体的な手順をわかりやすく解説します。1. サンプルテーブルを作成するまず、数値を格納するためのテーブルを作成しましょう。mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.54 s

  10. MySQLで一部のレコードをスキップしながらDESC(降順)で並べ替えたレコードを表示する方法

    MySQLでは、ORDER BY句とLIMIT句を組み合わせることで、レコードを降順(DESC)に並べ替えつつ、先頭の一部をスキップして表示することが可能です。LIMIT句は「LIMIT オフセット, 件数」の形式で指定でき、オフセットの数だけレコードをスキップします。 テーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable ( Id int, Name varchar(100) ); Query OK, 0 rows affected (0.94 sec) レコードの挿入 INSERTコマンドを使用して、テーブル

  11. MySQLデータベースの列から一意(ユニーク)なレコード数をカウントする方法

    MySQLである列に含まれる重複しない(一意の)レコード数を集計したい場合は、集計関数 COUNT(DISTINCT ...) を GROUP BY 句と組み合わせて使用します。これにより、ユーザーごとの投稿メッセージ数のように、グループ単位での一意レコード数を簡単に取得できます。実際にサンプルを使って確認してみましょう。1. サンプルテーブルを作成するまず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable ( UserName varchar(100), UserPostMessage text ); Query OK,

  12. 【MySQL】UNIONとDISTINCTを使って先頭の2つの値を固定表示し、残りのレコードを表示する方法

    はじめにMySQLでは、SELECT文とUNION演算子を組み合わせることで、特定の値を結果の先頭に固定表示しつつ、テーブル内の残りの値をDISTINCTで重複なしに表示できます。本記事では、その具体的な手順をサンプルコードとともに解説します。1. テーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.96 sec)2. レコードの挿入INSERTコマンドを使って、テーブルにレコードを挿入していきます。

  13. MySQLのLIMITを使って上位2つの値を取得する方法をわかりやすく解説

    MySQLで上位N件の値を取得する基本テーブルから最大値などの上位の値を取得したい場合は、ORDER BY DESC(降順ソート)を使用します。さらに、取得する件数を2件に絞りたい場合は LIMIT 2 を組み合わせることで実現できます。本記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、上位2つの値を取得する手順を順番に見ていきましょう。1. サンプルテーブルの作成まず、数値カラム「Amount」を持つテーブルを作成します。mysql> create table DemoTable(    Amount int);Query OK,

  14. MySQLで重複データを含む列から一意な値の件数を取得する方法

    はじめにMySQLでは、COUNT(DISTINCT 列名) を使うことで、重複する値を含む列から「重複を除いた一意な値の件数」を簡単に取得できます。この記事では、サンプルテーブルを作成しながら、具体的な手順と実行結果をわかりやすく解説します。サンプルテーブルの作成まず、以下のコマンドでテーブルを作成しましょう。mysql> create table DemoTable ( StudentId int, StudentFirstName varchar(100) ); Query OK, 0 rows affected (0.88 sec)レコードの挿入次に、INSERT

  15. MySQLクエリで特定の行を検索する方法|WHERE句を使った条件指定の基本

    MySQLで大量のデータが保存されたテーブルから、目的の1行だけを取り出したい場面はよくあります。そんなときに活躍するのがWHERE句です。この記事では、サンプルテーブルを作成しながら、特定の行を検索して表示する方法を初心者向けにわかりやすく解説します。 1. サンプルテーブルを作成する まず、検索対象となるテーブルを作成しましょう。ここではユーザーIDとユーザー名を持つ「DemoTable」を使用します。 mysql> create table DemoTable ( UserId int, UserName varchar(100) ); Query OK, 0 r

  16. MySQLでNULL値を比較して新しい列に「1」を表示する方法

    MySQLでNULL値を比較して新しい列に「1」を表示する方法 MySQLである列の値がNULLかどうかを判定し、NULLの場合に新しい列へ「1」を表示したい場面はよくあります。このようなときは、IF()関数とIS NULLを組み合わせることで簡単に実現できます。 この記事では、実際にテーブルを作成し、NULL値を含むデータを挿入したうえで、NULL判定の結果を新しい列に表示するまでの手順を順番に解説します。 1. テーブルを作成する まずはサンプル用のテーブルを作成しましょう。「Name」(名前)と「CountryName」(国名)の2つの列を持つシンプルな構造です。 mysql> c

  17. MySQLで特定の列の最大値を取得し、同じ列の他のすべての値に設定する方法

    概要MySQLでは、MAX()関数とスカラサブクエリを組み合わせることで、ある列の最大値を取得し、その値を同じ列の他のすべての行に設定・表示することができます。ここでは、名前とスコアを格納するテーブルを例に、具体的な手順をわかりやすく解説します。1. サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable ( FirstName varchar(100), Score int ); Query OK, 0 rows affected (0.60 sec)2. レコードの挿入INSERT文を使ってテーブルにデータを追

  18. MySQLのカラム名に予約語「index」は使用できる?バッククォートの正しい使い方を解説

    MySQLのカラム名に予約語「index」は使用できる? 結論から言うと、使用できます。ただし、「index」はMySQLの予約語であるため、カラム名として使う際にはバッククォート(`)で囲む必要があります。バッククォートで囲むことで、MySQLがキーワードと識別子(カラム名)を正しく区別できるようになり、エラーを回避できます。 「index」という単語は、インデックスの作成などに関わる重要なキーワードとしてMySQLに登録されているため、そのまま記述すると構文エラーが発生する可能性があります。以下、具体的な手順を見ていきましょう。 1. テーブルを作成する まず、予約語「index」をカラム

  19. MySQLで一連の数値の最初の数値を基準に並べ替えるクエリの書き方

    概要カンマ区切りで格納された一連の数値(例:「245,654,76,89,98」)を、その中の最初の数値を基準にして並べ替えたい場合は、ORDER BY句とSUBSTRING_INDEX()関数、さらにCAST()関数を組み合わせることで実現できます。まずはサンプル用のテーブルを作成しましょう。mysql> create table DemoTable ( SetOfNumbers text ); Query OK, 0 rows affected (0.53 sec)続いて、insertコマンドでいくつかレコードを挿入します。mysql> insert into Demo

  20. MySQLで特定のレコードを先頭に表示する方法:ORDER BY CASEの使い方

    MySQLでは、ORDER BY CASEステートメントを使うことで、特定のレコードを結果セットの一番上に配置できます。この記事では、実際にテーブルを作成し、データを挿入して、特定のレコード(ここでは「John」)を先頭に並べ替える手順を解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable ( StudentName varchar(100), StudentMarks int ); Query OK, 0 rows affected (0.97 sec) 2. レコードの挿入 INS

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:65/229  20-コンピューター/Page Goto:1 59 60 61 62 63 64 65 66 67 68 69 70 71