1. 程式人生 > >MySQL資料庫批量修改資料庫中的表

MySQL資料庫批量修改資料庫中的表

問題:今天工作遇到這樣一個問題,需要把資料庫中的所有表,每個表加入四個欄位,如果表少,我們可以手動去新增或者修改,如果是成千上百萬張表的話,我們如何去修改,現記錄下來。

解決方法;

找到資料庫的建模資料,就是PDM檔案。發個截圖

wKiom1WSVuSCvKWmAAUI7VzUv-Y865.jpg


下面我們就要用一個工具了,就是powerdesign,我們將用這個工具批量修改資料庫表中的欄位。需要用vb指令碼。

我們開啟powerdesign,點開指令碼執行欄,方法,工具--如圖

wKioL1WSW86wjGghAAXDpALm8E4613.jpg

點選後的執行指令碼框如下wKiom1WSWmvzGm65AALp9DStAxE582.jpg寫好的指令碼放在上面執行即可。

vb語法

Option Explicit  
 
Dim mdl ' the current model     
Set mdl = ActiveModel  
Dim Tab 'running table     
Dim col_ModTime, col_ModPerson  
' 定義屬性變數  
for each Tab in ActiveModel.Tables  
 Set col_ModTime = Tab.Columns.CreateNew  
 set col_ModPerson = Tab.Columns.CreateNew  
 
     col_ModTime.name = "操作型別"  
     col_ModTime.code = "LOG_CZLX"  
     col_ModTime.DataType = "Char(1)"  
      
     col_ModPerson.name = "時間"  
     col_ModPerson.code = "LOG_CZSJ"  
     col_ModPerson.DataType = "Datatime()"
next

---------------------------我是完美分割線-----------------------------------------

Option Explicit  
Dim mdl ' the current model     
Set mdl = ActiveModel  
Dim Tab 'running table     
Dim col_ModLOG_SC, col_ModLOG_XZ  
' 定義屬性變數  
for each Tab in ActiveModel.Tables  
 Set col_ModLOG_SC = Tab.Columns.CreateNew  
 set col_ModLOG_XZ = Tab.Columns.CreateNew  
 
 col_ModLOG_SC.name = "上傳狀態"  
 col_ModLOG_SC.code = "LOG_SC"  
 col_ModLOG_SC.DataType = "Char(1)"  
 
 col_ModLOG_XZ.name = "下載狀態"  
 col_ModLOG_XZ.code = "LOG_XZ"  
 col_ModLOG_XZ.DataType = "Char(1)"  
next

上面的指令碼是向資料庫中每個資料表中插入四個欄位。

完成以上,就已經完成了一大部分工作任務了。插入完成後你要儲存,然後匯出txt檔案或者SQL檔案,我匯出的是txt。

方法如下

wKiom1WSXECwDMyjAAV7QP2YbzU840.jpg

匯出即可。

或者你可以選擇粘貼出來,看到裡面的建立資料表的指令碼

wKioL1WSXo6CafoGAAU7MukwqRw551.jpg

後面的,就是要修改你要修改的東西,比如替換原來的東西,我們可以用這個工具。UltraEdit