mysql

如何利用MySQL CTAS进行数据清洗

小樊
83
2024-09-13 18:55:07
栏目: 云计算

MySQL中的CTAS(Create Table As Select)是一种创建新表并将查询结果插入到新表中的方法

  1. 确保你有一个包含原始数据的表。例如,我们有一个名为raw_data的表,其中包含以下列:idnameagecity

  2. 使用CREATE TABLE语句创建一个新表,该表将存储清洗后的数据。例如,我们可以创建一个名为clean_data的表,其中只包含nameagecity列。

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语句从原始表中选择所需的列,并根据需要对数据进行清洗。例如,我们可以删除重复的行、过滤年龄小于18岁的记录、将空城市值替换为"未知"。
INSERT INTO clean_data (name, age, city)
SELECT DISTINCT name, age, IFNULL(city, '未知')
FROM raw_data
WHERE age >= 18;
  1. 现在,clean_data表已经包含了清洗后的数据。你可以继续对这些数据进行进一步的分析和处理。

注意:在实际操作中,请根据你的数据和需求进行相应的调整。

0
看了该问题的人还看了