8 Data Cleaning techniques in SQL

Kolade Orimolade
4 min readMar 14, 2023
Data Cleaning
Data Cleaning in SQL

Data cleaning is a crucial step in any data analysis project. It involves identifying and correcting errors, inconsistencies, and missing values in a dataset. SQL is a powerful relational database management system that can be used to clean data efficiently. In this blog, we will explore how to clean data with SQL, including the syntax used.

  1. Identify and remove duplicate records

Duplicate records can lead to inaccurate results, so it’s important to identify and remove them. Removing duplicates is an essential step in data cleaning. SQL provides the DISTINCT keyword to remove duplicates from a table. The syntax is as follows:

SELECT DISTINCT column1, column2, ...
FROM table_name;

Alternatively, you can use the GROUP BY clause to group similar records together and then count the number of records in each group. Records with a count greater than one are duplicates and can be removed. For example:

SELECT column_name, COUNT(*) 
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;

2. Standardize text fields

Text fields can be inconsistent, with varying capitalization and spelling. You can use the UPPER or LOWER functions to standardize text fields by converting all characters to uppercase or lowercase, respectively. For example:

UPDATE table_name 
SET column_name = UPPER(column_name);

You can also use the REPLACE function to replace specific characters or strings in text fields. For example:

UPDATE table_name 
SET column_name = REPLACE(column_name, 'OldString', 'NewString');

3. Handling missing or null values

Missing values can occur for various reasons, such as data entry errors or system failures. These missing values can affect data analysis and interpretation. SQL provides the NULL keyword to represent missing values. To filter out rows with NULL values, we can use the IS NULL or IS NOT NULL operators. The syntax is as follows:

SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;

You can then choose to either remove these records or replace the missing values with a default value. For example:

UPDATE table_name 
SET column_name = 'DefaultValue'
WHERE column_name IS NULL;

4. Remove invalid characters

Sometimes Invalid characters such  or some other special but invalid appear in text fields, these can cause errors or inconsistencies in your data. You can use the REPLACE or REGEXP_REPLACE functions to remove invalid characters. For example:

UPDATE table_name 
SET column_name = REPLACE(column_name, 'InvalidChar', '');
UPDATE table_name 
SET column_name = REGEXP_REPLACE(column_name, '[^a-zA-Z0–9 ]', '');

5. Handling outliers

Outliers are extreme values that are different from other values in the dataset. These values can affect the accuracy of statistical analysis. To identify and remove outliers, we can use the AVG and STDDEV functions to calculate the mean and standard deviation of a column. We can then remove rows that are beyond a certain number of standard deviations from the mean. The syntax is as follows:

SELECT AVG(column_name), STDDEV(column_name)
FROM table_name;

You can then choose to either remove these records or investigate them further to determine if they are valid.

6. Correcting date formats

Date formats can affect the accuracy of data analysis. For example, dates can be stored in various formats, such as MM/DD/YYYY or YYYY-MM-DD. MySQL provides various functions to convert data formats. The STR_TO_DATE function can convert a string to a date format. The syntax is as follows:

SELECT STR_TO_DATE(date_string, format_string)
FROM table_name;

In the above syntax, date_string is the string to be converted, and format_string is the format of the string.

7. Cleaning text data

Text data can contain various inconsistencies, such as spelling errors, inconsistent capitalization, and punctuation errors. SQL provides various string functions to clean text data. For example, the UPPER and LOWER functions can convert text to uppercase and lowercase, respectively. The REPLACE function can replace a substring in a string. The TRIM function can remove leading and trailing spaces from a string. The syntax is as follows:

SELECT UPPER(column_name)
FROM table_name;
SELECT REPLACE(column_name, 'old_string', 'new_string')
FROM table_name;
SELECT TRIM(column_name)
FROM table_name;

8. Validate data types

It’s important to ensure that your data is of the correct data type. You can use the CAST or CONVERT functions to validate and convert data types. For example:

SELECT CAST(column_name AS INT) 
FROM table_name;
SELECT CONVERT(column_name, DATE) 
FROM table_name;

In conclusion, data cleaning is a crucial step in any data analysis project. SQL provides various functions and operators to clean data efficiently. In this blog, we explored some of the syntax used to remove duplicates, handle missing values, identify and remove outliers, correct data formats, and clean text data. By using these techniques, you can ensure that your data is clean and accurate, and your analysis is reliable.

Happy Data Cleaning 😊😊

--

--

Kolade Orimolade

Data Analytics Enthusiast | MYSQL | Ms Excel | Power BI