我有一个表格,它是从一个非常大的CSV文件中导入的,其中包含100多个列。我刚刚注意到它们的列名中有空格。
是否有一种方法可以重命名所有列并删除空格?
我有一个表格,它是从一个非常大的CSV文件中导入的,其中包含100多个列。我刚刚注意到它们的列名中有空格。
是否有一种方法可以重命名所有列并删除空格?
your_database
中的表格 your_table
的列名中删除所有包含任何空格的空格。您可以用您需要的值来替换它。SELECT
CONCAT(
'ALTER TABLE ', C.TABLE_NAME, ' CHANGE `',
C.COLUMN_NAME, '` `', REPLACE(C.COLUMN_NAME, ' ', ''), '` ',
C.DATA_TYPE, ';'
)
FROM
INFORMATION_SCHEMA.COLUMNS C
WHERE
TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table'
AND C.COLUMN_NAME LIKE '% %';
非常注意反引号,这些反引号包围列名(包括新列名)。这将输出一组类似以下内容的ALTER TABLE
语句:
Pay very close attention to the backticks which surround the column name (including the new column name). This will output a set of ALTER TABLE
statements which look like the following:
ALTER TABLE your_table CHANGE `Old Column Name` `OldColumnName` VARCHAR;
尝试使用这个系统过程:
EXEC sp_RENAME 'TableName.OldName' , 'NewName', 'COLUMN'