mysqlデータ変換

王林
リリース: 2023-05-20 10:20:37
オリジナル
1507 人が閲覧しました

データ分析の重要性が高まるにつれて、データの変換とクリーニングがますます必要になります。データ分析のプロセスでは、通常、さまざまな形式やソースのデータを必要な形式に変換する必要があります。中でもMySQLは現在人気のリレーショナルデータベース管理システムであり、この記事ではMySQLをデータ変換に使用する方法を紹介します。

1. MySQL データ型

データ変換を実行する前に、データ型を正しく変換するために MySQL データ型を理解する必要があります。 MySQL でサポートされている主なデータ型は次のとおりです。

  1. 整数型: tinyint、smallint、mediumint、int、bigint
  2. 浮動小数点型: float、double、decmal
  3. 文字タイプ: char、varchar、text、longtext
  4. 日付と時刻のタイプ: date、time、datetime、timestamp

2. データのインポートとエクスポート

MySQL は、csv、json、xml などのさまざまなデータ形式をインポートおよびエクスポートできます。データ分析のプロセスでは、csv が非常によく使用される形式です。 CSV ファイルを MySQL にインポートおよびエクスポートする方法は次のとおりです。

  1. データのインポート

MySQL に CSV ファイルをインポートするには、LOAD DATA ステートメントを使用できます。次の内容を含む「data.csv」という名前の CSV ファイルがあるとします。

name,age,gender
Alice,23,Female
Bob,25,Male
Charlie,28,Male
ログイン後にコピー

次に、次の SQL ステートメントを使用して、データを MySQL の「users」テーブルにインポートできます。

LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '
'
IGNORE 1 ROWS;
ログイン後にコピー

上記の SQL ステートメントは、csv ファイル内のデータを「users」という名前のテーブルに挿入し、「name」、「age」、および「gender」列が「data.csv」内のデータの各行に対応します。ファイル。 。 IGNORE 1 ROWS は、csv ファイルのコンテンツの最初の行を無視することを意味します。

  1. データのエクスポート

同じく SELECT ... INTO OUTFILE ... ステートメントを使用して、MySQL のデータを csv ファイルにエクスポートします。次の SQL ステートメントは、MySQL の「users」テーブルのデータを「data.csv」ファイルにエクスポートします。

SELECT name, age, gender
INTO OUTFILE '/path/to/data.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '
'
FROM users;
ログイン後にコピー

上記の SQL ステートメントでは、「名前」、「年齢」、および「性別」を選択しました。 " 列を選択し、FIELDS TERMINATED BY ',' と LINES TERMINATED BY '
' を使用してフィールドと行の区切り文字をそれぞれ指定します。

3. データ型変換

MySQL では、CAST 関数と CONVERT 関数を使用してデータをある型から別の型に変換できます。一般的なデータ型変換の例をいくつか示します。

  1. 文字列を数値に変換する

CAST 関数を使用して、文字列を数値型に変換します。たとえば、次の SQL ステートメントは文字列「123」を整数に変換します。

SELECT CAST('123' AS SIGNED);
ログイン後にコピー

上記の SQL ステートメントは数値 123 を出力します。同様に、次の SQL ステートメントは文字列「3.14」を浮動小数点数に変換します。

SELECT CAST('3.14' AS DECIMAL(10,2));
ログイン後にコピー

上記の SQL ステートメントは数値 3.14 を出力します。

  1. 数値を文字列に変換する

CAST 関数を使用して、数値型を文字列型に変換することもできます。たとえば、次の SQL ステートメントは数値 123 を文字列に変換します。

SELECT CAST(123 AS CHAR);
ログイン後にコピー

上記の SQL ステートメントは文字列「123」を出力します。

  1. 日付と時刻の型の変換

MySQL の日付と時刻の型には、日付、時刻、日時、タイムスタンプが含まれます。 CAST 関数と CONVERT 関数を使用して、日時型を文字列型に変換したり、文字列型を日時型に変換したりできます。たとえば、次の SQL ステートメントは、日時型を文字列型に変換します。

SELECT CAST(NOW() AS CHAR);
ログイン後にコピー

上記の SQL ステートメントは、現在の日時の文字列表現を出力します。さらに、次の SQL ステートメントは文字列型を日付時刻型に変換します。

SELECT CAST('2022-01-01 00:00:00' AS DATETIME);
ログイン後にコピー

上記の SQL ステートメントは、日付時刻型「2022-01-01 00:00:00」を出力します。

4. データ クリーニング

実際のデータ分析では、データの精度と標準化を確保するためにデータ クリーニングが必要になることがよくあります。一般的なデータ クリーニングの例をいくつか示します。

  1. 重複排除

重複排除は、一般的なデータ クリーニング方法です。 MySQL では、DISTINCT キーワードを使用してデータの重複を排除できます。次の SQL ステートメントは、「users」テーブルから一意の性別を選択します。

SELECT DISTINCT gender FROM users;
ログイン後にコピー
  1. 欠損値の処理

欠損値の処理は、データクリーニング。 MySQL では、IFNULL 関数を使用して欠損値をデフォルト値に置き換えることができます。たとえば、次の SQL ステートメントは、「users」テーブル内の欠落している年齢を -1 に置き換えます。

SELECT name, IFNULL(age, -1) AS age, gender FROM users;
ログイン後にコピー

上記の SQL ステートメントは、名前、年齢、性別のリストを出力します。が空の場合は、-1 に置き換えられます。

  1. データ グループ化

データ グループ化は、特定の特性に基づいてデータを複数のグループに分割できる一般的なデータ クリーニング方法です。 MySQL では、GROUP BY キーワードを使用してデータをグループ化できます。次の SQL ステートメントは、「users」テーブルを性別ごとにグループ化し、各グループ内の人数を計算します。

SELECT gender, COUNT(*) AS count FROM users GROUP BY gender;
ログイン後にコピー

は、各性別の統計データを出力します。たとえば、「女性」には 1 人、「男性」には 1 人が含まれます。待っている人が2人いました。

概要

この記事では、データのインポートとエクスポート、データ型、データ クリーニングなどのデータ変換に MySQL を使用する方法を紹介します。これらのスキルを習得すると、データ分析の効率と精度を向上させることができます。実際のアプリケーションでは、特に大規模なデータを処理する場合、データ分析の結果が正確で信頼できるものであることを保証するために、適切なデータ型、変換方法、およびクリーニング戦略を慎重に選択する必要があります。

以上がmysqlデータ変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート