BLOG ARTICLE 사용법 | 3 ARTICLE FOUND

  1. 2014.02.05 [MySQL] mysql 기초 명령어
  2. 2014.01.28 [Linux] 크론탭(crontab) 사용법 확장
  3. 2014.01.28 [Linux] vi 에디터 명령어

 

PHP에서 mySQL 데이터를 호출할때 사용 되는 기본적인 명령어 모음

 

 

 

 

[MySQL] MySQL 명령어 _완전기초 (데이터베이스는 삽입,검색,수정,삭제만 알아도 반은 안거란 말이 있죠~ )

USE database_name;        ← 사용할 데이터 베이스 선택 :

 

① 검색

   SELECT * FROM table_name WHERE abc_column='a' ;

② 수정

   UPDATE  tabel_name  SET  a_column='a'  WHERE b_column='b' ;

③ 삽입

   INSERT INTO  table_name (a_column, b_column) VALUES ('a', 'b') ;

④ 삭제

   DELETE FROM  table_name  WHERE d_column='del' ;

   ※ TRUNCATE table_name;   ← 전체 레코드 삭제 ( DELETE FROM table_name 보다 빠름 )

 

 

자~ 여기부터는 MySQL 명령어 기초를 살짝 넘어가 봅니다

 

① SELECT * FROM table_name WHERE abc_column='a' ORDER BY a_column DESC  LIMIT 100;

     └ order by a_column은 정렬,  oder by a_column desc는 역순정렬,  limit 100 은 100개까지

 

   SELECT * FROM table_name WHERE a_column like '%aaa%';

     └ a_column 에서 aaa 를 포함하는 모든 레코드를 가져옴

 

   SELECT * FROM table_name WHERE a_column BETWEEN 10 AND 100;

     └ a_column 에서 10 ~ 100 사이의 값을 가진 레코드를 가져옴

 

   SELECT a_column FROM table_name GROUP BY a_column;

     └ a_column 의 같은 값끼리 그룹을 묶음.

 

   SELECT count(*) FROM table_name;

      └ 테이블의 전체 레코드 갯수를 가져옴

 

 

UPDATE table_a SET table_a . a_column = table_b . a_column FROM table_a, table_b

    WHERE table_a.a_column = table_b.a_column  ;

       └ 두개의 테이블에서 조건을 비교하여 업데이트

 

③ 문자관련 함수

    SELECT LEFT(a_column, 2) FROM table_name;     ← a_컬럼 에서 왼쪽부터 2자리 잘라서 가져온다.

    SELECT MID(a_column, 2, 4) FROM table_name;   ← a_컬럼 2자리부터 오른쪽으로 4자리 만큼 가져온다.

    SELECT RIGHT(a_column, 3) FROM table_name;   ← a_컬럼 에서 오른쪽부터 3자리 잘라서 가져온다.

    SELECT * FROM table_name WHERE LENGTH(a_column)=10;  ← a_컬럼에서 길이가 10인 레코드만

    UPDATE table_name SET a_column=REPLACE(a_column,'변경전글자','변경후글자');

       └ a_컬럼의 '변경전글자' 라는 문자열을 '변경후글자'로 바꾸어 a_컬럼 수정

    UPDATE table_name SET a_column=TRIM(a_column);

       └ a_컬럼의 왼쪽 오른쪽 공백을 모두 제거

     SELECT AVG(a_column),MIN(a_column),MAX(a_column),SUM(a_column) FROM table_name;   

       └ AVG : 평균값, MIN : 최소값, MAX : 최대값, SUM : 합계

     SELECT version(),user(),database();

        └ MySQL 버젼 , 유저 , 데이터베이스명 보기

 

④ 날자관련 함수

    SELECT NOW();

 

 

자~ 여기 부터는 조금더 기초를 넘어 MySQL 명령어 기본기 다지기 정도? 잠시 쉬어갑시다~

 

JOIN : a_테이블 과 b_테이블 에서 a_컬럼의 값이 같은 레코드만 가져옴

    SELECT a_table.a_column, b_talbe.a_column

    FROM a_talbe, b_table

    WHERE a_table.a_column = b_table.a_column;

 

   INNER JOIN : 테이블A 와 테이블B를 비교하여

 

테이블A와 테이블B의 컬럼a 값이 000 인 것의

테이블B 컬럼b 값을 가져오는 쿼리 입니다.

 

SELECT  b.column_b

FROM table_a as a
       inner join table_b as b on a.column_a=b.column_a
WHERE a.column='000'

 

 

 

 

UNION : a_테이블 과 b_테이블 에서 a_컬럼,b_컬럼 모든 값을 한꺼번에 가져옴

    SELECT a_column FROM a_table

    UNION

    SELECT b_column FROM b_table;

 

 

AND

Crontab은 리눅스에서 스케줄링하여 원하는 시간에 작업을 실행할 수 있는 아주 유용한 툴이다. 사용자가 적은 새벽 4시마다 디스크 백업을 하고 싶거나, 매일 00시에 아파치 로그파일을 압축 백업 하는 것과 같은 작업을 할 때 crontab은 매우 손쉽게 작업을 할 수 있다. 물론 Spring batch나 quartz 같은 것을 쓰면 분산처리나 로깅등에 유용하지만 간단한 실행파일을 하루 한번 돌리는데 그런 것들은 너무 거창하다.

 

각 사용자별로 crontab 파일을 가지게 되며, 이를 수정해두면 cron job scheduler가 지정된 시간에 주기적으로 지정된 파일을 실행해준다. 순차적으로 여러가지 일을 해야 한다면 쉘스크립트를 만들어 실행하면 편리하다. Crontab은 스크립트가 실패해도 로그를 남기지 않으므로 실행할 스크립트에서 실행 결과를 파일로 로깅하도록 하는게 관리 면에서 좋다. 실패하면 메일이나 SMS 등이 오고록 하는 것도 관리 측면에서 유용하다.

 

Crontab에서 실행할 스크립트를 등록하면서 많이 실수하는 것이 crontab에 등록하기전에 실행해보지 않는다는 것이다. 공들여 몇시간 만든 스트립트인데 문법오류나 실행권한없음 등의 이유로 실행되고 있지 않다가 수일에서 수개월이 지나서야  발견되는 경우를 흔히 볼 수 있다. 잘못 돌아갈 이유가 없어보여도 crontab 등록 후에 반드시 쉘스크립트나 실행 파일을 꼭 실행해보자.

 


또 하나 주의 할 점이 있는데 crontab에 등록하는 스크립트는 여러번 반복 실행해도 에러가 나지 않도록 만들어야 한다. 하루에 꼭 한번씩 특정 시간에만 실행되도록 만들면 안된다. 매일 새벽 4시에 실행되야 하는데 출근해서 점심 먹고 알았다고 해보자. 그런데 이 스크립트는 4시에만 실행해야 하고 오후 1시에 실행하면 안된다고 하면 당신의 출근은 갑자기 늦어지고 저녁 데이트에 못갈수도 있다. 시간적 종속성이 있고 실행여부가 매우 중요하다면 시간이 들더라도 crontab 말고 Spring batch나 quartz를 사용하도록 하자.

 

 

사용법

현재 로그인한 사용자의 crontab 파일 수정

$ crontab -e

 

현재 로그인한 사용자의 crontab 파일 내용 보기

$ crontab -e

 

현재 로그인한 사용자의 crontab 파일 삭제

(e와 r은 키보드에서 붙어 있어서 실수로 삭제 명령을 실행하는 경우가 있으니 주의)

$ crontab -r

 

Crontab 파일 문법

분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-7) 실행명령(절대경로)

 

예제

# 매일 04:00 backup.sh 실행

0 4 * * * $HOME/backup.sh

 

# 매월 1일 2시 30분 report.sh 실행

30 2 1 * * $HOME/report.sh

 

# 짝수 시간 마다 monitoring.sh 실행

0 0-23/2 * * * $HOME/monitoring.sh

 

닉네임 사용

자주 사용사는 것들은 아래와 같이 미리 정의된 닉네임을 사용할 수 있다.

@reboot  : Run once, at startup.

@yearly  : Run once a year, ie. "0 0 1 1 *".

@annually  : Run once a year, ie. "0 0 1 1 *".

@monthly : Run once a month, ie. "0 0 1 * *".

@weekly  : Run once a week, ie. "0 0 * * 0".

@daily   : Run once a day, ie. "0 0 * * *".

 

@hourly  : Run once an hour, ie. "0 * * * *".

 

실행내용 메일 받기

Crontab 수정시 위에 MAILTO를 선언하면 실행 내용을 메일로 받을 수 있다.

# dsmoon@daum.net 으로 메일 받기

MAILTO="dsmoon@daum.net"

 


# 메일 받지 않기

MAILTO=""


 

 

 

[출처] Crontab 설정|작성자 오라클

AND

1. vi 에디터의 모드

- 명령모드 : 명령어를 실행할 수 있는 상태

- 입력모드 : 원하는 문자열을 입력시킬 수 있는 상태

- ESC : 입력모드에서 명령모드로 전환시킴

 

2. 명령모드 명령어

- i : 입력모드로 전환

- a : 커서의 다음칸부터 입력

- [n]x : n의 수만큼 글자삭제

- [n]dd : n의 라인수만큼 삭제

- u : 명령취소

- [n]yy : n의 라인수만큼 복사

- p : 붙여넣기

- :wq : 저장후 종료

- :w : 저장

- :q : 종료

- :q! : 저장하지않고 종료

 

3. 화면스크롤

- ctrl+f : 한화면 다음으로

- ctrl+b : 한화면 이전으로

- ctrl+d : 반화면 다음으로

- ctrl+u : 반화면 이전으로

- G : 파일의 맨 끝으로 이동

- [n]G : n번째 라인으로 이동

- :[n] : n번째 라인으로 이동

 

4. 검색

- / [검색단어] : 현재 위치에서 아래방향으로 검색단어를 검색

- n : 이전 검색을 반복

- ? [검색단어] : 현재 위치에서 위방향으로 검색단어를 검색

- N : 이전 검색을 반복, 방향은 반대

 

5. 치환

- :[n],[m] s/[찾을 문자]/[치환할 문자]/[옵션]

n번째 줄부터 m번째 줄까지 문자를 치환

m이 $일경우 문서의 끝까지 치환

옵션이 g 일 경우 찾은 문자를 모두 치환

옵션이 c 일 경우 찾은 문자를 치환할 것이지 확인 메세지 출력

 

6. 환경설정

/usr/share/vim/vim61/vimrc_example.vim 을 자신의 홈 디렉토리에 vimrc로 복사하여 편집

- set autoindent 자동 들여쓰기

- set cindent C 파일 자동 들여쓰기

- set number 행번호 표시

- set backup 백업파일 자동생성

 

 

   출처: http://blog.naver.com/imju1196?Redirect=Log&logNo=20184691090

AND