Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chuyển toàn bộ dữ liệu bảng MySQL từ chữ hoa sang chữ thường

Để chuyển tất cả giá trị của các cột chuỗi từ UPPERCASE sang lowercase, dùng UPDATE với hàm LOWER() cho từng cột.

Ví dụ minh họa

Tạo bảng và chèn dữ liệu UPPERCASE:

CREATE TABLE DemoTable (
    Id VARCHAR(100),
    StudentFirstName VARCHAR(20),
    StudentLastName VARCHAR(20),
    StudentCountryName VARCHAR(10)
);

INSERT INTO DemoTable VALUES
('STU-101', 'John', 'Smith', 'US'),
('STU-102', 'John', 'Doe', 'UK'),
('STU-103', 'David', 'Miller', 'AUS');

Dữ liệu gốc:

+---------+------------------+-----------------+--------------------+
| Id      | StudentFirstName | StudentLastName | StudentCountryName |
+---------+------------------+-----------------+--------------------+
| STU-101 | John             | Smith           | US                 |
| STU-102 | John             | Doe             | UK                 |
| STU-103 | David            | Miller          | AUS                |
+---------+------------------+-----------------+--------------------+

Cập nhật tất cả cột sang lowercase:

UPDATE DemoTable
SET Id = LOWER(Id),
    StudentFirstName = LOWER(StudentFirstName),
    StudentLastName = LOWER(StudentLastName),
    StudentCountryName = LOWER(StudentCountryName);

Kết quả:

+---------+------------------+-----------------+--------------------+
| Id      | StudentFirstName | StudentLastName | StudentCountryName |
+---------+------------------+-----------------+--------------------+
| stu-101 | john             | smith           | us                 |
| stu-102 | john             | doe             | uk                 |
| stu-103 | david            | miller          | aus                |
+---------+------------------+-----------------+--------------------+

Lưu ý:

  • LOWER() chỉ ảnh hưởng đến chữ cái A-Z. Số, ký tự đặc biệt không đổi.
  • Cần liệt kê tất cả cột muốn chuyển. Không có cú pháp UPDATE t SET * = LOWER(*).
  • Nếu bảng lớn, chạy trong transaction và có thể chia batch để tránh lock lâu.
  • Để chỉ hiển thị lowercase khi SELECT (không sửa dữ liệu): SELECT LOWER(Id), LOWER(StudentFirstName)....
  • Collation case-insensitive (mặc định utf8mb4_general_ci) khiến WHERE col = 'ABC' khớp 'abc'. Dùng COLLATE utf8mb4_bin nếu cần phân biệt.