반응형

백엔드 145

MySQL 제어 함수 - CASE

CASE 연산자 속성이름의 값이 WHEN 절의 값과 같으면 반환값을 반환 예외반환값은 WHEN 절의 모든 값과 같지 않은 경우 반환되는 값 기본 형식 1 CASE 속성이름 WHEN 값1 THEN 반환값1 ....... WHEN 값n THEN 반환값n [ ELSE 예외반환값 ] END 기본 형식 2 CASE WHEN 조건1 THEN 반환값1 ....... WHEN 조건n THEN 반환값n [ ELSE 예외반환값 ] END Customer 테이블 데이터 Customer에서 계정에 대한 등급을 확인하되, 등급을 VIP는 최우수고객, Gold는 우수고객, Silver는 일반고객, New는 새내기, NULL인 경우 자료없음으로 표기하시오. SELECT account, CASE grade WHEN 'Gold' TH..

MySQL의 내장 함수

MySQL의 내장 함수 (Build-In Function) 내장함수는 상수나 속성이름을 입력 값으로 받아 단일 값을 결과로 반환 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함 수학 함수의 입력 값 : 정수 또는 실수 선언에 위배된 값이 입력되면 질의는 실행을 중지하고 오류 메시지를 출력 내장함수는 SELECT절과 WHERE절, UPDATE SET절에 사용 가능 데이터 검색과 수정에만 내장함수를 사용 SELECT ... 함수명(인자) FROM 테이블이름 WHERE ... 열이름=함수명(인자) ; UPDATE 테이블이름 SET ... 열이름=함수명(인자) ; 표현식에서 타입 변환 데이터 타입이 다른 피연산자를 처리하기 위하여 연산자에 호환되도록 피연산자의 타입을 변환한다. 일부 변환은 암시..

[유닉스] 파일 덤프 [ dd (data duplicate) ]

dd (data duplicate) 입력한 내용을 변환하여 출력 형식 : dd [옵션] [if=입력파일] [of=출력파일] 옵션 bs=n : 입출력 블록의 크기를 n 바이트로 지정 (기본 1블록 = 512바이트) conv=lcase : 알파벳을 소문자로 변환 conv=ucase : 알파벳을 대문자로 변환 사용 예 dd bs=2 if=/dev/null of=test dd conv=lcase if=test1 of=test2 대소문자 전환하기 변환 형식 옵션의 값을 lcase로 주면 test_cut 파일 내용을 소문자로 변환 $ dd conv=lcase if=test_cut of=test_dd1 0+1 records in 0+1 records out 146 bytes (146 B) copied, 0.01320..

[유닉스] 파일 연결하기 ( paste )

paste 파일의 내용을 결합 형식 : paste [옵션] 파일1 파일2 옵션 -s :수평으로 붙임 -d 문자 : 필드 구분자를 지정 : 파일 대신 표준 입력 사용 사용 예 : paste test1 test2 > res, paste –s test1 test2 파일 붙이기 예제 파일 만들기 $ cut –f 1 test_cut > test_paste1 $ cut –f 2,3 test_cut > test_paste2 $ cat test_paste1 001 002 003 004 005 006 007 $ cat test_paste2 Hong Gil-Dong Park Ji-Sung Cha Doo-Ri Park Chan-Ho Kim Yun-A Bae Sue-Ji Han So-Ri $ 옵션 없이 두 파일을 붙이면 앞의..

[유닉스] 필드 잘라내기 ( cut )

cut 파일의 선택된 필드를 추출 형식 : cut [옵션] [파일] 옵션 -c 리스트 : 각 행에서 잘라낸 문자의 위치를 지정 -f 필드번호 : 지정한 필드를 잘라냄 -d 문자 : 필드 구분자 사용 예 cut –c 1-3 test cut –f 3 test 문자 추출 : -c 예제 파일 만들기 cut 명령은 탭으로 구분되어야 다른 필드로 인식 $ cp test_sort2 test_cut $ cat test_cut 001 Hong Gil-Dong 80 M 002 Park Ji-Sung 76 M 003 Cha Doo-Ri 90 M 004 Park Chan-Ho 88 M 005 Kim Yun-A 50 F 006 Bae Sue-Ji 48 F 007 Han So-Ri 49 F $ 파일에서 원하는 문자열 추출 5번째..

[유닉스] 중복 삭제 ( uniq )

uniq 중복 행을 삭제 형식 : uniq [옵션] [파일] 옵션 -c : 각 행 처음에 중복 횟수를 출력 -d : 중복된 행 중 한 행만 출력. 원래 유일했던 행은 삭제 -u : 중복되지 않는 행만 출력 사용 예 uniq test uniq –c test 중복 제거 예제 파일 만들기 $ cat test_uniq aaaaa abcde abcde bbbbb abcde bbbbb bbbbb abcde ccc $ uniq 명령을 옵션 없이 실행한 결과 인접한 행의 중복은 제거, 전체 중복은 확인하지 못함 해결 방법은 sort와 결합하는 것 $ uniq test_uniq aaaaa abcde bbbbb abcde bbbbb ccc $ $ sort test_uniq | uniq aaaaa abcde bbbbb cc..

[유닉스] 분할 ( split )

split 큰 파일을 일정한 크기를 가진 여러 개의 작은 파일로 분할 옵션을 지정하지 않으면 1000행씩 분할 형식 : split [옵션] [파일명] 옵션 : -b n : 크기가 n 바이트인 파일로 분할 -n : n행씩 분할 사용 예 split test split –50 test 행을 기준으로 파일 분할 test_split 파일을 30행씩 나누는 방법 $ cp /ets/group test_split $ wc –l test_split 67 test_split $ split –30 test_split $ wc –l x* 30 xaa 30 xab 7 xac 67 total $ 바이트를 기준으로 파일 분할 test_split 파일을 512바이트씩 분할 512바이트인 파일 xaa와 423바이트인 파일 xab 생성..

[유닉스] 파일 정렬 ( sort )

sort 텍스트로 된 입력 내용을 정렬하여 화면에 출력 형식 : sort [옵션] [파일] 사용 예 sort test sort –fd test sort –k 2 –nr –o sort.out test 기본 정렬 sort 명령을 옵션 없이 이용하면 환경 변수 LC_COLLATE의 값에 따라 다르게 정렬됨 LC_COLLATE가 없으면 LANG 값에 따라 정렬 순서가 달라짐 현재 환경 변수의 설정값은 env와 grep 명령으로 확인 영문 유니코드로 설정되어 있음을 나타냄 정렬 순서 : 공백 문자, 특수 문자, 숫자, 영문자의 순 (영문자는 대소문자 구분하지 않음) $ env | grep LC_COLLATE $ env | grep LANG LANG=en_US.UTF-8 $ $ vi test_sort $ cat t..

파일 및 디렉토리 검색 ( wc, ,grep, egrep, fgrep )

wc 파일의 행 수, 단어 수, 문자 수를 출력 형식 : wc [옵션] 파일명 옵션 -c : 바이트 수 -m : 문자 수 -C : -m과 동일 -l : 행 수 -w : 공백 문자나 새로운 행으로 구분된 단어의 수 사용 예 wc –l test2 wc –cw test2 파일의 기본 정보 보기 라인 수 6, 단어 수 7, 바이트 수 61 $ vi test.c $ cat test.c #include main() { printf(“Hello, World~!\n”); } $ wc test.c 6 7 61 test.c $ 파일의 바이트 수와 문자 수 보기 : -c, -m 옵션 옵션을 지정하지 않으면 바이트 수가, -m 옵션을 지정하면 문자 수가 출력됨 영어는 문자 수와 바이트 수가 같고, 한글은 다름 $ wc –c ..

데이터 수정 및 삭제 (UPDATE, DELETE)

데이터 삽입 (INSERT) 주의 사항 수정하는 속성의 속성값은 같은 도메인이어야 한다. 조건에 맞아 선택된 투플은 모든 수정된다. 한번 수정된 데이터는 복구가 안된다. 테이블에 저장된 데이터를 수정하기 위한 SQL명령어 : UPDATE UPDATE 문 테이블에 저장된 투플에서 특정 속성 값을 수정 수정할 대상이 되는 속성과 속성값은 SET 다음에 지정 WHERE 절에서 제시된 조건을 만족하는 투플만 수정의 대상 기본형식 UPDATE 테이블이름 SET 속성이름1=값1, 속성이름2=값2, ... [ WHERE 조건 ] ; Items 테이블에 있는 모든 제품의 단가(price)가 5% 인상된 경우, 인상된 내용을 반영하시오. 테이블내의 모든 투플에 적용되는 경우, WHERE 절을 사용하지 않는다. 단가(pr..

반응형