일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 간단한 CRUD 게시판
- mariadb 접속오류
- mariadb 서버 기본값 설정
- 국비
- 회고
- 간단한 CRUD 구현
- Oracle 유동IP
- 취업 후기
- 국비 과정
- 국비지원 후기
- jsp
- 팝업 생성
- crud게시판
- 유동아이피를 고정하는 방법
- 생년월일 팝업 생성
- 국비과정
- 파이널 프로젝트
- 국비 회고
- CRUD 게시판
- 회고록
- 아날로그 시계만들기
- 게시판
- jQuery
- 웹 크롤러
- CRUD 구현
- Oracle 유동아이피
- 국비지원
- 데이터를 못 읽어오는 경우
- 간단한 CRUD구현
- 잡다한 노트
- Today
- Total
우당탕탕 개발 블로그 도전기
02.28 ~ 03.06 (Oracle DB) 본문
02.28 (수)
● 테이블 C/R/U/D
- DB 작성시 가장 기초가 되는 명령어
Create (생성)
create 문의 예시
create 테이블명 (
컬럼명1 자료형
컬럼명2 자료형
컬럼명3 자료형...
);
Read (조회)
select 칼럼명 1,2,3 ... from 테이블명;
Update (행 수정)
update 테이블명 set 칼럼명 = 삽입할 데이터;
Delete (행 삭제)
delete from 테이블 명;
● 명령어의 완료와 취소
- insert, update, delete 의 명령어를 사용하는 경우, 명령어 취소와 명령어 완료를 선택 할 수 있음.
- commit : 명령어 완료
- rollback : 명령어 취소
(rollback의 경우 comit을 명령한 실행한 시점부터는 DB에서 수행된 모든 변경사항이 영구적으로 적용되기 때문에
rollback 명령어를 사용하여 이전의 상태로 되돌릴 수 없다.)
● Alter
- 테이블의 구조를 수정 및 변경할 때 사용한다.
● where 조건문 / between and, IN, LIKE, NULL/is NULL 등 기타 연산자
- 해당하는 조건을 만족하는 행들만 한정하고 싶을때 사용한다.
- 주로 조건에 만족하는 행들만 대상으로 조회(select), 수정(update), 삭제(delete) 하기 위해서 사용함
( 비교 연산자(=, <, >, <=, >=, <>), 논리 연산자(AND, OR, NOT), IN, LIKE, BETWEEN 등을 포함한 다양한 표현식을 이용함)
02.29(목)
● 정렬(Sort)
- 특정값(keyfield)을 기준으로 순서대로 재배치하고자 할 때 사용한다.
1. 오름차순 Ascending Sort (ASC)
ex) 1->10, A->Z, ㄱ->ㅎ
2. 내림차순 Descending Sort (DESC)
ex) 10-> 1, Z-> A, ㅎ->ㄱ
order by 칼럼명1, 칼럼명2, 칼럼명3, asc 또는 desc;
● 시퀀스(Sequence)
- 순차적인 숫자를 자동으로 생성하는 데이터베이스 객체로 일련번호, 고유 식별자 등을 생성하는 데 사용한다.
- Oracle DB : create table sequence 시퀀스명
- M*SQL DB : identity 제약조건
- 시퀀스 생성 형식
create sequence 시퀀스명
increment by 증가값 start with 시작값;
(만약에 시작값이 1부터 시작하고 증가값이 2라면 1, 3, 5의 형태로 2씩 증가함)
03.04(월)
● 제약조건
테이블에 저장되는 데이터의 무결성을 보장하기 위해 사용하며 제약조건을 사용하면 데이터의 정확성, 일관성, 신뢰성을 유지할 수 있음
1. PRIMARY KEY(기본키)
- 테이블에서 각 행을 고유하게 식별하는데 사용되는 컬럼, 기본키로 지정된 컬럼에는 중복된 값이나 NULL 값은 불허
2. FORENIG KEY(외래키)
- 다른 테이블의 기본 키를 참조해서 두 테이블 간의 관계를 설정하는데 사용. 참조되는 테이블에 없는 값은 참조X
3. UNIQUE(고유)
- 테이블 내의 각 행에 특정 칼럼의 값의 고유함을 보장, 기본키와 다르게 NULL 값을 한번 허용함
4. CHECK(체크)
- 칼럼에 저장될 수 잇는 데이터 값을 제한함 (컬럼의 값이 특정 범위내에 있어야하거나, 조건을 만족해야할 때 사용)
5. NOT NULL(널 불허)
- 기본적으로 NULL 값이 들어갈 수 없도록 한다. 필수적으로 값을 가져야하는 컬럼에 적용
● groub by ~ having 조건절
- 칼럼에 동일 내용끼리 그룹화 시킴
형식) group by 칼럼1, 칼럼2, 칼럼3, ~~~
※ 주의사항으로는 그룹핑 되어있는 컬럼 뒤에는 한 개의 값만 가진 컬럼만 가져올 수 있다.
- having 조건절
SQL에서 집계함수의 결과에 대한 조건을 적용할 때 사용함 (대표적인 것이 group by)
group by 절과 함 께 사용하며, 해당 조건절로 생성된 그룹의 결과에 조건을 걸고 싶을 때 사용한다.
(조건절의 경우 연산자를 무조건 사용해야 한다.)
● case- when
- SQL에서 조건에 따라 다른 값을 선택하거나 반환할 때 사용하는 조건부 논리를 구현하는 데 사용
case when 조건1 then 조건 만족시 값1
when 조건2 then 조건 만족시 값2
when 조건3 then 조건 만족시 값3
end;
● 쿼리문의 해석 순서
예시로 아래 쿼리문의 해석 순서는 다음과 같다.
select addr, count(*) -- 해석순서 3)
from sungjuk -- 해석순서 1)
group by addr -- 해석순서 2)
order by addr desc; -- 해석순서 4)
● 서브 쿼리
- sql 문 속에 또 다른 sql문으로 테이블 내에서 다시 한번 쿼리문에 의해 행 조회 및 검색
해당 서브 쿼리문은 국어 점수의 최소값보다 이하 점수가 수학 또는 영어 점수에 있는지 조회하는 쿼리문이다.
select uname, kor, eng, mat
from sungjuk
where mat<=(select min(kor) from sungjuk)
or eng<=(select min(kor) from sungjuk);
여기에서 where 조건절에 수학점수(mat) 와 영어 점수(eng)의 값을 국어 점수의 최소값(min(kor))와 비교하는 부분이 있는데 해당 쿼리문을 단일 서브 쿼리문이라고 한다.
03.05(화)
● 오라클 함수
- 결합 연산자 ||
- ASCII 문자변환 chr( ASCII 값)
- 숫자 관련 함수
1. abs(number) : 절대값을 반환하는 함수
2. mod(값1, 값2) : 두 숫자의 나머지를 반환하는 함수, 값1을 값2로 나눈 후의 나머지의 값을 계산함
3. ceil(number) : 주어진 숫자를 넘지 않는 가장 작은 정수로 올림하는 함수
4. trunc(값, 소수점의 자릿수) : 숫자나 날짜를 특정 자릿수나 날짜 부분까지만 잘라내고 나머지를 제거하는 데 사용함
- 형변환 함수
to_char(원래 날짜, '원하는 모양')
to_number('숫자형태의 문자열')
to_date(('문자','날짜포멧')
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL; -- 결과: '2023-03-15'
SELECT TO_NUMBER('12345') FROM DUAL; -- 문자열 '12345'를 숫자 12345로 변환
SELECT TO_DATE('2023-01-01', 'YYYY-MM-DD') FROM DUAL; -- 문자열을 날짜타입 '2023년 1월 1일'로 변환
● nvl 함수
nvl(값1, 값2) : null값을 다른 값으로 바꿈. 값1의 값이 NULL이 아니라면 값1이 가진 값을 그대로 반환하고 만약 NULL이라면 값2에 해당하는 값을 반환한다.
● Oracle DB 자료형
1. 숫자형
- number 전체자릿수(38)까지 표현. 표준SQL문의 int형과 동일하지만, 소수점 표현도 가능함
- number(3) 전체자릿수(3) -999~999
- number(6,2) 전체 자릿수(6)이고, 6칸내에서 소수점 자릿수(2)
2. 문자형
- char 고정형. 최대길이 2000바이트
- varchar2 가변형. 최대길이 4000바이트
- long 최대 2GB까지
3. 이진파일
- blob
- 주의사항 : 실제 파일을 데이터베이스에 저장하지 않음
- 파일명만을 DB에 저장하고, 그 둘을 매치하는 시스템
4. 날짜형
- date 년월일시분초
- timestamp 기본날짜형을 확장한 자료형
03.06(화)
● 모델링 (학사관리 예제)
'국비지원 과정 기록' 카테고리의 다른 글
03.26 [Java] (0) | 2024.03.26 |
---|---|
03.25 [Java] (1) | 2024.03.25 |
03.20~03.21[Java] (0) | 2024.03.23 |
03.18 ~ 03.19[Java] (0) | 2024.03.20 |
03 07 ~ 03 15[Oracle DB] (1) | 2024.03.17 |