[질문] MYSQL에서 질의 결과를 파일로 뽑아내는 방법. 제발 좀

leolo의 이미지

아래 질의를 하면 결과가 아래와 같이 나오는데요.

이 질의의 결과를 파일로 저장하고 싶습니다. 단, 오늘로 부터 1주일 전까지만의 데이터를 뽑고,

이를 오늘날짜의 파일 이름으로 백업 받고자 합니다. 예를 들어 오늘이 7월 20일이면, 7월 14일 부터, 7월 20일까지의 데이터를 뽑아서. call_0720.txt 라는 파일로 뽑고 싶습니다.

방법이 있는지요.

select PHONE, CALLING_NUMBER, START_TIME from CALLUSE WHERE PHONE IN ('311') and length(CALLING_NUMBER) <= 6;

+-------+----------------+---------------------+
| PHONE | CALLING_NUMBER | START_TIME |
+-------+----------------+---------------------+
| 311 | 311 | 2005-07-20 19:35:54 |
| 311 | 311 | 2005-07-20 19:32:48 |
| 311 | 311 | 2005-07-20 19:04:11 |
| 311 | 311 | 2005-07-20 12:19:10 |
| 311 | 311 | 2005-07-20 12:18:00 |
| 311 | 311 | 2005-07-20 12:09:12 |
| 311 | 311 | 2005-07-19 21:26:16 |
| 311 | 311 | 2005-07-19 21:10:00 |
| 311 | 311 | 2005-07-19 21:05:24 |
| 311 | 311 | 2005-07-19 21:01:26 |
| 311 | 311 | 2005-07-18 19:13:39 |
| 311 | 311 | 2005-07-18 19:13:57 |
| 311 | 311 | 2005-07-18 19:15:59 |
| 311 | 311 | 2005-07-18 19:23:33 |
| 311 | 311 | 2005-07-18 19:24:28 |
| 311 | 311 | 2005-07-18 19:24:29 |
| 311 | 311 | 2005-07-18 19:24:30 |
| 311 | 311 | 2005-07-18 19:24:38 |
| 311 | 311 | 2005-07-18 19:24:39 |
+-------+----------------+---------------------+
19 rows in set (0.00 sec)

일단 질의는 하겠는데, 오늘 부터 1주일전치의 데이터를 뽑는 방법을 모르겠습니다.

ggak의 이미지

select ... into outfile 'filename' from ... 구문으로 파일로 뽑구요
날짜 계산은 date_sub 함수를 쓰시면 되겠습니다.
-> date_sub(now(), interval 7 day)

대략 아래와 같은 SQL문이 되겠군요
select PHONE, CALLING_NUMBER, START_TIME into outfile 'call_0720.txt' from CALLUSE WHERE PHONE IN ('311') and length(CALLING_NUMBER) <= 6 and START_TIME < date_sub(now(), interval 7 day);

원하는 파일명을 만드는 방법은 모르겠군요. 이건 MySQL client 에서보다는 외부에서 스크립트를 만드는게 낫겠는데요?

kerz의 이미지

일정기간에 대한 쿼리를 원하신다면..

DATE_SUB라는 날짜에 대한 빼기 연산을 하는 함수를 이용하시면 됩니다.

예를 들면 일주일이라면 7일..

현재날짜부터 7일 전의 날짜를 구해서 조건을 주는것입니다.

DATE_SUB( NOW() , INTERVAL 7 DAY)

DAY, MONTH, YEAR 등의 활용이 가능합니다.

SELECT 
	PHONE, CALLING_NUMBER, START_TIME 
FROM 
	CALLUSE 
WHERE 
	PHONE IN ('311') 
	AND length(CALLING_NUMBER) <= 6 
	AND START_TIME > DATE_SUB( NOW() , INTERVAL 7 DAY)
;

이런식으로 쿼리를 하시면 될것 같습니다.

그리고 그 쿼리 결과를 파일에 저장하시고 싶다면..

-e 옵션을 활용하여 직접 쿼리를 수행하고 파일로 리다이렉트 하시면 될듯합니다.

그리고 -t 옵션을 넣어주시면.. 테이블 모양 도 같이 출력됩니다.

$ mysql -u 유저명 DB명 -p -e "쿼리" -t > 저장할 파일명

-----
늘 여유가 함께하길..

kerz의 이미지

아아.. 제출 누르고 나니 어느새 먼저 답변이.. :cry:

-----
늘 여유가 함께하길..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.