paolo@bimodesign.com | +34 608 61 64 10

DB Relational

        

MySql - Rename tabelle e campi to lower

Vi illustro due istruzioni per rinominare tutte le tabelle di uno schema e nomi dei campi da maiuscolo a minuscolo. Ho avuto la necessita' di eseguire questo cambio, dopo la migrazione da Oracle a MySql.

1. Rinominare tabelle


SELECT CONCAT('ALTER TABLE ', table_name, ' CHANGE ', column_name, ' ', LOWER(column_name), ' ', column_type, ' ', extra,
CASE WHEN IS_NULLABLE = 'YES' THEN  ' NULL' ELSE ' NOT NULL' END, ';') AS line FROM information_schema.columns
WHERE table_schema = 'schema_name' AND data_type IN ('char', 'varchar','INT', 'TINYINT', 'datetime','text','double','MEDIUMTEXT') ORDER BY line


2. Rinominare i campi

select concat('rename table ', table_name, ' to ' , lower(table_name) , ';') from information_schema.tables where table_schema = 'name_schema'