250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 중용
- 일일투자금액
- MySQL
- 공작과개미
- Git
- 서울로가자
- git 업로드
- ChatGPT
- 헬레나크로닌
- 나만의주식5법칙
- delete
- OpenCV
- 독후감
- db
- php
- Python
- 지방사람이보는서울사람
- 훌륭한모국어
- Face Detection
- 꼭읽어봐야할책
- 네인생우습지않다
- UPSERT
- 비밀번호변경
- Django
- todolist
- linux명령어
- 성선택
- 다산의마지막습관
- 옹졸함
- 클라우드
Archives
- Today
- Total
Terry Very Good
[Mysql] CSV파일을 DB에 업로드(UPSERT를 이용) 본문
728x90
반응형
로직
1. CSV파일의 출력(CAT) 결과를 변수에 저장
2. explode를 이용한 데이터 배열화 ( '줄'을 기준으로 앞뒷값들을 배열로)
(for문) explode를 이용한 CSV 데이터 순차적 추출(','를 기준으로 앞뒷값들을 배열로)
| SQL문(UPSERT) 수행
/
<?php
include '../conn.php';
# csv파일 전부를 cmd라는 변수에 입력
$cmd = "cat ./dept_update_info.csv";
$res = `$cmd`;
$rows = explode("\n",$res);
for($i=2; $i < count($rows)-1; $i++)
{
$data=explode(",",$rows[$i]);
#echo $data[0]; //팀명(dept)
#echo $data[1]; //조직코드(deptCD)
#echo $data[2]; //조직전체명칭(dept_full)
#echo $data[3]; //상위조직코드(upper_deptCD)
#echo $data[4]; //순(ord)
$sql = "INSERT INTO iqms.dept_info ";
$sql .= "( ";
$sql .= " dept, deptCD, dept_full, upper_deptCD, ord ";
$sql .= ") ";
$sql .= "VALUES ";
$sql .= "( ";
$sql .= " ?,?,?,?,? ";
$sql .= ") ";
$sql .= "ON DUPLICATE KEY UPDATE dept=?, dept_full=?, upper_deptCD=?, ord=?;";
#echo "\n\n".$sql."\n\n";
$sql_obj = $conn->prepare($sql);
$sql_obj->bind_param("sssssssss",$data[0],$data[1],$data[2],$data[3],$data[4],$data[0],$data[2],$data[3],$data[4]);
$sql_obj->execute();
$result = $sql_obj->get_result();
}
?>
728x90
반응형
'프로그래밍 > (WEB) DB관리' 카테고리의 다른 글
[Mysql] 연속된 XML Code를 DB에 넣는 방법(PHP) (0) | 2021.01.13 |
---|---|
[Mysql] CSV를 DB에 업로드 하기 전, CSV에 없는 필드값(deptCD) 비교 후 삭제하기 (0) | 2021.01.12 |
[Mysql] 백업 및 복구 (0) | 2021.01.12 |
[Mysql] 데이터가 업데이트 되지 않은 학과 찾기(SELECT dept, count(*) as num FROM [테이블명] WHERE [업데이트컬럼]='' GROUP BY dept HAVING num>3;) (0) | 2021.01.10 |
[Mysql] Upsert(Update&Insert) 기능(Primary Key or Unique Key 값이 이미 있을 경우 Update, 없다면 Insert) (0) | 2021.01.10 |