将多个DB字段更改为小写

时间:2014-04-12 19:50:11

标签: mysql sql

使用phpMyAdmin,我可以使用以下SQL将table.field mytable.Site中的所有值更改为小写...

UPDATE my_table SET Site=LOWER(Site)

我有很多具有相同字段的表,我想将它们全部改为小写字母。是否有SQL命令可以执行此操作 - 将每个表中名为Site的每个字段更改为小写(最好不必列出具有该字段的每个表)?

1 个答案:

答案 0 :(得分:0)

不完全是你想要的,但非常接近。在我的机器上测试。 首先创建一个程序

delimiter // 
CREATE PROCEDURE test(IN tbl CHAR(64))
BEGIN
    SET @s = CONCAT('UPDATE ',tbl,' SET Site=LOWER(Site)' );
    PREPARE stmt FROM @s;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END
//
delimiter ;

用于查找具有特定列名的表:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('Site')
    AND TABLE_SCHEMA='YourDB';

调用程序

CALL test('tableName')