-
(국비교육) 16 - HeidiSQL + 열거타입 + collection + vector개발/국비교육 2023. 6. 22. 18:40
■ CMD
- cd .. : 상위 폴더로 이동
- dir : 디렉토리 정보 확인 가능
- cd 원하는 파일명 : 원하는 파일로 이동
- cd c:\ : 최상위 폴더로 가기
폴더명 치고 tab 누르면 해당하는 폴더 자동으로 생성됨.
* : 모든것
즉, *.sql 을 하면 sql 형식 파일 불러온다.
-u : 유저
-p : pw
패스워드 입력하면 MariaDB 실행 가
create database employees; 를 통해 데이터 베이스를 생성하고
show databases; 를 통해 생성된 데이터 베이스 확인이 가능하다.
drop database employees 를 통해 데이터 베이스 삭제가 가능하다
; 를 붙여주지 않으면 명령문이 끝나지 않으므로 붙여준다.
use employees; 를 사용하고 테이블을 본다.
Ctrl + c 누르면 명령이 멈춘다.
COUNT(*) : 총 몇 개 있어?
9999 는 현재 매니저로 일하는 직원을 보여준다.
따라서 매니저만 뽑고 싶다면 WHERE 로 활용해서 출력할 수 있다.
단 ' ' 붙여줘야 한다.
위를 활용하여 현재 매니저를 하는 인원의 수를 구할 수 있다.
* 구조출력
EXPLAIN departments;
EXPLAIN dept_emp;enum('M','F') : M F 둘 중 하나만 입력 가능
파란색 : 명령문
분홍색 : 데이터 베이스에 있는 테이블
검색하고 싶은 것을 선택하고 FROM 뒤에 테이블 명 입력
즉 emp_no, dept_no, from_date, to_date 를 검색하는데,
그것을 table dept_emp 에서 가져오겠다는 말이다.
해당 명령문을 사용하면 원하는 사원번호 이름 등등을 출력 가능하다.
* 중복제거
DISTINCT 는 중복 레코드를 제거해서 보여준다.
SELECT DISTINCT title FROM titles;
* 조건 설정
titles 테이블에 있는 직책(title) 이 Engineer 인 사람만 출력하기 위해서는
WHERE 로 조건을 걸어주면 된다.
count(*) 갯수 출력으로 1줄만 나온다.
* 데이터 제한
AND : 그리고
LIMIT 10 : 10줄만 나와
LIMIT 의 경우 맨 마지막에 제한을 걸어줘야 한다.
* 비슷한 이름 찾기
LIKE 를 이용해서 일부분만의 정보로 정보를 검색할 수 있다.
%를 활용하여 앞글자만 아는 경우, 중간 글자만 아는 경우 등 다양하게 검색 가능하다.
_ 를 이용하면 아는 글자수 제한도 가능하다.
SELECT NOW() FROM DUAL; 을 하게 되면 현재 시간을 알 수 있다.
여기서 YEAR, MONTH, DAY 각각만 나타나게 설정도 가능하다.
드래그 후 Ctrl + F9 는 위에 코드 말고 해당 코드만 실행하게끔 설정 가능하다.
* 정렬
정렬 ORDER BY _________ ASC/DESC
- ASC : 오름차순
- DESC : 내림차순
* 평균/ 합 구하기
AVG() SUM() 을 이용하면 평균과 합을 구할 수 있다.
* 가장 많이 가장 적게
- MAX(salary) : 가장 많이
- MIN(salary) : 가장 적게
* group by
묶어서 볼 때 group by 사용
* 가장 높은 연봉 사람 구하기
https://www.w3schools.com/sql/default.asp
https://24hours-beginner.tistory.com/338
※ 도메인 구입
■ 열거타입(p. 203)
열거타입은 필드에 저장할 수 있는 값들을 나열/정의 한다.
열거한 타입만 쓸 수 있고, 같은 값을 가질 수 없다.
enum 은 클래스 이름과 중복될 수 없다.enum은 정해진 것만 들어온다. (M, W)
즉 입력에 제한을 둔다.
■ 랩퍼 클래스
컬랙션 타입은 참조값만 담을 수 있다.
(= 기본 자료형의 값은 담을 수 없다.)
기본 자료형의 값을 컬랙션에 담기 위해서는 랩퍼 클래스를 사용한다.
모든 기본 자료형에 대해서 그에 대응하는 랩퍼 클래스가 있다.
기본 자료형의 값을 멤버 변수의 값으로 저장하고
이 값 주위로 값을 가공하는 메소드들이 감싸고 있다고 해서
랩퍼(감싸다) 클래스라고 합니다.
* 기본 자료형 랩퍼 클래스
* char-------------------Character
* boolean----------------Boolean
* byte-------------------Byte
* short------------------Short
* int--------------------Integer
* long-------------------Long
* float------------------Float
* double-----------------Double* 오토 방식
: p타입이 r타입에 자동으로 들어가는 것을 자동으로 박스안에 들어간다하여 오토 방식이라 한다.
Integer은 R타입 100은 int P타입
r타입이 p타입 byte로 언박싱 될 때 byteValue() 를 쓰면 된다.
r 타입에서 == 은 객체 참조값이 같은지 물어본다.
i1 과 i2는 다른 객체값을 참조하므로 다르다가 나온다.
값비교는 equals() 로 해야한다.
※ equals는 object 메소드로 모두 사용 가능하다.
반대로 r타입이 p타입쪽으로 대입되면 오토 언박싱이 일어난다.
num2의 경우 r타입 obj 를 언박싱 하기 위해
obj에 (int) 캐스팅 처리를 해준다.
obj 를 intValue() 를 사용하여 값을 구하기 위해
r타입 Integer로 캐스팅처리하고 intValue() 를 통해 num3을 구한다.
https://escapefromcoding.tistory.com/127
■ collection (p. 556)
- List<E> : 순서 있어요. 중복 저장 허용
- Set<E> : 순서 없어요. 중복 저장x
- Map<K, V> : 순서 없어요. 키/값으로 저장- list.isEmpty() : 리스트 비어있는지 확인
* 거꾸로 출력하기
0배열부터 10이 나올 수 있도록 배열번지와 값을 넣어준다.
■ vector
Vector란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.
ArrayList와 동일한 구조를 가지며 배열의 크기가 늘어나고, 줄어듬에 따라서 자동으로 크기가 조절된다.
Vector의 특이한 점이라면 항상 동기화되어있고, Collection 프레임워크에 없는 메서드들을 사용이 가능
DTO 파일 전송 객체(Data Transfer Object)
※ DTO 파일 전송 객체(Data Transfer Object)
'개발 > 국비교육' 카테고리의 다른 글