MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLでNOT INを使って特定のレコードを除外して削除する方法

    NOT IN演算子で残したいレコード以外を一括削除する MySQLでは、DELETE文とNOT IN演算子を組み合わせることで、「削除したくないレコード」を指定し、それ以外のレコードをまとめて削除できます。この記事では、実際にテーブルを作成してデータを挿入し、NOT INを使った削除の手順を順番に解説します。 1. テーブルを作成する まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.65 sec) 2. レ

  2. MySQLのテーブル名にアンダースコアは使える?バッククォートでの作成方法を解説

    はい、MySQLではテーブル名にアンダースコア(_)を含めることが可能です。ポイントは、テーブル名をバッククォート(`)で囲むことです。特殊文字や記号を含む識別子は、バッククォートで明示的に囲むことで正しく認識されます。基本の構文INSERT INTO `テーブル名` VALUES(値1, 値2, ......N);テーブルの作成まず、アンダースコアを含むテーブル「DemoTable_1」を作成してみましょう。mysql> create table `DemoTable_1` ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Lo

  3. MySQLでVARCHAR型の日付を別の形式に変換する方法

    VARCHAR型のカラムに日付データを保存している場合、後から別の形式に変更したくなることがあります。例えば「12/01/2019」のような文字列を「2019-12-01」の形式に統一したいケースです。このような場合は、UPDATE文とSTR_TO_DATE()関数を組み合わせることで、既存のデータを一括して変換できます。基本構文日付形式を変換するための基本的な構文は以下のとおりです。update テーブル名 set カラム名=str_to_date(カラム名,%m/%d/%Y);フォーマット指定子「%m/%d/%Y」は、「月/日/年」の順で格納された文字列を解析することを意味します。実際のデ

  4. MySQLでテーブルの列から0と1の件数をカウントし、2つの列に分けて表示する方法

    はじめに テーブルの1つの列に格納された「0」と「1」の個数をそれぞれカウントし、結果を複数の列に分けて表示したい場合、MySQLの集計関数SUM()を利用すると簡単に実現できます。「条件式が真なら1、偽なら0を返す」という性質を活用するのがポイントです。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable ( isMarried tinyint(1) ); Query OK, 0 rows affected (0.84 sec) 2. テストデータを挿入する INSERT文を使って、いく

  5. MySQLで秒数をもとに時間を計算する方法をわかりやすく解説

    MySQLでは、TIME_TO_SEC()関数とSEC_TO_TIME()関数を組み合わせることで、時間データを秒単位に変換して集計し、その結果を再び時刻形式で取得できます。特に、複数の時刻の合計など、24時間を超える可能性がある計算を行う場合に非常に便利です。ここでは、実際にテーブルを作成しながら手順を確認していきましょう。 1. サンプルテーブルの作成 まず、TIME型のカラムを持つテーブルを作成します。 mysql> create table DemoTable (     Logouttime time ); Query OK, 0 r

  6. MySQLでキーと値のペア形式のレコードを表示する方法|JSON_OBJECTAGGの使い方

    JSON_OBJECTAGG()とはMySQLでレコードをキーと値のペア形式で表示したい場合には、集計関数「JSON_OBJECTAGG()」を使用します。この関数を使うと、GROUP BYでグループ化した行をもとに、指定したカラムをキー、別のカラムを値とするJSONオブジェクトを生成できます。ここでは、サンプルテーブルを作成し、実際にJSON_OBJECTAGG()を使ってキーと値のペア形式でレコードを表示するまでの手順を解説します。1. サンプルテーブルを作成するまず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable ( Id

  7. MySQLで2つの特定の値を持つレコードを選択する方法|GROUP BYとHAVING句の使い方

    特定の2つの値(ここではId)に一致するレコードを選択したい場合は、GROUP BY句とHAVING句を組み合わせることで実現できます。この記事では、テーブルの作成から実際にレコードを抽出するまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。 1. テーブルを作成する まず、サンプル用のテーブルを作成しましょう。 mysql> create table DemoTable (     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,     Value

  8. MySQLのSUM関数でDECIMAL型(10進数)の値を合計する方法

    はじめにMySQLでは、SUM関数を使うことで、テーブル内の数値データを簡単に合計できます。金額などの小数を扱う場合は、DECIMAL型のカラムに対してSUM関数を使用することで、誤差なく正確な合計値を取得できます。この記事では、実際にサンプルテーブルを作成し、DECIMAL型の値を合計する手順を解説します。1. サンプルテーブルの作成まず、DECIMAL型のカラムを持つテーブルを作成します。ここでは「Money」というカラムをDECIMAL(7,2)で定義しています。これは「整数部5桁・小数部2桁」まで格納できることを意味します。mysql> create table DemoTabl

  9. MySQLで予約語「Key」をカラム名として使用する方法【バッククォートの使い方】

    MySQLでは「Key」は予約語(予約済みキーワード)として登録されているため、そのままカラム名として使用するとエラーが発生します。そこで活躍するのがバッククォート(`)です。カラム名の前後をバッククォートで囲むことで、予約語でも安全に使用できるようになります。本記事では、実際にカラム名「key」を持つテーブルを作成する例を通じて、具体的な手順をわかりやすく解説します。1. テーブルを作成するまず、バッククォートで囲んだ「Key」というカラムを持つテーブルを作成しましょう。mysql> create table DemoTable ( `Key` int ); Query OK,

  10. MySQLのvarcharでサイズを指定しないと発生するERROR 1064 (42000)の解決方法

    エラーが発生する状況 まず、このエラーがどのような場面で発生するのかを確認しましょう。次の例では、テーブルを作成する際に、列のデータ型として varchar を指定していますが、サイズ(文字数)の指定を省略しています。 mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar, LastName varchar ); ERROR 1064 (42000): You have an error in your SQL syntax; ch

  11. 【MySQL】複数の列の組み合わせに一意制約(UNIQUE)を設定する方法

    MySQLで列のペアを一意(ユニーク)にするには? MySQLで2つ以上の列の組み合わせに対して一意性を持たせたい場合は、ALTER TABLEコマンドとUNIQUE制約を組み合わせて使用します。単一の列だけでなく、複数列をまとめて1つのユニークキーとして登録できるため、「名前と電話番号の組み合わせが重複してはならない」のような業務ルールをデータベースレベルで実現できます。 基本構文 ALTER TABLE テーブル名 ADD UNIQUE ユニーク制約名(列名1, 列名2, ...N); この構文では、指定した複数の列を連結した値全体が一意である必要があります。つまり、個々の列の値が重複し

  12. MySQLテーブルのNULL列に値を設定・更新する方法

    MySQLでNULL列に値を設定するには? MySQLのテーブルに含まれるNULL(空)の列に後から値を設定したい場合は、IS NULL 条件とUPDATE文を組み合わせることで実現できます。この記事では、実際のサンプルコードを使いながら、NULL列へ値を入力する手順をわかりやすく解説します。 1. サンプルテーブルを作成する まずは商品価格(ProductPrice)、数量(ProductQuantity)、合計金額(TotalAmount)を持つテーブルを作成しましょう。 mysql> create table DemoTable ( ProductPrice int,

  13. MySQLテーブルで「year」をカラム名として使用することはできる?

    はい、MySQLのテーブルでは「year」をカラム名として使用できます。「year」はMySQLの予約語ではないため、特別なエスケープ処理を行わなくても問題なく利用できます。 テーブルの作成 まず、テーブルを作成してみましょう。 mysql> create table DemoTable ( Year int ); Query OK, 0 rows affected (0.87 sec) レコードの挿入 insertコマンドを使用して、テーブルにいくつかのレコードを挿入します。 mysql> insert into DemoTable values(1995); Query

  14. MySQLでテーブル名を変更する方法【RENAME TABLEコマンドの使い方を解説】

    MySQLでテーブル名を変更する基本構文MySQLで既存のテーブル名を変更したい場合は、RENAME TABLEコマンドを使用します。基本的な構文は以下のとおりです。rename table 変更前のテーブル名 to 変更後のテーブル名;それでは、実際にサンプルテーブルを作成し、テーブル名を変更する一連の手順を見ていきましょう。手順1:サンプルテーブルを作成するまず、名前を変更する対象となるテーブルを作成します。mysql> create table DemoTable1 (     Id int NOT NULL AUTO_INCREMENT P

  15. MySQLテーブルへの日付レコード挿入時にINTERVALキーワードは使える?使い方を解説

    はい、MySQLではデータレコードを挿入する際にINTERVALキーワードを使用できます。INTERVALを使うことで、指定した日時に対して一定の時間や日数を加算した値を、そのままINSERT文でテーブルに登録できます。まずは、動作を確認するためのテーブルを作成しましょう。mysql> create table DemoTable ( ArrivalTime datetime ); Query OK, 0 rows affected (0.52 sec)次に、INSERTコマンドを使ってテーブルにレコードを挿入します。ここでは、日付レコードを挿入する際にINTERVALキーワード

  16. MySQLでCASE文を使って「a」と「b」の値を一括で入れ替える(スワップする)方法

    MySQLのテーブル内で、a のレコードを b に、b のレコードを a に同時に更新したい場合には、CASE文を使うのが最もシンプルで確実な方法です。ここでは、実際の手順をサンプルコードとともに解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。ここでは char(1) 型のカラムを1つだけ持つシンプルなテーブルを用意します。 mysql> create table DemoTable ( Value char(1) ); Query OK, 0 rows affected (1.21 sec) 2. テストデータを挿入する 次に、INS

  17. MySQLで2つの列から重複を除いた名前を抽出し、1つの列にまとめて表示する方法

    はじめにMySQLでは、テーブル内の2つの異なる列に格納された値を、重複を排除した上で1つの列として取得したいケースがあります。例えば、「Name1」と「Name2」という2つの名前列から、すべての名前を一意なリストとして取り出したい場合です。このような場合には、UNION演算子を使用します。UNIONは複数のSELECT文の結果を統合し、自動的に重複行を削除してくれる便利な機能です。サンプルテーブルの作成まず、2つの名前列を持つテーブルを作成しましょう。mysql> create table DemoTable(    Name1 varchar

  18. MySQLのGROUP BYとCONCAT()を使って氏名を重複なく表示する方法

    MySQLでは、GROUP BY句とCONCAT()関数を組み合わせることで、重複している姓名(First Name・Last Name)のデータを1つにまとめて、区別された形で表示できます。この記事では、実際のサンプルコードと実行結果をもとに、その手順をわかりやすく解説します。1. サンプルテーブルの作成まず、氏名情報を格納するためのテーブルを作成し、検索を高速化するためにインデックスも追加しておきましょう。mysql> create table DemoTable ( FirstName varchar(100), LastName varchar(100) ); Q

  19. MySQLで日付をフィルタリングし、特定の月のレコードだけを取得する方法

    MySQLで特定の月の日付レコードのみを抽出するには?MySQLで日付データを扱う際、「特定の年月に該当するレコードだけを取り出したい」というケースはよくあります。本記事では、サンプルテーブルを作成しながら、LIKE演算子を使って特定の月の日付レコードをフィルタリングする手順をわかりやすく解説します。1. サンプルテーブルを作成するまず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable(    AdmissionDate varchar(100));Query OK, 0 rows affe

  20. MySQLで列を動的に選択する方法【PREPARE文の活用】

    MySQLで列を動的に選択する方法MySQLで列を動的に選択するには、まず実行したいクエリ(準備するステートメント)を作成し、その後PREPARE文を使って準備・実行します。本記事では、サンプルテーブルを使いながら、動的クエリの作成から実行までの手順をわかりやすく解説します。1. サンプルテーブルを作成するまず、CREATE TABLE文でテーブルを作成しましょう。mysql> create table DemoTable (     EmployeeName varchar(100) ); Query OK, 0 rows affected (0

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