정수 관련 내장함수
abs (int) : 절대값을 반환
round (int(소수),int(자릿수)) : int번째 자리수 에서 반올림
ceil (int(소수)) : 올림
floor (int(소수)) : 버림
문자 관련 내장함수
lower ('문자열') : 소문자 변환
Upper ('문자열') : 대문자 변환
[r/l]trim (' 문자열') : 좌우 공백제거
replace(컬럼 명,'기존 문자열','변경 문자열') ※단, 기존 데이터베이스 상의 정보를 변경하지 않음
char_length(컬럼명) : 문자열의 수 를 반환
length(컬럼명) : 문자열의 byte 양 을 반환 (한글 : 3byte / 영문 : 1byte)
substr(컬럼명,시작스트링(int),끝스트링(int)) : 시작번호 ~ 끝 번호 까지만 출력
sysdate() : 시스템상 날자
dateformat((날자),(표기방식 ex) '%Y-%m-%d')) : 날자를 표기해줌
str_to_date((문자열 날자),(표기방식)) : 문자열을 날자형식으로 표기해줌
null : 아직 지정되지 않은 값
지정되지 않았다는 것은 값을 알 수도 없고
적용할 수도 없다는 뜻
null 값은 '0',빈 문자(' '), 공백 등과 다른 특별한 값
null 값은 비교 연산자로 비교할수 없다
null 값의 연산을 수행하면 null 값을 반환한다
집계함수를 계산할 때 null이 포함된 행은 집계에서 빠진다
해당 행 이 하나도 없을경우 sum, avg, max, min 등
count 함수의 경우 0이됨
컬럼이 null 인경우 값 없음으로 표기하기
MySQL ifnull (컬럼명 , 대체 문자열)
oracle nvl(컬럼명 , 대체 문자열)
--
행 번호 출력
MySQL 에서는 변수명 앞에는 @를 붙임
money라는 변수명 -> @money
치환문(바꾸는 값)
SET:=
변수명 money 의 값을 0으로 초기화
set @money :=0
ex)
select (@num := @num +1) as '순번', custid, name, phone
from customer
where @num < 2;
select custid, name, phone
from customer
limit 3;
권한을 넘겨주기 위한 명령어
grant 권한 [(컬럼리스트)]
[on 객체] to {사용자 | 롤}
[with grant option]
revoke 권한 [컬럼리스트]
[on 객체] from {사용자 | 롤}
-- =================================
-- 사용자 계정 만들기
-- create user 사용자이름 identified by 비밀번호;
-- 사용자 계정 생성, localhost
-- 비밀번호 : 비번
create user 사용자이름@localhost identified by '사용자 계정';
-- 사용자 계정 삭제
drop user 사용자이름@'사용자 계정';
-- 모든 권한 양도
grant all privileges
on *.*
to 사용자 계정@localhost
with grant option;
===========================================================================================
이상현상
삭제이상 : 투플 삭제시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상
삽입이상 : 투플 삽입시 특정 속성에 해다하는 값이 없어 null을 입력해야만 하는 상황
수정이상 : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터가 달라지는 현상
정규화
이상현상이 있는 테이블을 수정하여 문제를 해결하는 과정을 '정규화' 라고한다
제1 정규형 : 1NF
관계 데이터베이스에서 릴레이션의 속성값은 반드시 원자값이어야 한다
고객 취미 릴레이션이 있을때 아래와 같은 방식이라면
이름 | 취미 이름 | 취미
고객A | 인터넷 고객A | 인터넷
고객B | 영화, 음악 고객B | 영화
고객C | 음악, 쇼핑 => 고객B | 음악
고객D | 음악 고객C | 음악
고객E | 게임 고객C | 쇼핑
고객D | 음악
고객E | 게임
이와 같이 변경한다
제2 정규형 : 2NF
릴레이션 R 이 제 1정규형이고, 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제2정규형이라고 한다.
완전 함수 종속 : A와 B가 릴레이션 R의 속성이고 A -> B 종속성이 성립할 때, B가 A의 속성 전체에 함수 종속하고 부분집합 속성에 함수 종속하지 않을 경우 완전 함수 종속 이라고한다.
반면, A->B 종속성에서 A의 속성 일부를 제거해도 종속성이 여전히 성립하는 경우 불완전 함수 종속 이라고한다
예를들어 (A1,A2) -> B 종속성에서 A2를 제거했는데도 A1 -> B가 여전히 성립한다면 여전히 불완전 함수 종속이다
학번 -> 성적
강좌명 -> 강의실
=============
학번 -> 성적
강좌명
강좌명 -> 강의실
============
'개인개발기록 > 클라우드 기반 자바 풀스택 개발' 카테고리의 다른 글
2025_04_18 Java 풀스택 수업 - JDBC 맛보기 (0) | 2025.04.18 |
---|---|
2025_04_17 Java 풀스택 수업 - MySQL (0) | 2025.04.17 |
2025_04_15 Java 풀스택 수업 - MySQL (0) | 2025.04.15 |
2025_04_14 Java 풀스택 수업 - MySQL (1) | 2025.04.14 |
2025_04_11 Java 풀스택 수업 - MySQL (1) | 2025.04.11 |