TIL

구글 스프레드 시트에서 SQL 데이터 불러오기(+트리거 연결)

개발따라김양 2024. 1. 11. 09:35

1. 확장프로그램 > Apps Script 클릭하기

 

 

2. 스크립트 코드 입력하기

 

var connectionName = ''; // 접속할 MySQL 서버의 IP와 Port(Default:3306)
var user = ''; // MySQL 유저 ID
var userPwd = ''; // MySQL 유저 PW
var db = ''; // 접속할 MySQL DB명
var instanceUrl = 'jdbc:mysql://' + connectionName;
var dbUrl = instanceUrl + '/' + db;
var sheet = SpreadsheetApp.getActiveSheet(); // SpreadSheet 객체 생성

function exportDatabase() {
  var conn = Jdbc.getConnection(dbUrl, user, userPwd); // DB 연결
  var stmt = conn.createStatement();
  stmt.setMaxRows(1000);
  var results = stmt.executeQuery("SELECT registration_no,nick_name,org,phone from users"); // 쿼리
  var i=2; // 2번째 row부터 채움

  while(results.next()) {
	  // getRange(Integer row, Integer Column)
      
      registration_no = sheet.getRange(i, 1); // A2
      nick_name = sheet.getRange(i, 2); // B2
      org = sheet.getRange(i, 3); // C2
      phone = sheet.getRange(i, 4); // D2

      registration_no.setValue(results.getString("registration_no")); // 현재 row의 registration_no 컬럼 값
      nick_name.setValue(results.getString("nick_name")); // 현재 row의 nick_name 컬럼 값
      org.setValue(results.getString("org")); // 현재 row의 org 컬럼 값
      phone.setValue(results.getString("phone")); // 현재 row의 phone 컬럼 값
      i++;
  }
  
  /* 연결 해제 */
  results.close();
  stmt.close();
  conn.close();
}

 

3. 실행 눌러 로그 확인하기

 

 

 

4. 왼쪽 메뉴에서 트리거 선택하기

 

 

5. 시간 별로 실행 또는 스프레드 오픈 시 실행으로 트리거 저장하기

 

 

 

 

참고 : https://mitny.github.io/articles/2019-04/MySQL-to-Googlespreadsheet

 

Posts | MitNy.log

기록 저장소

mitny.github.io