'2016/07/29'에 해당되는 글 2건

엑셀 데이터를 DB에 집어넣기 위한 자료 만들어보는 방법이다.


먼저 테이블 구조를 살펴보자.

네이버지식인에서 문의한 테이블 구조를 가지고 작성한다.

CREATE TABLE IF NOT EXISTS `test` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `id` varchar(20) NOT NULL,
  `count` int(11) NOT NULL,
  `state` varchar(10) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


테이블에 데이터를 Insert 하는 쿼리문을 작성한다.

INSERT INTO test (id, count, state) VALUES ('test1', 6, 'a');


uid 칼럼은 자동 증가칼럼이므로 생략해도 된다.

만약 에러가 난다면

INSERT INTO test (uid, id, count, state) VALUES (NULL, 'test1', 6, 'a');

로 해주면 된다.


엑셀에서 쿼리문을 만들려면

=CONCATENATE("INSERT INTO test (id, count, state) VALUES ('",A3,"', ",B3,", '",C3,"');")

와 같은 Query 문을 만든다.



값이 들어있는 만큼 Drag 값을 채워나간다.



그런 다음에, EditPlus 같은 텍스트 에디터를 이용하여 결과값을 복사하여 EditPlus 에 복사해서 쿼리문을 확인한다.


phpMyAdmin 에서 SQL 에 쿼리문을 붙여넣기하고 실행한다.

또는 MySQL 에 직접 접속하여 붙여넣기를 한다.


테스트에 사용한 엑셀 파일

Excel_Query_make.xlsx






728x90

'SQL' 카테고리의 다른 글

[MySQL] 칼럼명 변경, 추가, 삭제  (0) 2016.10.26
[MySQL] SQL 모음  (0) 2016.09.23
조건별 SUM SQL  (0) 2016.07.27
[MySQL] Self Join 예제  (0) 2016.02.22
[MySQL] order by 정렬  (0) 2016.01.26
블로그 이미지

Link2Me

,

// DB Query Cutom 함수
function getDbData($table,$where,$data,$orderby){
    global $db;
    $result = mysql_query('select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):'').($orderby?' order by '.getSqlFilter($orderby):''));
    $row = mysql_fetch_array($result);
    return $row;
}

//SQL필터링
function getSqlFilter($sql){
    return $sql;
}


함수를 만들어서 사용할 경우 제대로 잘 만들어졌는지 테스트 하는 과정은 아래과정으로 진행했다.

sql 쿼리문을 화면상에 나오게 하여 제대로 나왔는지 확인했다.


<?php
$table ='MEMBER';
$part1CD='04';
$part2CD='23';
$part3CD='00';
$partNM = '기타';
$where ="part1CD='".$part1CD."' and part2CD='".$part2CD."' and part4CD='00' and partNM='".$partNM."'";
$data ='*';
$orderby = 'idx DESC';
//$orderby = '';

$sql = 'select '.$data.' from '.$table.($where?' where '.getSqlFilter($where):'').($orderby?' order by '.getSqlFilter($orderby):'');
echo $sql;

function getSqlFilter($sql)
{
    return $sql;
    // preg_replace("/찾을 문자열/" , "변경할 문자열" , "해당 문자열");
    // /찾을 문자열/ 에서 / 는 정규식의 시작과 끝을 알린다.
    //return preg_replace("( union| update| insert| delete| drop|\/\*|\*\/|\\\|\;)",'',$sql);
}

?>

728x90
블로그 이미지

Link2Me

,