我想知道是否可以将所有表格(列和数据)转换为小写?
我可以在 panda 中做到这一点,但我想在插入后创建一个触发器,复制整个表,lovwercase,删除空格并替换为 _,在视图中。
尝试类似 select lower(*) from tablename 但似乎不起作用。
该表包含很多列,因此是否可以像批量更改一样进行操作?
问候,
你可以这样做:
SELECT concat('UPDATE ',TABLE_SCHEMA,'.',TABLE_NAME, ' SET ', COLUMN_NAME,' = LOWER(', COLUMN_NAME,');') as stmt
FROM information_schema.columns
WHERE table_name = 'foo' AND UPPER(COLUMN_TYPE) LIKE '%CHAR%';
(当然你需要使用正确的
table-name
)
它将产生如下输出:
stmt |
---|
更新 test.foo SET t = LOWER(t); |
当您将其输出到文件时,您将拥有一个能够更新表的脚本。