MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLでNULLを含む列からNULL以外(NOT NULL)の値だけを抽出して表示する方法

    MySQLのIS NOT NULLを使ってNULL以外の値のみを表示するMySQLで、NULLとNULL以外のレコードが混在する列からNULL以外の値だけを取得したい場合は、IS NOT NULL演算子を使用します。この記事では、実際にテーブルを作成しながら手順を解説します。1. テーブルの作成まず、日付型の列を持つサンプルテーブルを作成します。mysql> create table DemoTable1      (      DueDate date      ); Query OK, 0 ro

  2. MySQLでテーブル内の^(キャレット)文字を検索する方法

    MySQLで^文字を検索するには?MySQLのテーブルやカラム名に含まれる^(キャレット)文字を検索したい場合は、LIKE演算子を使用します。特に、information_schemaデータベースのcolumnsテーブルを参照することで、データベース全体から^を含むカラム名を効率的に特定できます。基本の検索構文以下の構文を使用して、^文字を含むカラムを検索できます。select table_schema, table_name, column_namefrom information_schema.columnswhere column_name like %^%;このクエリは、スキーマ名(t

  3. MySQLストアドプロシージャで数学演算を実行する方法

    MySQLのストアドプロシージャで計算処理を行うMySQLのストアドプロシージャを利用すると、金額×数量のような数学演算をまとめて定義し、必要なときに簡単に呼び出して実行できます。ここでは、引数として受け取った「amount(金額)」と「quantity(数量)」を掛け合わせて合計を求めるプロシージャを作成する手順を紹介します。ストアドプロシージャの作成まず、delimiter を変更してプロシージャ本体を定義します。以下の例では、amount と quantity の2つの INT 型引数を受け取り、その積を「Total」として表示します。mysql> delimiter // mys

  4. MySQLストアドプロシージャでNULLまたは空の変数をチェックする方法

    MySQLのストアドプロシージャ内で、変数がNULLまたは空文字列であるかどうかを判定するには、IF条件を使用します。NULLチェックには「IS NULL」、空文字列のチェックには「= 」を組み合わせることで、どちらのケースにも対応できます。それでは、実際にストアドプロシージャを作成してみましょう。mysql> delimiter //mysql> create procedure checkingForNullDemo(Name varchar(20))     begin     

  5. MySQLで予約語「from」を列名として使用する方法

    MySQLで「from」を列名として使うには? MySQLでは「from」は予約語(リザーブドワード)として登録されているため、そのまま列名として使用するとエラーが発生します。しかし、バッククォート(`` ` ``)で囲むことで、予約語である「from」を列名として扱うことができます。 この記事では、実際にテーブルを作成し、「from」を列名としてデータの挿入や取得を行う手順を解説します。 1. バッククォートを使ってテーブルを作成する まず、列名「from」をバッククォートで囲んでテーブルを作成します。以下のSQLを実行してください。 mysql> create table Demo

  6. MySQLのALTER TABLEで一意制約(UNIQUE)を追加する方法

    MySQLでは、ALTER TABLE文を使うことで、すでに作成済みのテーブルに対して後から一意制約(UNIQUE制約)を追加できます。一意制約を設定すると、指定したカラム(または複数カラムの組み合わせ)に重複した値を挿入できなくなり、データの整合性を保つことができます。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは「FirstName(名)」と「LastName(姓)」の2つのカラムを持つテーブルを用意します。mysql> create table DemoTable1811 ( FirstName varchar(20), Las

  7. MySQLでテーブルの列名とデータ型を抽出する方法

    MySQLでテーブルに含まれる列名(カラム名)とそのデータ型を一覧として取得したい場合は、INFORMATION_SCHEMA.COLUMNS テーブルを利用するのが便利です。この方法を使えば、SQLを1つ実行するだけで、指定したデータベース・テーブル内のすべての列の情報を簡単に抽出できます。INFORMATION_SCHEMA.COLUMNSとはINFORMATION_SCHEMA.COLUMNS は、MySQLサーバーが管理しているメタデータ(スキーマ情報)を格納するシステムビューの一つです。データベース名(table_schema)やテーブル名(table_name)、列名(column

  8. MySQLで2つの異なる列の値を1つの列のリストとして選択・表示する方法(UNION ALLの活用)

    UNION ALLを使って2つの列の値を1つのリストにまとめる方法MySQLで、異なる2つの列(カラム)に格納されている値を、1つの列としてまとめて取得したい場合はUNION ALLを使用します。UNION ALLは、複数のSELECT文の結果をそのまま連結して表示できる便利な構文です。ここでは、実際にテーブルを作成して動作を確認してみましょう。1. テーブルの作成まず、2つの名前列を持つテーブルを作成します。mysql> create table DemoTable1813 ( Name1 varchar(20), Name2 varchar(20) )

  9. MySQLストアドプロシージャでIF-ELSEを実装する方法

    MySQLのストアドプロシージャ内で条件分岐を行いたい場合、IF-ELSE構文を使用します。この記事では、基本構文から実際のストアドプロシージャの作成・実行まで、サンプルコード付きでわかりやすく解説します。IF-ELSEの基本構文ストアドプロシージャ内でif-elseを実装するには、以下の構文を使用します。if yourCondition then yourStatement1; else yourStatement2; end if;条件式(yourCondition)が真(TRUE)の場合は最初のステートメントが実行され、偽(FALSE)の場合はelse以降のステートメント

  10. MySQLサーバー上のすべてのデータベース・すべてのテーブルにSELECT権限を付与する方法

    MySQLですべてのデータベース・すべてのテーブルにSELECT権限を付与するには?MySQLサーバー上のすべてのデータベースのすべてのテーブルに対してSELECT権限を付与したい場合は、GRANT SELECTステートメントを使用します。対象にワイルドカード「*.*」を指定することで、サーバー上の全データベース・全テーブルが一括して権限付与の対象となります。基本構文GRANT SELECT ON *.* TO yourUserName@yourHostName;手順1:既存ユーザーとホストの一覧を確認するまず、mysql.userテーブルを参照して、登録されているユーザー名とホストの一覧を確

  11. MySQLでDOUBLE型の桁数(長さ)を実装・設定する方法

    MySQLでDOUBLE型のカラムを作成する場合、以下のような構文を使用します。create table yourTableName ( yourColumnName double(5,2) unsigned );DOUBLE型の構文についてdouble(5,2) の「5」は整数部と小数部を合わせた全体の桁数、「2」は小数点以下の桁数を表します。つまり、この設定では最大で 999.99 までの値を格納できます。さらに、unsigned を指定すると負の値が除外され、正の数値のみを扱うカラムになります。テーブルの作成まず、実際にテーブルを作成してみましょう。mysql> create ta

  12. MySQLでテーブルの値からランダムに2件のレコードを取得する方法

    MySQLでランダムにレコードを抽出するには、ORDER BY RAND()を使用します。さらに、取得する件数を2件に限定したい場合は、LIMIT 2を組み合わせることで実現できます。この記事では、実際にテーブルを作成し、ランダムに2つの値を取得する手順を具体的な例とともに解説します。サンプルテーブルの作成まず、質問文を格納するテーブルを作成しましょう。mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec)テストデータの挿入次に、INSERT

  13. MySQLのdate()関数で日付を照合し、テーブルの列を更新する方法

    MySQLでは、date()関数とcurdate()関数を組み合わせることで、「日付部分だけ」を現在の日付と照合し、該当する行の列を更新できます。datetime型のカラムには時刻情報も含まれていますが、date()関数を使えば時刻を無視して日付のみを比較できるのがポイントです。基本構文date()関数で日付を照合しながら列を更新するための基本的な構文は以下の通りです。update yourTableName set yourColumnName=yourValue where date(yourColumnName)=curdate();サンプルテーブルの作成まず、動作確認用のテーブルを作成

  14. MySQLで単一のパラメータに複数のIDを渡す方法|FIND_IN_SET()の使い方を解説

    FIND_IN_SET()とは MySQLで単一のパラメータに複数のID(値)を渡したい場合、FIND_IN_SET()関数を使うのが便利です。この関数は、カンマ区切りの文字列リストの中から指定した値を検索し、見つかった場合はその位置(1始まり)を、見つからなかった場合は0を返します。 ここでは、実際にテーブルを作成しながら、FIND_IN_SET()の基本的な使い方を順番に解説していきます。 1. サンプルテーブルの作成 まず、従業員名と国名を格納するテーブルを作成しましょう。 mysql> create table DemoTable1817 ( EmployeeName varch

  15. MySQLのSUM()で合計を求め、AS句を使って列見出しに別名(エイリアス)を指定する方法

    MySQLでは、SUM()関数を使って数値列の合計値を簡単に計算できます。しかし、そのまま実行すると列見出しが「sum(Salary)」のように表示され、読みづらくなります。そこで活用したいのが「AS」キーワードによる別名(エイリアス)の指定です。この記事では、基本的な使い方を具体例とともに解説します。別名(エイリアス)を指定する基本構文列見出しに任意の別名を表示するには、次の構文を使用します。select sum(yourColumnName) as anyAliasName from yourTableName;サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql&

  16. GROUP BYを使わずにMySQLで重複行を削除する方法|DISTINCTキーワードの使い方

    重複する行を削除して一意のレコードだけを取得したい場合、DISTINCTキーワードを使用することで簡単に実現できます。ここでは、実際にテーブルを作成しながら手順を確認していきましょう。 テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable1801 ( Name varchar(20), Score int ); Query OK, 0 rows affected (0.00 sec) レコードの挿入 次に、INSERTコマンドを使ってテーブルにレコードを挿入します。あえて同じデータ(Joh

  17. MySQLでビュー(VIEW)を作成する方法|CREATE VIEWの基本構文と実行例を解説

    MySQLのビュー(VIEW)とは?ビュー(VIEW)とは、SQLクエリの結果セットをもとに定義される「仮想テーブル」のことです。実際のデータを物理的に保存するわけではなく、元のテーブルへの参照情報のみを保持します。そのため、複雑なクエリをシンプルな名前で呼び出せるようにしたり、ユーザーに見せたい列や行だけを限定して提供したりする際に非常に便利です。MySQLでビューを作成するには、CREATE VIEW文を使用します。ビュー作成の基本構文ビューを作成するための基本構文は以下の通りです。create view yourViewName as select * from yourTableNam

  18. MySQLでCURDATE()とLIKE句を使った部分一致検索の方法

    MySQLにはCONTAINS()という名前の関数は存在しません。そのため、現在の日付(CURDATE())に関連する文字列で部分一致検索を行いたい場合は、CONCAT()関数とLIKE句を組み合わせる方法が有効です。本記事では、実際にサンプルテーブルを作成しながら、その手順を順番に解説していきます。現在の日付を確認するまず、CURDATE()関数を使って現在の日付を取得してみましょう。mysql> select curdate();実行結果は以下の通りです。+------------+ | curdate() | +------------+ | 2019-11-28 | +----

  19. MySQLで重複するIDごとに各列の最大値を取得する方法(GROUP BYとMAX関数の活用)

    テーブル内に同じIDが複数行存在する場合、それらをグループ化して各列の最大値をまとめて取得したいケースはよくあります。このような場合には、GROUP BY句とMAX()関数を組み合わせることで簡単に実現できます。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。ここでは、学生IDと3科目の点数(Marks1〜Marks3)を格納するテーブルを例にします。 mysql> create table DemoTable1804      (      Id int,      Mark

  20. MySQLでCOALESCE()を使ってNULLのフィールドのみを更新する方法

    はじめに MySQLでは、NULLが含まれるレコードに対して、他のカラムの値を使って特定の1つのフィールドだけを更新したいケースがあります。そんなときに便利なのが COALESCE() 関数です。 COALESCE()は、引数の中から最初にNULLではない値を返す関数です。これをUPDATE文と組み合わせることで、NULLの場合だけ別のカラムの値で置き換えることができます。 サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable1805     (    &

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:25/229  20-コンピューター/Page Goto:1 19 20 21 22 23 24 25 26 27 28 29 30 31