MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLのWHERE句で現在の年を取得する方法

    MySQLのWHERE句で現在の年を取得するにはMySQLで現在の年を取得し、WHERE句で条件として使用するには、YEAR()関数とCURDATE()関数を組み合わせます。CURDATE()は現在の日付を返し、YEAR()はその日付から年を抽出します。以下の手順で具体的な使い方を見ていきましょう。1. サンプルテーブルの作成まず、テーブルを作成します。mysql> create table DemoTable1360 -> ( -> JoiningYear int -> ) -> ; Query OK, 0 rows affect

  2. MySQLデータベースから特定ドメインのURLを削除する方法

    MySQLデータベースから特定ドメインのURLを削除する方法MySQLで特定のドメインを含むURLを一括削除したい場合は、DELETE文とLIKE句を組み合わせて使用します。LIKE句にワイルドカード(%)を指定することで、特定の文字列パターンに一致するレコードだけを効率的に削除できます。それでは、実際の手順を見ていきましょう。1. サンプルテーブルを作成するまず、URLを保存するためのテーブルを作成します。mysql> create table DemoTable1361 -> ( -> URL text -> ) ;Query OK, 0 rows

  3. MySQLで特定の2つのカラムを含むすべてのテーブルを検索する方法

    データベース内に多数のテーブルがあると、「特定のカラムを両方持っているテーブルはどれか?」を一度に調べたい場面があります。そんなときは、MySQLのシステムビュー information_schema.columns を参照すれば、たった1つのSQLクエリで解決できます。 ここでは、例として「Id」と「Name」という2つのカラムを両方含むテーブルを検索します。 特定の2つのカラムを含むテーブルを検索するSQL mysql> SELECT table_name AS TableNameFromWebDatabase -> FROM information_schema.co

  4. 【MySQL】SELECTクエリ結果に行数(行番号)を値とする新しい列を追加する方法

    SELECTクエリの結果に新しい列を追加し、その値として行数(行番号)を設定したい場合は、MySQLのrow_number()を使用することで実現できます。ここでは、実際にサンプルを使いながら手順を解説します。1. テーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable1342 -> ( -> Score int -> );Query OK, 0 rows affected (0.68 sec)2. レコードの挿入次に、INSERTコマンドを使ってテーブルにデータを登録します。mysql>

  5. MySQL:単一のINSERTクエリでカンマ区切りの複数レコードをテーブルに一括挿入する方法

    MySQLでは、INSERT文を1回実行するだけで、VALUES句にカンマ区切りで値セットを並べることにより、複数のレコードを同時にテーブルへ挿入できます。レコードごとに個別にINSERT文を実行するよりも処理が高速になり、コードも簡潔に保てるため、実務でも広く使われる手法です。 ここでは、サンプルテーブルを作成し、単一のクエリで複数のレコードを挿入する具体的な手順を解説します。 1. テーブルの作成 まず、以下のSQLを実行してテーブルを作成します。ここでは、AUTO_INCREMENTの開始値を1000に設定したMyISAMエンジンのテーブルを定義しています。 mysql> crea

  6. 【MySQL】特定の列の値が0のみの行を別の列でグループ化して抽出する方法

    はじめに 「ある列の値が0のみの行を抽出し、さらに別の列でグループ化したい」,そんな場合には、GROUP BY句とHAVING句を組み合わせるのが効果的です。この記事では、実際にテーブルを作成し、データを挿入しながら、目的の結果を得るまでの手順を具体例とともに解説します。 1. サンプルテーブルの作成 まずはCREATE TABLE文でテーブルを作成しましょう。 mysql> create table DemoTable1344 -> ( -> `SequenceId` int NOT NULL AUTO_INCREMENT PRIMARY KEY,

  7. MySQLでメールアドレスのドメイン部分を別のドメインに置き換えてマスクする方法

    データベースに保存されたユーザーのメールアドレスを、そのまま公開したり他システムへ連携したりするのは避けたいケースは多くあります。本記事では、MySQLのREPLACE()関数を使って、メールアドレスのドメイン部分(例:@gmail.com)を別のドメイン(例:@amz.com)に一括置換し、マスクする手順を解説します。1. サンプルテーブルを作成するまず、メールアドレスを格納するテーブルを作成します。mysql> create table DemoTable1345-> (-> UserEmailAddress text-> );Query OK, 0 rows af

  8. 【MySQL】別のテーブルのカラムを参照してカラムを更新する方法

    別のMySQLテーブルのカラム値を参照しながら、現在のテーブルのカラムを更新したい場合には、JOIN(結合)の概念を利用します。ここでは、実際にテーブルを作成しながら、具体的な手順をわかりやすく解説していきます。1つ目のテーブル(更新される側)を作成するまず、更新対象となるテーブル「DemoTable1」を作成しましょう。mysql> create table DemoTable1    -> (    -> Id int,    -> Name va

  9. MySQLで0を末尾に回して並べ替える!条件付きSELECTとORDER BYの使い方

    MySQLでは、ORDER BY句に「カラム名=0」という条件式を組み合わせることで、0以外の値を昇順に並べたうえで、0のレコードだけを末尾にまとめて表示できます。この記事では、その具体的な書き方と実行例を分かりやすく解説します。基本構文select * from yourTableName order by yourColumnName=0, yourColumnName;この構文のポイントは、yourColumnName=0 がブール値として評価される点です。値が0であれば「1(真)」、0以外であれば「0(偽)」となるため、昇順ソートでは0以外の値の行が先に並び、その後ろに0の行が配置され

  10. ユーザー定義変数の値を加算してMySQLテーブルの行を更新する方法

    MySQLでは、ユーザー定義変数(@変数名)に値を格納し、UPDATE文の中でその値を利用することで、既存の行の列値に加算する処理を簡単に行えます。ここでは、実際のサンプルコードを使いながら手順を解説します。 1. サンプルテーブルの作成 まず、テーブルを作成します。 mysql> create table DemoTable1349 -> ( -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ProductPrice int -> ); Query OK, 0 ro

  11. MySQL:AUTO_INCREMENTの値の上書きを回避する方法(NULL・0・DEFAULTの指定)

    AUTO_INCREMENTの上書きを回避する方法MySQLでは、AUTO_INCREMENT列に値を挿入する際に NULL、0、DEFAULT のいずれかを指定することで、連番の手動上書きを回避できます。これらの値を指定すると、MySQLが自動的に次の連番を割り当ててくれるため、意図しないIDの書き換えを防ぐことができます。テーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable1350 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,

  12. MySQLで特定のカラム(columnA・columnB)を含むすべてのテーブルを検索する方法

    MySQLデータベース内で、特定のカラム名(たとえば「columnA」と「columnB」)を両方とも含んでいるテーブルを一括で調べたい場面はよくあります。そんなときに便利なのが、システムテーブル information_schema.columns です。この記事では、例として「columnA」を Id、「columnB」を Name に置き換えて、具体的な手順を解説します。information_schema.columnsを使った検索クエリinformation_schema.columns には、データベース内のすべてのテーブルとカラムの情報が格納されています。このテーブルに対して G

  13. MySQLで3回以上出現する重複データのみを抽出する方法(HAVING COUNTの使い方)

    MySQLで3回以上重複している値を抽出するにはMySQLで、テーブル内の同じ値が3回以上出現している重複データだけを表示したい場合は、GROUP BYとHAVING COUNT()を組み合わせることで簡単に実現できます。この記事では、実際のサンプルを使いながら手順を詳しく解説します。1. サンプルテーブルの作成まず、テスト用のテーブルを作成します。以下のSQLを実行してください。mysql> create table DemoTable1351 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY

  14. MySQLのストアドプロシージャを1回呼び出すだけで2つのテーブルに値を挿入する方法

    MySQLでは、ストアドプロシージャを活用することで、1回の呼び出しで複数のテーブルに値を挿入できます。トランザクション処理や関連データの登録など、同じ値を複数テーブルに記録したい場面で非常に便利です。ストアドプロシージャの基本構文2つのテーブルに値を挿入するストアドプロシージャの構文は以下のとおりです。DELIMITER //CREATE PROCEDURE yourProcedureName(anyVariableName int)    BEGIN    insert into yourTableName1(

  15. MySQLで指定時間以降のタイムスタンプを持つレコードを選択する方法

    MySQLで指定時間以降のタイムスタンプを持つレコードを選択する方法 MySQLでは、DATE_SUB()関数とNOW()関数を組み合わせることで、「現在時刻から○分前以降」といった条件でレコードを簡単に抽出できます。この記事では、サンプルテーブルの作成から、直近2分以内のタイムスタンプを持つレコードを取得するクエリの実行まで、手順を追って解説します。 1. テーブルを作成する まず、DATETIME型のカラムを持つテーブルを作成します。 mysql> create table DemoTable1335 -> ( -> ArrivalTime datetim

  16. 【MySQL】COALESCE関数を使ってNULLの場合に別のカラムの値を取得する方法

    MySQLでは、あるカラム(フィールド)の値がNULLになっている場合に、代わりに別のカラムの値を取得したいケースがあります。このような場合にはCOALESCE()関数を使用すると便利です。COALESCE()は引数の中から最初に見つかったNULL以外の値を返す関数です。サンプルテーブルの作成まず、テーブルを作成します。mysql> create table DemoTable1336    -> (    -> FirstName varchar(20),    -> SecondName varchar(2

  17. MySQLで特定ユーザーの全権限(GRANT)を確認する方法

    MySQLでは、サーバーに登録されているユーザーアカウントや、それぞれのユーザーが持つ権限(GRANT)をSQL文で簡単に確認できます。この記事では、まず全ユーザーの一覧を表示し、その後に特定のユーザーに付与されているすべての権限を確認する手順を解説します。 1. 登録されている全ユーザーとホスト名を表示する まず、mysql.user テーブルに対してSELECT文を実行し、ユーザー名(user)とホスト名(host)の一覧を取得します。 mysql> select user,host from MySQL.user; 実行すると、以下のようにユーザーごとのホスト情報が出力されます。

  18. SQLでValue440・Value345などの文字列として保存された数値の最大値を取得する方法

    varchar型の列に「Value440」や「Value345」のように文字列と数値が組み合わさったデータが格納されている場合、そのままMAX()関数を使っても文字列比較が行われるため、正しい最大値を取得できません。このようなケースでは、MAX()とsubstring()を組み合わせることで解決できます。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1337 -> ( -> Value varchar(50) -> ); Query OK, 0 rows affected (0

  19. MySQLでHAVING句とAVG()を使って重複する要素ごとの平均値を求め、並べ替える方法

    MySQLでグループ化したデータの平均値を条件付きで取得するにはGROUP BYでグループ化した結果に対して集計関数(AVGなど)の条件を指定する場合は、WHERE句ではなくHAVING句を使用します。WHERE句はグループ化の前に行単位でフィルタリングするため、AVG()のような集計関数を直接使うことができません。一方、HAVING句はGROUP BYによるグループ化の後に適用されるため、集計結果に対して条件を設定できます。ここでは、重複して登録された名前ごとのスコア平均を求め、その平均値が9.5未満のレコードを昇順に並べて表示する例を紹介します。1. サンプルテーブルの作成まず、テーブルを

  20. MySQLで条件に基づいて値をカウントし、結果を列ごとに表示する方法

    MySQLでは、CASE式とSUM関数、GROUP BY句を組み合わせることで、特定の条件に一致するレコード数を数え、その結果を科目ごとなどの異なる列として表示できます。ここでは、学生ごとの科目別出現回数を集計する例を紹介します。1. サンプルテーブルを作成するまず、テーブルを作成します。mysql> create table DemoTable1485    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, &n

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:49/229  20-コンピューター/Page Goto:1 43 44 45 46 47 48 49 50 51 52 53 54 55