오라클 테이블 명령어
명령어 설명 예시
desc 테이블명 테이블 구조 보기 desc testtable;
alter table 테이블명 add(칼럼명 칼럼형) 테이블 칼럼 추가 alter table testtable add(addcal number);
alter table 테이블명 drop(칼럼명) 테이블 칼럼 삭제 alter table testtable drop(addcal);
alter table 테이블명 rename column 원래 칼럼명 to 변경할 칼럼명 테이블 칼럼명 수정 alter table testtable originalcolumn to changecolumn
select * from tab 모든 테이블 보기 select * from tab;

[시퀀스 생성]

create sequence 시퀀스명

start with 시작번호

increment by 증가값

maxvalue 최대값

minvalue 최소값

cycle or nocycle -- cycle 설정시 최대값에 도달하면 최소값부터 다시 시작 nocycle 설정시 최대값 도달시 시퀀스 생성중지

cache or nocache -- cache 설정시 메모리에 시퀀스 값을 미리 할당하고 nocache 설정시 시퀀스 값을 메모리에 할당하지 않음

시퀀스 생성은 좌측과 같이 생성이 가능하다 아래 여러가지 옵션값은 생략이 가능하다.

create sequence testsequence

start with 1

increment by 1

maxvalue 1000

minvalue 1

no cycle

[시퀀스 검색]

select sequence_name,

min_value,

max_value,

increment_by,

cycle_flag

from user_sequences;

   

[시퀀스 적용]

시퀀스명.nextval

시퀀스 적용은 좌측과 같이 insert 때 시퀀스명.nextval로 적용할 수 있다. insert into member values(test_seq.nextval, 'name', '0100000000');

[pk 2개 선언]

constraint pk명 primary key(칼럼명1, 칼럼명2)

pk를 2개 선언하길 원할 경우 좌측과 같이 진행할 수 있다. create table money_tbl_02( 
custno number(6) not null, 
salenol number(8) not null, 
pcost number(8), 
amount number(4), 
price number(8), 
pcode varchar2(4), 
sdate date, 
constraint money_pk primary key (custno, salenol) 
);

[별칭 선언]

as 별칭명

별칭을 선언할 수 있다. select Max(custno) as max from member_tbl_02";"select Max(custno) as max from member_tbl_02;
(SELECT NVL(MAX(num),0)+1 FROM nuriboard) mariadb의 경우 ifnull을 사용하나 오라클에서는 NVL이 ifnull과 같다.  
sysdate 현재 날짜

select sysdate as "Current Date" from dual;

현재 날짜를 출력하고 열 이름을 Current Date로 함

next_day([DATE 입력], [요일]) 입력한 DATE 이후 날짜 중에서 찾고자 하는 요일의 첫 번째 일자를 반환 next_day(add_months(hire_date,6),'월요일') as "6개월 후 월요일"
add_months([DATE 입력]) 날짜에 월을 빼거나 더하는 함수 add_months(hire_date,6)
LPAD([값], [총 문자길이], ["채움문자"]) 왼쪽부터 총 길이만큼 지정된 문자열을 채운다. lpad(salary,15,'*')
to_char([날짜],['서식']) 날짜를 서식에 맞춰서 문자열로 반환

to_char(hire_date,'day') as "입사일"

위와 같이 하면 요일이 출력됨

length([문자열 or 변수]) 문자열 길이를 구하는 함수 length(first_name)
group by [변수] 데이터들을 원하는 그룹으로 나눌 수 있다. select
job_id as "직업",
max(salary) as "최대급여",
min(salary) as "최소급여",
sum(salary) as "급여의합"
from EMPLOYEES
group by job_id;
where [일치하길 원하는 칼럼명] in (조건1, 조건2, 조건3) 좌측 예시와 같이 in을 적용하면 or과 같이 하나씩 비교하여 조건이 맞을 경우 값을 반환한다. where department_id in (select department_id from EMPLOYEES where first_name like '%T%')
like

like 조건식은 문자열의 패턴을 검색할 때 사용하는 조건식이다.

좌측 예시와 같이 first_name like '%T%'를 진행할 경우 T가 포함된 이름을 조회한다.

select department_id from EMPLOYEES where first_name like '%T%'
'%A' A로 끝나는 문자열을 조회한다.  
'A%' A로 시작하는 문자열을 조회한다.  
'%A%' A를 포함하는 문자열을 조회한다.  

CASE

WHEN [칼럼명] 조건식 then 결과

ELSE 결과

END

조건식 if~else문과 같음

예제를 참고하여 사용하도록하자

select
first_name as "이름",
job_id as "업무",
salary as "급여",
CASE 
WHEN commission_pct is null then salary * 0
ELSE salary * commission_pct
END as "보너스",
CASE
WHEN commission_pct is null then (salary * 0)+salary
ELSE (salary * commission_pct)+salary
END as "급여+보너스"
from EMPLOYEES;
decode([컬럼명],[조건1],[결과],[조건2],[결과]) if, else와 비슷한 함수이다.  
select * from user_sequences; 현재 스키마의 시퀀스를 조회할 수 있다.  
synonym 객체의 실제 이름과 소유자 그리고 위치를 감춤으로써 데이터베이스 보안을 개선하는데 사용 한다 create SYNONYM EMPLOYEE
for EMPLOYEES;

[시퀀스]

select [시퀀스명].currval from [테이블명]

현재 시퀀스 값을 조회한다.

다만 생성 후 바로 조회시 조회가 안되므로 [시퀀스명].nextval로 시퀀스를 이동시킨 후 조회를 해야한다.

select test_seq_sequence.currval from dual;

[처음 생성시]

다음과 같이 먼저 nextval로 시퀀스 이동 후 조회하여야 조회가 가능함

selecselect test_seq_sequence.nextval from dual;

select test_seq_sequence.currval from dual;

set verify on/off sql 명령어나 pl/sql에서 &을 이용한 치환 변수 등을 사용할 때 치환되기 전 후의 자세한 값을 보일 건지의 여부를 결정한다. 기본값은 ON이다.  
     
     
     
MYSQL & 마리아DB 테이블 명령어
명령어 설명 예시
alter table [테이블명] add constraint [pk명] primary key([칼럼명]) 기본키 추가 ALTER TABLE SHOPUSER ADD CONSTRAINT shopuser_id PRIMARY KEY(id);
alter table [테이블명] drop primary key [pk명] 기본키 삭제 alter table SHOPUSER drop constraint shopuser_id
alter table [추가할 테이블명] add constraint [외래키명]  foreign key([칼럼명]) references [부모테이블명] (pk컬럼명) [ON DELETE CASECADE /  ON UPDATE CASECADE] 외래키 추가  

• ON DELTE CASECADE : 외래키에서 참조하는 키가 포함된 행을 삭제하려고 하면 해당 외래 키가 포함되어 있는 모든 행도 삭제

• ON UPDATE CASECADE : 외래키에서 참조하는 키 값이 포함된 행에서 키 값을 업데이트 하면 해당 외래 키를 구성하는 모든 값도 키에 지정된 새 값으로 업데이트되도록 지정


alter table [테이블명] drop foreign key [외래키명]
외래키 삭제  
[MariaDB] alter table [테이블명] change [원래칼럼명] [새칼럼명] [새칼럼타입] 마리아 디비에서 칼럼명 변경  
     
     
라우터 명령어 정리
en(enable) 사용자 모드에서 관리자 모드로 전환
conf t(configure terminal) 관리자 모드에서 전역 설정 모드로 전환
interface fastethernet 0/0 fastethernet 0/0으로 이동
ip add 192.168.0.100 255.255.255.0 ip 추가 아이주소 서브넷 마스크 주소
no shutdown 활성화
exit 이전으로 이동
copy r s(copy running-config startup-config) startup-config에 저장(이걸 해야 show startup-conifg에서 확인 가능함)
hostname '변경할 호스트명' 호스트명 변경
end exit 두번이랑 동일
show startup-config 현재 저장된 구성 파일 보기
show version 라우터의 현재 버전 보기
   
   
   
   
Git 명령어
명령어 설명
git init . init은 깃에게 이 디렉토리를 버전관리하라는 명령어이고 .은 현재 디렉토리를 가르킨다.
git status 현재 상태를 확인할 때 사용
git commit -m "버전명"

Staging Area에 있는 작업물을 commit할 때 사용한다.

*주의 global user.email or global user.name이 없을 경우 commit 진행이 안되니 이 경우 둘 중 하나를 만들도록하자.

(create version)

git config --global user.email "메일주소" global user.email 생성시 사용
git config --global user.name "user명" global user.name 생성시 사용
git log 버전을 확인할 때 사용(show version)
git add 파일명 add to staging area
git clone 원격 저장소의 모든 내용을 로컬 저장소로 복사
git remote 로컬 저장소를 특정 원격 저장소와 연결
git push 로컬 저장소의 내용을 보내거나 로컬 저장소의 변경 사항을 원격 저장소로 보낸다
git fetch 로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교 대조하고 git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제등을 해결
git pull git remote 명령을 통해 서로 연결된 원격 저장소의 최신 내용을 로컬 저장소로 가져오면서 병합한다. git push와는 다른 성격의 명령어이다.
git add 파일 이름 해당 파일을 git이 추적할 수 있게 저장소에 추가한다.
git commit 변경된 파일을 저장소에 제출한다.
git status 현재 저장소의 상태를 출력한다.
git remote -v 원격 저장소와 연결되었는지 확인
git remote add 저장소 별칭 저장소 주소 해당 원격 저장소로 연결
git branch 브랜치명 해당 브랜치명으로 브랜치 생성
git branch 어떤 브랜치가 있는지 확인할 수 있음
git checkout 브랜치명 해당 브랜치로 이동
git merge 브랜치명 현재 작업중인 브래친에 브랜치명의 브랜치를 병합함
git log --graph 브랜치 분기와 병합 내역을 아스키 그래프로 보여준다.
git commit -a 저상소 파일을 모두 커밋(-a 옵션)
git add --all 저장소 파일 모두 add
   
   
   
   
   
   
   
   
리눅스 mkdir 명령어
명령어 설명 예시
mkdir

디렉토리를 생성할 때 사용하는 명령어

옵션은 생략 가능하다.

mkdir [옵션] 디렉토리 이름
옵션 설명 옵션 설명 예시
-m 디렉토리를 생성할 때 권한을 설정 --mode  
-p 상위 경로도 함께 생성 --parents mkdir -p /hi/test(test 디렉토리가 없다면 test 디렉토리를 생성한다.)
-v 디렉토리를 생성 후 생성된 디렉토리에 대해 메시지 출력 --verbos  
리눅스 명령어
명령어 설명 예시
rm 파일명 파일 삭제 명령어 rm testdir
rm -r 디렉토리명 일반적으로 디렉토리 삭제를 할 때는 -r을 붙인다 rm -r testdir
nano 파일명 편집기 명령어 nano test.txt
cat 파일명 파일의 내용을 출력할 때 사용 cat test.txt
su root로 변경하는 명령어  
sudo  임시로 관리자 권한을 얻을 수 있음 sudo rm -r /var/share
su - username 다시 유저로 돌아오길 원할 경우 su - username
     
     
     
     
     
     
     
     
     
     
     
VIM 명령어
명령어 설명
ctrl+v 블록모드
y 블록모드에사 복사
p 블록모드에서 붙여넣기
shift+home 블록모드에서 해당 라인 뒤에서 앞까지 라인 선택
shift+end 블록모드에서 해당 라인 앞에서 뒤까지 라인 선택 
x 블록모드에서 잘라내기 잘라내기
u 작업 취소
i 내용 입력하기
ctrl+r 작업 취소 취소
   
   
   
   
   
   
   

'[명령어&함수]' 카테고리의 다른 글

[명령어] Eclipse&IntelliJ 단축 명령어  (0) 2020.01.07
[명령어] Oracle&MySQL  (0) 2019.12.09
[명령어] 라우터  (0) 2019.12.09
[명령어] JavaScript/JQuery 명령어  (0) 2019.10.22
[명령어] JSP/스프링 명령어  (0) 2019.10.22

VN : 자동사

VT : 타동사

V : 동사

IOS 영어단어
단어
Delegate

n. 대표

v. 권한 업무 등을 위임하다.

   
   
   
   
   
   
   

 

Spring 사전
단어
property 재산
disallow (공식적으로) 인정하지[받아들이지] 않다
attach 붙이다
hibernate v.동면하다
rather ad.더 정확히 말하면
provide vn.공급하다, 제공하다
environment n.환경
context n.맥락
인텔리J&이클립스 사전
단어
terminate v.끝내다
enable n.사용
external a.외부의, 밖의
library n.개인이 가진 장서, CD 등의 수집품
previous a.(시기적으로 이야기중인 사건,사물)이전[전]의, 먼젓번의
configuration n.컴퓨터 환경 설정
installation n.(장비,가구의)설치[설비]
publish v.출판하다, (인터넷에)발행하다.
deployment n.전개, 배치
artifact n.인공물, 공예품
deploy vn.배치하다.
exploded a.폭발된
explode vn.폭발시키다[폭발하다]
organize vn.준비하다, 체계를 세우다
resolve vn.해결하다
visible a. 알아볼 수 없는
   
   
   
   
   
자바 사전
단어
attach v.붙이다
external a.외부의
invalid a.효력없는
optimize vn.~를 좋게 만들다(타동사)
specific a.구체적인
sequence n.순서
split vn.분열되다,분열시키다.
vertically adv.수직으로
   
EL&JSTL 사전
단어

attribute

vn.(~을 ...의) 결과로[덕분으로] 보다.

vn.(특히 말글그림 등을) ...것[탓/책임]이라고 보다[말하다]

n.자질 속성

parse vn.(문장을 문법적으로)분석하다.
   
   
   
   
   
   
   
마리아DB
단어
exist v.존재하다.
   
   
   
   
   
   
   
리눅스
단어
path n.경로
undo vt.무효로 만들다, 원상태로 돌리다
   
   
   
   
   
   
단어
crawl v.기어다니다.
crawling a.기어다니고 있는(웹 용어로 웹 상을 기어다니고 있는)
client n. 의뢰인[고객], 프로그래밍 관점에서는 사용자가 되겠다.
common a. 흔한, 공동의, 공통의
   
   
   
Git
단어
merge v.합병[병합]하다, 합치다
explore vn.답사[탐사/탐험]하다
Initialize vn.컴퓨터 초기내용을 설정하다
fetch vn.(어디를 가서) 가지고[데리고/불러] 오다
modify vt.[수정]변경하다, 바꾸다
conflict n.충돌
insight n.견식, 식견
description n.서술, 기술
commit vn.~을 적어두다
   
   
   
   
   
   
   
   
안드로이드
단어
infer v. 추론하다
constraint n. 제약, 제한, 통제
   
   
   
   
   
   

본인은 날짜 포맷을 2019-12-06 00:00:00 형식에서 2019-12-06 형식으로 변경하려고했다.

jstl로 변경했으며, 변경 방법이 다소 햇갈리기 때문에 아래와 같이 기재하려고한다.

우선 날짜 포맷을 변경하기 위하여 우리가 준비해야 할 것은 아래와 같다.

1. <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 태그 라이브러리추가

2. fmt:fmt:parseDate : String 형을 받아서 워하는 포멧으로 자료형을 Date 형태로 변경 시켜 준다.

** 여기서 중요할 부분은 현재 String형과 동일하게 기재해줘야함 아래 사진에 자세히 설명
3. fmt:formatDate : Date 형을 받아서 원하는 포멧으로 날짜 형태를 변경시켜 준다.

<fmt:parseDate value="${applDt}" var="dateFmt" pattern="yyyyMMdd"/> //String형 > Date형
<fmt:formatDate value="${dateFmt}" pattern="yyyy-MM-dd"/> // 원하는 포맷으로 변환

필자는 아래와 같이 taglib를 추가하였다.

그 다음 fmt:parseDate와 fmt:formDate로 Date형 변경 및 원하는 포맷으로 변경하였다.

이제 list 출력싱는 yyyy-MM-dd와 같이 출력이 되어야 한다.

그럼 한번 실행해보자

실행시 예상과 달리 아래와 같은 오류 메시지가 발생한다.

오류명을 확인해보면 value attribute can not be parsed라고 되어 있다.

해석을 하면 '값 속성이 문법적으로 분석되어질 수 없다.' 이다.

어디가 문제일까?

문제는 fmt:parseDate 부분이다. 

상단의 우측 사진을 보면 2019-12-06 00:00:00으로 패턴이 되어 있다.

그러므로 fmt:parseDate 패턴을 맞춰줘야 한다.

그럼 맞춰서 다시 한번 진행해보자.

 

패턴을 바꾸니 우리가 원하는 포맷으로 정상 출력되는 것을 확인할 수 있다.

그러니 위와 같은 오류가 발생하지 않기 위해서는 fmt:parseDate의 패턴을 현재 출력되는 패턴과 맞춰야 되니 이 점을 참고하여 사용하도록하자.

추가로 아래와 같은 식으로도 사용 가능하니 참고하도록하자!

+ Recent posts