ホームページ  >  記事  >  データベース  >  MySQL ですべてのテーブルとカラムの名前を小文字に変更しますか?

MySQL ですべてのテーブルとカラムの名前を小文字に変更しますか?

WBOY
WBOY転載
2023-08-27 13:41:02719ブラウズ

在 MySQL 中将所有表和列重命名为小写?

これは、INFORMATION_SCHEMA.COLUMNS を使用して行うことができます。構文は次のとおりです。 -

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',
LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS anyAliasName
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘yourDatabaseName’;

次に、2 つのテーブルを持つデータベースを使用します。データベース名は「bothinnodbandmyisam」となります。データベースには次のテーブルがあります -

  • employee
  • student

employee テーブルの説明は次のとおりです -

mysql> desc employee;

以下は次のとおりです出力。従業員テーブルの次の列は小文字ではないと仮定します。-

+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| EmployeeId   | int(11)     |  YES |     | NULL    |       |
| EmployeeName | varchar(30) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

学生テーブルの説明は次のとおりです。クエリは次のとおりです -

mysql> desc student;

以下は出力です。 Students テーブルに小文字ではない次の列があるとします。 -

+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId   | int(11)     | YES  |     | NULL    |       |
| StudentName | varchar(20) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

これは、すべてのテーブルの列名を小文字に変更するクエリです。クエリは次のとおりです -

mysql> SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',
   -> LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS changeColumnNameToLower
   -> FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'bothinnodbandmyisam';

次は、更新された列名を示す ALTER TABLE コマンドの出力です -

+------------------------------------------------------------------------+
| changeColumnNameToLower                                                |
+------------------------------------------------------------------------+
| ALTER TABLE employee CHANGE `EmployeeId` `employeeid` int(11);         |
| ALTER TABLE employee CHANGE `EmployeeName` `employeename` varchar(30); |
| ALTER TABLE student CHANGE `StudentId` `studentid` int(11);            |
| ALTER TABLE student CHANGE `StudentName` `studentname` varchar(20);    |
+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

上記の出力例を見ると、すべての列名が変更されています。小文字にします。

以上がMySQL ですべてのテーブルとカラムの名前を小文字に変更しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。