如何較方便給上百張資料庫表新增表字段
阿新 • • 發佈:2021-02-23
## 前言
年前和業務部門的研發小夥伴聊天,他說由於之前表設計考慮不周全,導致業務表缺少了一些欄位,他老大就把這個加表字段的任務給他,咋一聽挺簡單的,不就加些欄位,但小夥伴煩惱的地方在於需要加這些欄位的表大概有100多張,如果單靠手動新增,那效率太低了。於是他問我有沒有啥方法,能比較方便的實現這個需求,今天就來水一下這個話題
## 需求分析
小夥伴的訴求在於方便的實現,那怎麼實現方便這個訴求。答案的本質就是這個實現不要讓他自己做,讓別人或者其他東西實現他訴求
## 方案思路
>方案一: 把這個需求安排給其他人做,哈哈
> 方案二:寫儲存過程或者函式
> 方案三:通過寫sql指令碼執行
本文重點講解方案三寫sql指令碼執行
## 如何實現這個sql指令碼
實現這個sql指令碼的方式有很多種,本文就講下利用java程式生成這個sql指令碼。生成這個sql指令碼的關鍵在於DatabaseMetaData這個類,這個類是啥?它是java.sql包中的類,利用它可以獲取我們**連線到的資料庫的結構、儲存等很多資訊**
其更多詳細介紹可以檢視如下連結
[https://www.apiref.com/java11-zh/java.sql/java/sql/DatabaseMetaData.html](https://www.apiref.com/java11-zh/java.sql/java/sql/DatabaseMetaData.html)
## 核心程式碼實現
> 1、獲取資料庫下的所有資料庫表名
```java
/**
* 獲取資料庫下的所有資料庫表名
*
* @return Map