Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

단일 호출로 MySQL 테이블의 모든 필드에서 대소문자를 변경하려면 어떻게 해야 합니까?

<시간/>

이를 위해 lower() 함수와 함께 업데이트를 사용할 수 있습니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
(
   Id varchar(100),
   StudentFirstName varchar(20),
   StudentLastName varchar(20),
   StudentCountryName varchar(10)
);
Query OK, 0 rows affected (0.61 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values('STU-101','John','Smith','US');
Query OK, 1 row affected (0.59 sec)
mysql> insert into DemoTable values('STU-102','John','Doe','UK');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('STU-103','David','Miller','AUS');
Query OK, 1 row affected (0.19 sec)

다음은 select 문을 사용하여 테이블의 모든 레코드를 표시하는 쿼리입니다 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+---------+------------------+-----------------+--------------------+
| Id      | StudentFirstName | StudentLastName | StudentCountryName |
+---------+------------------+-----------------+--------------------+
| STU-101 | John             | Smith           | US                 |
| STU-102 | John             | Doe             | UK                 |
| STU-103 | David            | Miller          | AUS                |
+---------+------------------+-----------------+--------------------+
3 rows in set (0.00 sec)

다음은 단일 호출로 MySQL 테이블의 모든 필드에서 대소문자를 변경하는 쿼리입니다.

mysql> update DemoTable
   set Id=lower(Id),
   StudentFirstName=lower(StudentFirstName),
   StudentLastName=lower(StudentLastName),
   StudentCountryName=lower(StudentCountryName);
Query OK, 3 rows affected (0.22 sec)
Rows matched : 3 Changed : 3 Warnings : 0

위 쿼리에서 수행된 변경 사항을 확인하기 위해 select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+---------+------------------+-----------------+--------------------+
| Id      | StudentFirstName | StudentLastName | StudentCountryName |
+---------+------------------+-----------------+--------------------+
| stu-101 | john             | smith           | us                 |
| stu-102 | john             | doe             | uk                 |
| stu-103 | david            | miller          | aus                |
+---------+------------------+-----------------+--------------------+
3 rows in set (0.00 sec)