[英]Map Google Sheets columns to MySQL data types
鑒於我有一個類似的谷歌表:
ID;username,email,date_created;
hdJNGDyd;user;me@example.com;12/03/2020 4:20:22
...
有沒有辦法確定工作表列的格式並列出它們?
例如。
ID - string(8)
username - varchar(34)
email - varchar(255)
date_created - datetime
或 map 表結構到 SQL 查詢類似於:
CREATE table MyTable
`ID` varchar(8) NOT NULL
...
例如,長度可以是特定列中值的最大長度。
我會創建一個帶有列出數據字典的表的選項卡
但是,工作表有一個可以使用的 TYPE() function。 如果您還想獲得需要一些額外計算的最大長度。
如您所見,沒有日期類型,只有數字類型。 與 SQL 提供的產品大不相同。
在我的一些項目中,我使用谷歌應用程序腳本從 MySQL 數據庫中獲取架構,然后采取相應的行動
function getColTypes(conn, table) {
var stmt = conn.createStatement();
var query = "SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='" + DATABASE + "' AND TABLE_NAME='" + table + "'";
var rs = stmt.executeQuery(query);
var colTypes = [];
while (rs.next()) {
colTypes.push(rs.getString(1));
}
rs.close();
stmt.close();
return colTypes;
}
而這個名字
function getColNames(conn, table) {
var stmt = conn.createStatement();
var query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='" + DATABASE + "' AND TABLE_NAME='" + table + "'";
var rs = stmt.executeQuery(query);
var colNames = [];
while (rs.next()) {
colNames.push(rs.getString(1));
}
rs.close();
stmt.close();
return colNames;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.