溫馨提示×

如何利用MySQL CTAS進(jìn)行數(shù)據(jù)清洗

小樊
83
2024-09-13 18:55:07
欄目: 云計(jì)算

MySQL中的CTAS(Create Table As Select)是一種創(chuàng)建新表并將查詢結(jié)果插入到新表中的方法

  1. 確保你有一個包含原始數(shù)據(jù)的表。例如,我們有一個名為raw_data的表,其中包含以下列:idname、agecity。

  2. 使用CREATE TABLE語句創(chuàng)建一個新表,該表將存儲清洗后的數(shù)據(jù)。例如,我們可以創(chuàng)建一個名為clean_data的表,其中只包含name、agecity列。

CREATE TABLE clean_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age INT NOT NULL,
    city VARCHAR(255) NOT NULL
);
  1. 使用INSERT INTO ... SELECT語句從原始表中選擇所需的列,并根據(jù)需要對數(shù)據(jù)進(jìn)行清洗。例如,我們可以刪除重復(fù)的行、過濾年齡小于18歲的記錄、將空城市值替換為"未知"。
INSERT INTO clean_data (name, age, city)
SELECT DISTINCT name, age, IFNULL(city, '未知')
FROM raw_data
WHERE age >= 18;
  1. 現(xiàn)在,clean_data表已經(jīng)包含了清洗后的數(shù)據(jù)。你可以繼續(xù)對這些數(shù)據(jù)進(jìn)行進(jìn)一步的分析和處理。

注意:在實(shí)際操作中,請根據(jù)你的數(shù)據(jù)和需求進(jìn)行相應(yīng)的調(diào)整。

0