簡體   English   中英

Map Google 表格列到 MySQL 數據類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM