MySQL批量將表名或者列名大小寫轉換

2021-10-08 16:33:10 字數 1204 閱讀 2161

批量操作表名大小寫轉換

select

concat( 'alter table ', table_name, 』 rename to ', lower( table_name ), 『;』 ) as 『修改指令碼』

from

information_schema.tables

where

table_schema = '『資料庫名(替換即可)』

執行結果

將執行結果中的sql語句複製出來,執行即可完成批量表名大小寫操作

批量運算元據庫所有表列表名(備註:下面sql僅僅生成修改資料庫所有列名的sql語句,要完成修改需要將查詢出來sql語句執行

#生成批量操作修改資料庫表列大小寫的sql語句

select

concat( 'alter table ', table_name, ' change column ', column_name, ' ', lower( column_name ), ' ', column_type, ' comment \'', column_comment, '\';' ) as '修改指令碼'

from

information_schema.columns

where

table_schema = 'jst_park';

#jst_park為資料庫名稱,實際操作替換為自己的資料庫名

批量操作單錶列名大小寫轉換:

#parking_record為表名,實際操作修改為自己的表名

select

concat( 'alter table ', 'parking_record', ' change column ', column_name, ' ', lower( column_name ), ' ', column_type, ' comment \'', column_comment, '\';' ) as '修改指令碼'

from

information_schema.columns

where

table_name = 'parking_record';

mysql大表修改表名原理 mysql大表修改結構

alter table執行時會對原表進行臨時複製,在副本上進行更改,然後刪除原表,再對新錶進行重新命名。在執行alter table時,其它使用者可以閱讀原表,但是對錶的更新和修改的操作將被延遲,直到新錶生成為止。新錶生成後,這些更新和修改資訊會自動轉移到新表上。注意,如果您在執行alter tab...

Mysql 批量刪除字首或者字尾表

oracl有drop table like 的用法,但是mysql沒有,可以寫指令碼 不做贅述 也可以組裝sql。注意,我的資料庫名字是test,有個表叫data,然後我準備四個有相同字首的表,批量刪除,準備資料可以用這條sql create table test 1201 select from ...

Linux下設定mysql表名與列名不區分大小寫

1 資料庫名與表名是嚴格區分大小寫的 2 表的別名是嚴格區分大小寫的 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 全部不區分大小寫 1.在 etc my.cnf中的 mysqld 後新增新增lower case table names 1,0 區分大小寫,1 不...