批量操作表名大小寫轉換
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 不...