http://www.fusioncharts.com/demos/gallery/#column-and-bar

 

http://docs.fusioncharts.com/charts/

by sonysean 2013. 12. 30. 14:03
1. 커서의 정의
 

커서란 SQL Plus에서 사용자가 실행한 SQL문의 단위를 의미합니다.
오라클에서 수행한 모든 쿼리문은 커서 단위로  처리합니다.

PL/SQL의 SQL문처럼 하나의 결과를 리턴하는 경우 커서 없이도 SQL문의 실행결과가 암시적으로 커서에 저장되므로 이를 암시적 커서라고 합니다.
 


SQL문을 수행한 후에 결과로 얻어지는 행이 여러 개일 경우에는 암시적은 커서에 정보를 저장할 수 없기에 에러가 발생합니다. 이럴 경우에는 반드시 명시적인 커서를 사용해야 합니다.


명시적인 커서는 PL/SQL 레코드(RECORD)와 PL/SQL의 테이블(TABLE)을 결합한 것으로서 프로그램 언어의 구조체 배열과 유사합니다
------------------------------------------------------------------------------------------------------
(오라클에서 CURSOR란 시스템 글로벌 영역의 공유 풀 내에 저장공간을 사용하여 사용자가 SQL 문을 실행시키면 결과값을 저장공간에 가지고 있다가 원하는 시기에 순차적으로 fetch해 처리하여 해당 결과 셋을 프로그래밍적으로 접근할수 있게 도와주는 기능이다.)
------------------------------------------------------------------------------------------------------


2. 커서의 사용(명시적 커서)
 

1) 커서를 선언한다.
   CURSOR cur_name
2)커서를 오픈한다
  OPEN cur_name
3)커서에 조회한 결과를 인출해 지정한다.
  FECTCH cur_name ....
4)커서를 닫는다
  CLOSE cur_name

------------------------------------------------------------------------------------------------------
DECLARE --커서 정의
 CURSOR cur_name IS SELECT  statement --커서의 선언
BEGIN 
  OPEN cur_name; --cursor분석 및 실행
  LOOP
     FETCH cur_name into variable1, variable2; --cursor의 현재 행을  변수에 로드
  END LOOP; --가져올 행이 없으면 종료
  CLOSE cur_name; --커서를 닫는다
END;
/
------------------------------------------------------------------------------------------------------



3. 특정 부서의 평균급여와 사원수를 출력


출처 :  http://hb.hengki.net/98 


 

by sonysean 2013. 6. 20. 13:15

- PuTTY 명령어

 

ㅁ폴더 이동 : cd 폴더명

ㅁ상위 폴더 이동 : cd ..

ㅁ루트 폴더로 이동 : cd

ㅁ해당 폴더내 하위폴더 및 파일보기 : ls 또는 ls -a

ㅁ파일 실행하기 (쉘스크립트) : ./파일명

 

ㅁVI 에디터 실행 : vi (실행 후 입력은 i , 명령어모드(?)는 ESC - 서로 변환됨)

ㅁVI 명령어 모드에서 종료 : :q (종료), :q! (강제종료), :wq (저장후종료)

 

man
도움말을 보여주는 명령어입니다.
예> mkdir 명령어의 쓰임을 알아보고자 한다면 $ man mkdir
ls
현재 위치의 디렉토리와 파일명을 보실수 있는 명령어 입니다.(dos = "dir" 동일)
$ ls 
Maildir/ public_html/
cd
디렉토리 사이를 이동합니다.
cd .. (상위디렉토리로 이동) 
cd / (최상위 디렉토리로 이동) 
cd (자신의 홈디렉토리로 이동)
mkdir
디렉토리를 형성하는 명령어 입니다.
$ ls 현행 디렉토리 내에는 Maildir,public_html라는 디렉토리가 존재합니다 
Maildir/ public_html/ 
$ mkdir test test라는 디렉토리를 생성합니다 
Maildir/ public_html/ test/
cp
파일을 copy할때 쓰는 명령어 입니다.
index.html 파일을 index_old.html파일로 복사합니다 
$ cp index.html index_old.html
mv
파일/디렉토리를 복사하지 않고 옮기거나 명칭을 변경하기 위한 명령어 입니다. 
index.html 파일을 test라는 디렉토리로 이동시킵니다. 
$ mv index.html test/ 
index.html 파일을 test.html 
$ mv index.html test.html
rm
파일/디렉토리를 삭제하실때 사용하는 명령어입니다. 
단, 주의 하실 점은 한번 삭제한 파일/디렉토리는 복구가 불가능합니다.
index.html 파일을 삭제하고자 할 때 
$ rm index.html 
디렉토리 삭제시 예 ('homepage' 라는 디렉토리안을 모두 삭제) 
(※ 디렉토리 삭제시에는 반드시 -r 이라는 옵션을 주셔야 합니다.)
chmod
퍼미션 변경을 하는 명령어 입니다. 
Public_html 디렉토리의 퍼미션을 변경합니다.
$ chmod 707 public_html 
$ ls -la | grep public_html 
drwx---rwx 6 guest users 4096 Jan 28 14:39 public_html
password
- 패스워드를 바꾸는 명령어 입니다. -> 더 자세한 내용. 
※ 처음 계정을 받으신후 반드시 자신만의 패스워드로 재변경을 해주시기 바랍니다.
 * 주의사항
- 대/소문자를 구별, 6자 이상(영문,숫자조합) 
- 개인정보가 노출될만한 내용(전화번호,주민등록번호)은 삼가해주시기 바랍니다. 
- passwd 사용예 (패스워드는 입력시 화면에 나타나지 않습니다.) 
$ passwd <엔터를 누릅니다> 
현재 패스워드 입력 <엔터를 누릅니다> 
바꿀 패스워드 입력 <엔터를 누릅니다> 
바꿀 패스워드 재입력 <엔터를 누릅니다>
tar
- 파일 / 디렉토리를 백업, 배포본 cgi(게시판, 자료실, 카운터 등)등을 사용 하실때 
필히 알아 두셔야하는 명령어 입니다.
예> tar에서 "압축을 하실때" 사용 
(cvfz라는 옵션을 주셔야 합니다. public_html 디렉토리 전체 압축시) 
$ tar -cvfz backup.tar public_html/ 
예> tar에서 "압축을 푸실때" 사용 
(xvfz라는 옵션을 주셔야 합니다. 또한 푸시고자 하는 디렉내에서 압축을 풀어줍니다)
$ tar -xvfz backup.tar
du
- 현재 할당된 사용 용량을 확인하는 명령어 입니다 
$ du -sh 
480k

 

 

'linux' 카테고리의 다른 글

putty 사용법 호스트 주소 입력 사용자 입력  (0) 2013.06.04
by sonysean 2013. 6. 4. 11:13

 1. putty 다운후 실행. Host Name (or IP address) 란에 입력

 

2. Connection type 선택은 해당 설정에 맞는 타입을 선택

3. Saved Sessions  에 사용하고자 하는 세션명을 입력 Save 후 Open

4. 콘솔창에서 사용자 아이디 입력

 

 

5. 사용자 입력후 패스워드 입력

 

6. 해당 화면이 보이면 성공

 

 

'linux' 카테고리의 다른 글

PuTTY 명령어  (0) 2013.06.04
by sonysean 2013. 6. 4. 11:10
1.기획 및 스토리보드 작성 
2.과업 내역서 작성 : 개요,하드웨어,팀 구성 등등 
3.계획작성 : WBS,디자인,개발,보안 가이드 작성 
4.분석 : 요구사항정의서, 논리 ERD등 
5.설계 : 코드정의서, 시스템아키텍쳐,프로레스정의,사용자인터페이스,테이블정의,물리ERD,시스템인터페이스,도메인 정의서 등등 
6.개발

 

'project ing' 카테고리의 다른 글

마이플랫폼 진행중  (0) 2012.03.29
전자상품권 프로젝트 진행중  (0) 2012.03.26
by sonysean 2013. 5. 31. 16:32

colNames:['Product Code','Product Group','Status'],
colModel:[         
            {name:'ProductCode',index:'ProductCode', optionName : optionValue},              
            {name:'ProductGroup',index:'ProductGroup' , optionName : optionValue},
            {name:'Status',index:'Status', optionName : optionValue}           
        ],
optionName : optionValue   

 

  

 

 

 

align        : "center" ,    // 컬럼 글 정렬
title        : "false"  ,    // 마우스 오버 시 타이틀 글씨 숨김
width        : 120     ,    // 컬럼 넓이 (픽셀 속성 , 퍼센트 속성은 사용 불가)
search       : true    ,    // searchToolbar , searchButton 사용 시 컬럼 찾기 기능 사용가능
resizable    : true    ,    // 컬럼 사이즈를 자유자재로 조절할 수 있음
sorttype     : "date" / "integer" / "text" / function
sortable     : true    ,    // 컬럼 간의 위치를 바꿀 수 있다. (editable , multiselect 기능과 중복 사용 불가!)
hidden       : true    ,    // 컬럼에 값을 가지고 있지만 그리드에서 숨김
editable     : true    ,    // 셀 값을 변경 할 수 있음
edittype     : "text" / "select" / "checkbox" / "textarea"
editoptions  : {optionName:optionValue} , // 위의 edittype 값에 따라 적용 옵션이 다름 (각 값의 input 옵션과 동일)
frozen       : true    ,    // 컬럼 틀고정 기능 사용가능 (editable , multiselect 기능과 중복 사용 불가!)
rowNum:10,                              // 한화면에 보여줄 row의 수
width:'auto',                           // 그리드 전체 넓이 조정 (오토 조절 가능)        
autowidth:true,                         // 오토 조절 가능 (width 옵션과 동시 사용 불가!)        
rowList:[10,20,30],                     // 한 화면에서 볼 수 있는 row의 수를 조절 가능       
pager:'#pager',                         // 페이징을 처리할 <div> 태그의 #+id값
rownumbers: true,                       // row의 숫자를 표시해준다.
sortname:'ProductCode',                 // 처음 그리드를 불러올 때에 정렬 기준 컬럼
viewrecords: true,                      // 그리드가 보여줄 총 페이지 현재 페이지등의 정보를 노출
multiselect: true,                      // 멀티 셀렉트 박스가 첫번째 컬럼에 생김
sortorder:"desc",                       // 정렬 기준
sortable: true,                         // colmodel 에서 sortable 기능 사용하려면 true!
caption:"그리드 제목 입력",             // 그리드 상단에 그리드의 제목을 입력할 수 있음
height: "220",                          // 그리드 높이 설정
editurl: "URL.action",                  // 셀이 수정될 때 수정 요청을 받아서 처리할 URL
cellEdit: true,                         // 셀 수정 기능을 사용하려면 true!
grouping:true,                          // row 그룹핑 (서브그리드와는 다른 개념)
groupingView:
  {
    groupField:['컬럼 이름'],     // 기준이 될 컬럼의 이름
    groupColumnShow: [true],      // 기준이 된 컬럼으로 그룹핑 후 기준 컬럼 숨김
    groupText:['{0}({1})],        // {0} = 그룹핑된 셀값 , {1} = 그룹 하위 값들의 갯수
    groupDataSorted: true         // 그룹핑된 값들 정렬
  },      

'jqgrid' 카테고리의 다른 글

jqgrid docs  (0) 2013.05.30
jqgrid demo page url  (0) 2013.05.30
by sonysean 2013. 5. 30. 15:03

 

jqgriddocs.pdf

'jqgrid' 카테고리의 다른 글

jqgrid optionName : optionValue  (0) 2013.05.30
jqgrid demo page url  (0) 2013.05.30
by sonysean 2013. 5. 30. 11:33
http://www.trirand.com/blog/jqgrid/jqgrid.html

 

'jqgrid' 카테고리의 다른 글

jqgrid optionName : optionValue  (0) 2013.05.30
jqgrid docs  (0) 2013.05.30
by sonysean 2013. 5. 30. 11:26

문자지정 . 사용예제
 . 은 아무 문자나 1개를 가리킨다.
 하지만 "줄바꿈 문자"는 제외된다.
====================================
  Find   h.t
  Replace 123
  Source  hat halt hit heat hot
  Result  123 halt 123 heat 123
====================================
  Find   h..t
  Replace 1234
  Source  hat halt hit heat hot
  Result  hat 1234 hit 1234 hot
====================================


문자지정 [ ] 사용예제
 [ ] 은 그 안에 있는 문자중 아무것 1개를 가리킨다.
 [abc]    a,b,c 중 아무것이나 1개
 [1234]    1,2,3,4 중 아무것이나 1개
 [a-z]    알파벳 소문자 중 아무것이나 1개
 [A-Z]    알파벳 대문자 중 아무것이나 1개
 [0-9]    숫자 중 아무것이나 1개
 [a-zA-Z]   알파벳 소문자나 대문자 중 아무것이나 1개
 [a-zA-Z0-9_] 알파벳, 숫자, 밑줄문자 중 아무것이나 1개
====================================
  Find   h[aiu]t
  Replace 123
  Source  hat het hit hot hut
  Result  123 het 123 hot 123
====================================


문자지정 [^ ] 사용예제
 [^ ] 은 그 안에 있는 문자를 제외한 문자중 아무것 1개를 가리킨다.
 [^abc]    a,b,c 이외의 문자 중 아무것이나 1개
 [^1234]   1,2,3,4 이외의 문자 중 아무것이나 1개
 [^a-z]    알파벳 소문자 이외의 문자 중 아무것이나 1개
 [^A-Z]    알파벳 대문자 이외의 문자 중 아무것이나 1개
 [^0-9]    숫자 이외의 문자 중 아무것이나 1개
 [^a-zA-Z]  알파벳 소문자나 대문자 이외의 문자 중 아무것이나 1개
 [^a-zA-Z0-9_]알파벳, 숫자, 밑줄문자 이외의 문자 중 아무것이나 1개
====================================
  Find   h[^aiu]t
  Replace 123
  Source  hat het hit hot hut
  Result  hat 123 hit 123 hut
====================================


개수지정 * 사용예제
 * 은 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것을 가리킨다.
 {0,}과 같은 의미이다.
====================================
  Find   ha*t
  Replace 123
  Source  ht hit hat hot haat hut haaaaat
  Result  123 hit 123 hot 123 hut 123
====================================


개수지정 + 사용예제
 + 은 바로 앞에 있는 문자가 1개 또는 그 이상 있는 것을 가리킨다.
 {1,}과 같은 의미이다.
====================================
  Find   ha+t
  Replace 123
  Source  ht hit hat hot haat hut haaaaat
  Result  ht hit 123 hot 123 hut 123
====================================


 개수지정 ? 사용예제
 ? 은 바로 앞에 있는 문자가 0개 또는 1개 있는 것을 가리킨다.
 {0,1}과 같은 의미이다.
====================================
  Find   ha?t
  Replace 123
  Source  ht hit hat hot haat hut haaaaat
  Result  123 hit 123 hot haat hut haaaaat
====================================


개수지정 {n} 사용예제
 {n} 은 바로 앞에 있는 문자가 n개 있는 것을 가리킨다.
====================================
  Find   ha{2}t
  Replace 123
  Source  ht hit hat hot haat hut haaaaat
  Result  ht hit hat hot 123 hut haaaat
====================================


개수지정 {n,} 사용예제
 {n,} 은 바로 앞에 있는 문자가 n개 이상 있는 것을 가리킨다.
====================================
  Find   ha{2,}t
  Replace 123
  Source  ht hit hat hot haat hut haaaaat
  Result   ht hit hat hot 123 hut 123
====================================


개수지정 {n,m} 사용예제
 {n,m} 은 바로 앞에 있는 문자가 n개 이상, m개 이하 있는 것을 가리킨다.
====================================
  Find   ha{2,4}t
  Replace 123
  Source  ht hat haat haaat haaaat haaaaat
  Result  ht hat 123 123 123 haaaaat
====================================


개수지정 Greedy방식과 Lazy방식
 문자 개수를 지정하는 방법은 크게 Greedy방식과 Lazy방식으로 나뉘어진다.
 Lazy방식은 Non-Greedy 방식이라고 한다.
 Greedy 방식은 욕심이 많아서 가능한 최대의 것을 선택한다.
 Lazy방식은 게을러서 가능한 최소의 것을 선택한다.
 Greedy 방식뒤에 ?을 붙이면 Lazy방식이 된다.
==================
= Greedy  =   Lazy     =
==================
  *     *?
  +     +?
  ?     ??
  {n}    {n}?
  {n,}    {n,}?
  {n,m}   {n,m}?
==================
 * 은 Greedy 방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는것중, 가능한 최대의 것을 가리킨다.
 *? 은 Lazy 방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 + 은 Greedy 방식으로, 바로 앞에 있는 문자가 1개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 +? 은 Lazy 방식으로, 바로 앞에 있는 문자가 1개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 ? 은 Greedy 방식으로, 바로 앞에 있는 문자가 0개 또는 1개 있는 것 중, 가능한 최대의 것을 가리킨다.
 ?? 은 Greedy 방식으로, 바로 앞에 있는 문자가 0개 또는 1개 있는 것 중, 가능한 최소의 것을 가리킨다.
 {n} 은 Greedy 방식으로, 바로 앞에 있는 문자가 n개 있는 것을 가리킨다.
 {n}? 은 Lazy 방식으로, 바로 앞에 있는 문자가 n개 있는 것을 가리킨다.
 {n} 과 {n}? 은 동일하다.
 {n,} 은 Greedy 방식으로, 바로 앞에 있는 문자가 n개 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 {n,}? 은 Lazy 방식으로, 바로 앞에 있는 문자가 n개 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 {n,m} 은 Greedy 방식으로, 바로 앞에 있는 문자가 n개 이상, m개 이하 있는 것 중, 가능한 최대의 것을 가리킨다.
 {n,m}? 은 Lazy 방식으로, 바로 앞에 있는 문자가 n개 이상, m개 이하 있는 것 중, 가능한 최소의 것을 가리킨다.
 
 .* 과 .*? 은 일반적으로 많이 쓰이는 정규표현식 패턴이다.
 . 은 "줄바꿈문자"를 제외한 아무 문자나 1개를 가리킨다.
 * 은 Greedy 방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 *? 은 Lazy방식으로, 바로 앞에 있는 문자가 0개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 .* 은 Greedy 방식으로, "줄바꿈문자"를 제외한 아무 문자나 0개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 .*? 은 Lazy방식으로, "줄바꿈문자"를 제외한 아무 문자나 0개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
====================================
  Find   <.*>
  Replace 123
  Source  Regex <b>Greedy</b> Style
      Regex <i>Lazy</i> Style
  Result  Regex 123 Style
      Regex 123 Style
====================================
 <.*> 과 일치하는것 : <로 시작하고, 중간에 아무 문자나 0개 이상 들어있고, >로 끝나는 것 중, 가능한 최대의것
          <b>Greedy</b>, <i>Lazy</i>

====================================
  Find   <.*?>
  Replace 123
  Source  Regex <b>Greedy</b> Style
      Regex <i>Lazy</i> Style
  Result  Regex 123Greedy123 Style
      Regex 123Lazy123 Style
====================================
 <.*?> 과 일치하는것 : <로 시작하고, 중간에 아무 문자나 0개 이상 들어있고, >로 끝나는 것 중, 가능한 최소의것
          <b>, </b>, <i>, </i>

 .+ 과 .+? 도 일반적으로 많이 쓰이는 정규식 패턴이다.
 . 은 "줄바꿈문자"를 제외한 아무 문자나 1개를 가르킨다.
 + 은 Greedy 방식으로, 바로 앞에 있는 문자가 1개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 +? 은 Lazy 방식으로, 바로 앞에 있는 문자가 1개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 .+ 은 Greedy 방식으로, "줄바꿈문자"를 제외한 아무 문자나 1개 또는 그 이상 있는 것 중, 가능한 최대의 것을 가리킨다.
 .+? 은 Lazy방식으로, "줄바꿈문자"를 제외한 아무 문자나 1개 또는 그 이상 있는 것 중, 가능한 최소의 것을 가리킨다.
 


위치지정 ^ 사용예제
 ^ 은 줄의 제일 처음을 가리킨다.
====================================
  Find   ^h.t
  Replace 123
  Source  hat hit hot
  Result  123 hit hot
====================================


위치지정 $ 사용예제
 $ 은 줄의 제일 마지막을 가리킨다.
====================================
  Find    h.t$
  Replace 123
  Source  hat hit hot
  Result  hat hit 123
====================================


한 줄 전체 선택 ^.*$ 사용예제
 ^.*$ 은 줄 처음과 끝사이에 아무 문자나 0개 이상 있는것을 의미하므로, 결과적으로 한 줄 전체를 가리킨다.
 아무것도 없는 빈 줄도 해당된다.
====================================
  Find   ^.*$
  Replace 123
  Source  Regular Expressions
      Greedy Style
      Lazy Style
  Result  123
      123
      123
====================================


Group 지정 ( ) 사용 예제
 ( ) 은 Group을 지정할때 사용된다.
 Group은 개수 지정 패턴과 함께 사용될때, 한개의 문자 처럼 취급된다.
====================================
  Find   ba(na)*
  Replace 123
  Source  ba na bana banana nana bananana
  Result  123 na 123 123 nana 123
====================================
====================================
  Find   ba(na)+
  Replace 123
  Source  ba na bana banana nana bananana
  Result  ba na 123 123 nana 123
====================================


Group Referencing $1 사용예제
 Group으로 지정된 내용을 Find Pattern 이나 Replace Pattern 안에서 다시 사용하는 것을 Referencing이라고 한다.
 $1, $2, $3 ...  이런 스타일의 요소들은 Group으로 지정된 내용을 Replace Pattern 안에서 Referencing할 때 사용된다.
====================================
  Find   h(.*?)t
  Replace $1
  Source  hat halt hit heat hot
  Result  a al i ea o
====================================
Replace Pattern에서 $1은 (.*?) Group에 해당하는 것을 가리킨다.


Group Referencing \1 사용예제
 Group으로 지정된 내용을 Find Pattern 이나 Replace Pattern 안에서 다시 사용하는 것을 Referencing이라고 한다.
 \1, \2, \3 ...  이런 스타일의 요소들은 Group으로 지정된 내용을 Replace Pattern 안에서 Referencing할 때 사용된다.
====================================
  Find   (h.t)\1
  Replace 123
  Source  hathat hitbit hothot hutcut
  Result  123 hitbit 123 hutcut
====================================
Find Pattern에서 \1은 (h.t) Group에 해당하는 것을 가리킨다.
결과적으로 h로 시작하고, 중간에 아무 문자나 하나 들어가고, t로 끝나는 단어가 두번 반복되는 것이 123으로 바뀐다.


OR 선택 지정 ( | ) 사용 예제
 ( | ) 은 | 으로 나뉘어진 여러개의 Pattern중에서 하나와 일치하는 것을 가리킨다.
====================================
  Find   (eg|sa|be)g
  Replace 123
  Source  egg eng sag sig beg bag
  Result  123 eng 123 sig 123 bag
====================================


주요 Escape 문자 목록
 \u0020   16진수 Unicode 문자, 항상 4자리로 사용
 \x20    16진수 ASCII 문자, 항상 2자리로 사용
 \t      탭 문자, Tab, \u0009
 \r     줄 바꿈 문자, Carriage Return, \u000D
 \n     줄 바꿈 문자, Line Feed, \u000A
 \s     공백 문자, White-Space Character, \t \r \n 스페이스 포함
 \S     \s 이외의 문자
 \d     숫자, [0-9] 과 같은 의미
 \D    \d 이외의 문자, [^0-9] 과 같은 의미
 \w     Word Character, [a-zA-Z0-9_] 과 한글 일본어 중국어 등의 유니코드 문자 포함
 \W     \w 이외의 문자
 \b     [ ] 안에서 사용될 때는 백스페이스 문자, Backspace, \u0008
      [ ] 밖에서 사용될 때는 \w 과 \W 사이의 경계, Word Boundary
      Replace Pattern에서 사용될 때는 항상 백스페이스 문자
 \\     \ 문자 자체를 가리킬 때 사용
      비슷한 사용법 \.   \*   \+   \?   \^   \$   \(   \)   \{   \}   \[   \]
 

Word Boundary \b 사용 예제
 \b는 \w와 \W 의 경계를 가리킨다.
 \b는 문자 자체를 가리키는 것이 아니다. ( ^이나 $이 문자 자체를 가리키는 것이 아닌것과 동일하다.)
 주로 단어가 시작하는 것을 가리키거나, 단어가 끝나는 것을 가리킬때 사용된다.
====================================
  Find   \b3
  Replace x
  Source  333 333 333
  Result  x33 x33 x33
====================================
\b3 과 일치하는것 : 단어의 제일 앞에 있는3
====================================
  Find   3\b
  Replace x
  Source  333 333 333
  Result  33x 33x 33x
====================================
3\b 과 일치하는것 : 단어의 제일 뒤에 있는3


줄 바꿈 문자 \r\n 사용예제
 .NET기반의 정규식 도구는 많이 있지만, Replace Pattern에서 \r 나 \n 같은 Escape Squence 문자를 정확하게 다루는 도구는 eLiner가 거의 유일하다.
 다른 .NET기반의 정규식 도구들은 대부분 Find Pattern에서는 Escape Sequence 문자를 잘 다루지만, Replace Pattern에서는 Escape Sequence 문자를 제대로 다루지 못한다.
====================================
  Find   <br>
  Replace \r\n
  Source  spring<br>summer<br>fall<br>winter
  Result  spring
      summer
      fall
      winter
====================================

 

by sonysean 2012. 4. 22. 19:06

 

1. 새로운 계정 만들고 관리하기(DB 사용권한 주기)  

* mysql 접속 : mysql -u계정ID -p비밀번호 데이터베이스명(DB명 생략가능)


* mysql 종료 : quit \q

i)  데이터 베이스명 만들기        
    create database DB명;

ii) user 테이블에 계정, 비밀번호 등록
    insert into user(host, user, password) values('호스트명'. '계정', password('계정비밀번호'));

iii) db테이블에 db사용권한 등록
     insert into db valuse('호스트명', 'DB명', '계정', 'Y 12개'...); 모든권한 줄 필요 없으면 N 적절 사용

iv) user, db 테이블 변경 내용 적용   
    flush privileges;

===> 자세한 내용은 아래의 내용 참고하기


== 중요한 테이블 user, db 테이블 ==

 

* 계정등록
ex1) desc user; (시스템에 존재하는 계정을 등록하는 테이블임, 계정, 비밀번호 등등 볼때)
-> select host, user, password from user; 로 레크드 보기(뭐있나 ^^)
그리고 계정, 비밀번호 등록해 보기
-> insert into user(host, user, password) values('localhost'. 'php5', password('1234'));
참고 : password('1234') : 비밀번호를 암호화 하여 관리자를 포함한 어느 누구도 비밀번호를 알아내지 못하도록 하기 위함/나중에 select로 확인해 보면 446ㅁ1210000c85644 뭐 이런식으로 암호와 되있을 것임 ^^

 

* 사용권한 등록(권한부여)
ex2) desc db;
-> insert into db valuse('localhost', 'php5_db', 'php5', 'Y','Y', 10개Y...);  모든권한 부여할려면 Y 12개
php5 계정에서 php5_db 사용할 수 있도록 권한 부여 ==> DB 테이블에 레코드 추가하면 OK~!

 

* 시스템 적용 (user, db 테이블의 변경된 내용 적용)
flush privileges;
or) mysql 빠져나온 상태에서는  c:\mysql\bin> mysqladmin reload    
둘중 한가지로 시스템에 적용해주세요!!

 

== 참고
update 문을 이용한 비빌번호 변경
ex) 관리자계정(root) 비밀번호 변경해 보기 ^^
i) user mysql;  (사용자 계정관리 DB)
ii) update user(테이블) set password = password('1234') where user='root';
iii) select host, user, password form user;
iv) flush privileges;
    ==> 반드시 db, user 테이블 업데이트 했을시 반드시 mysql 시스템에 적용!
나와서 mysql -uroot -p1234로 접속해 보기 변경 되었는지~


2. 데이터베이스 관련 명령어
i) 데이터베이스 접속
mysql -u계정ID -p비밀번호 데이터베이스명(생략가능)

ex) mysql -uphp5 -p1234 php5_db
만약 DB명을 생략하게 되면 나중에 use 데이터베이스명; 으로^^(ex use php5_db)

ii) 데이터베이스 만들기(생성) - 반드시 root 관리자 계정 접속
create database DB명;
ex) create database php5_db;
* DB목록 확인 : show databases;

iii) 데이터베이스 삭제
drop database DB명;
ex) drop database php5_db;


3.테이블 관련 명령어

* 테이블 생성
create table 테이블명(
 필드명 타입,
 필드명 타입,
 PRIMARY KEY(필드명)
 );

 

ex)
create table friend
 num int NOT NULL,
 name char(10),
 address char(80),
 tel char(20),
 PRIMARY KEY(num)
 );


Tip>
파일로 만들어 명령어 수행하기
i) 위의 명령어를 파일.sql로 만들기(mysql>bin에 저장)
   ex) friend.sql

ii)  mysql 실행시 < 파일명입력

ex) c:\mysql\bin> mysql -uphp5 -p1234 php5_db < friend.sql
확인)
c:\mysql\bin> mysql -uphp5 -p1234 php5_db
show tables;
desc friend;


* 테이블 목록보기
show tables;

 

* 테이블 구조보기
desc 테이블명;


* 테이블의 필드 변경하기
alter table 테이블명 add 새로운필드명 타입 [first 또는 after 필드명];

ex)
alter table friend add age int;
desc friend;

alter table friend add email char(30) after address;

 

* 필드 삭제
alter table 테이블명 drop 삭제할필드명1, 삭제할필드명2;

ex)alter table friend drop email;

 

* 필드 수정(필드이름 변경)
alter table 테이블명 change 이전필드명 새로운필드명 타입;

ex)
alter table friend change tel phone int; 
desc friend;

 

* 필드의 타입수정
alter table 테이블명 modify 기존필드명 새로운 타입;

ex) alter table friend modify name int;

 

* 테이블 이름 변경하기
alter table 이전테이블명 rename 새테이블명;

ex) alter table friend rename student;
show tables;
desc student;

 

*  테이블 삭제하기
drop table 테이블명;

ex) drop table friend;

 

3. 테이블 조작명령어
* 데이터 삽입하기(이미만들어진 테이블에 실제데이터 저장)
insert into 테이블명 (필드명1, 필드명2, ... ) values (필드값1, 필드값2, ....);
참고) (필드명1, 필드명2, ... ) 생략가능  ==> 모든 필드에 집어 넣겠다는 뜻

 ex) insert into friend (name, name, address, tel) values (1, '배성진', '서울 동작구 노량진동', '234-8998');
     insert into friend values (2, '성지연', '대전시 유성구 송강동', '987-333');

==> 삽입된 데이터 보기 : select * from friend;

 

* 데이터 검색하기(select)
select 필드명1, 필드명2 from 테이블명;
참고) 전체데이터 보기  select * from 테이블명;

* 조건에 맞는 데이터 검색하기(select ~ where)
select 필드명1, 필드명2 from 테이블명 where 조건식;

ex) select id, name, address, tel, sex from mem where sex='W';
    select * from men where (age>=20 and age<30) or (age>=40 and age<50) and sex='M'; 20대와 40대 남성 정보

 

* 특정 문자열을 가진 레코드 검색하기
_ : 임이의 한문자(1byte) __: 한글한글자 2byte

select name, address, tel from men where name like '김%'; 김으로 시작하는 모든 문자열
select naem, id from mem where name like '__용%'; 가운데이름이 용인사람의 이름, 아이디 보기

 

* 검색된 데이터 정렬하기(order by)
select 필드명1,2 .. form 테이블명 order by 필드명;  (오름차순) 1,2,3 abc
내림차순 정렬시 : order by 필드명 desc; (desc만 뒤에 더 붙여주면 OK)
참고) 이름순으로 정렬이 잘 되지 않는 경우
한글이름의 '가나다..'순이 2진 한글코드의 순서와 일치하지 않기 때문
===> mysql 프로그램 설치시 한글이 적용되도록 해당 파라미터를 옵션으로 설정해 주어야 한다.

ex) 서울에 사는 사람들 나이 많은 순대로 정렬
select age, name, address from men where adress like '서울%' order by age desc;

 

* 데이터 수정(update set where)
update 테이블명 set  필드명 = 필드값(변결할 값) [where 조건식];
ex) men 테이블에서 아이디가 hyun인 레코드의 전화번호를 '888-9999'로 변경
update men set tel='888-9999' where id='hyun';
확인==> select id, name, tel from men where id='hyun';

 

* 데이터삭제(레코드삭제)
delete from 테이블명 [where 조건식];
-- delete from 테이블명; ===> 주의 : 테이블 전체 레코드 삭제
ex) men 테이블에서 이름이 홍길동인 레코드를 삭제하려면?
delete from men where name='홍길동';
확인==> select * from men where name='홍길동';

 

4. 데이터베이스의 백업 및 복원

* 데이터베이스 백업(mysqldump  > 사용)
c:\mysql\bin> mysqldump -u계정 -p비밀번호 데이터베이스 이름 > 백업파일명
ex) php5계정의 경우 'php5_db'데이터베이스를 'php5_db.sql' 파일에 백업
c:\mysql\bin> mysqldump -uphp5 -p1234 php5_db > php5_db.sql

* 백업파일의 복원(파일실행)(mysql < 사용)
c:\mysql\bin> mysql -u계정 -p비밀번호 db이름 < 백업파일명
ex) mysql -utest -p1234 test_db < php5_db.sql

 

==== 정리 ====
DB 생성 : create database db명;
DB 목록보기 :  show databases;
DB 삭제 : drop database db명;

 

테이블 생성 : create table 테이블명(필드명1 타입1, 필드명2 타입2,PRIMARY KEY(필드명));
테이블 목록보기 : show tables;
테이블 구조보기 : desc 테이블명;
테이블 필드변경 : alter table을 사용
                  ex)alter table 테이블명 add 새로운필드명 타입 [first 또는 after 필드명]; (새로운 필드 삽입, 다른건 윗글참조)
테이블 삭제 :  drop table 테이블명;

 

데이터 조작명령 : 삽입(insert) :  insert into 테이블명 (필드명1, 필드명2, ... ) values (필드값1, 필드값2, ....);
                  삭제(delete from) : delete from 테이블명 [where 조건식];
                  검색(select) : select 필드명1, 필드명2 from 테이블명 where 조건식;

데이터베이스 백업 : mysqldump -u계정 -p비밀번호 데이터베이스 이름 > 백업파일명
데이터베이스 복원 : mysql -u계정 -p비밀번호 db이름 < 백업파일명
                    (mysql 명령어를 파일(sql)로 지정해서 일괄적 실행)

 

[출처] ★ MYSQL 기본 명령어 정리 ★|작성자 1004

 

 

by sonysean 2012. 4. 22. 19:06
| 1 2 |