[DB_MySQL] 이것이 MySQL이다 ch08 테이블과 뷰 1-1(테이블 제약 조건 및 수정 방법 실습)
1. 테이블 생성 및 데이터 삽입 use tabledb; drop table if exists buytbl; drop table if exists usertbl; -- 테이블 생성 -- 회원 테이블 create table usertbl( userIDchar(8), namevarchar(10), birthYearint, addrchar(2), mobile1char(3), mobile2char(8), heightsmallint, mDatedate ); -- 회원 구매 테이블 (buytbl) create table buytbl( numintauto_increment primary key, userIDchar(8), prodNamechar(6), groupNamechar(4), priceint, amountsm..
더보기
[DB_MySQL] 이것이 MySQL이다 ch07 SQL 고급 4(피벗, JSON 데이터, 조인)
1. 피벗의 구현 ◎ 피벗(Pivot) 이란? ▷ 한 열에 포함된 여러 값 출력, 이를 여러 열로 변환하여 테이블 반환식 회전, 필요하면 집계까지 수행 1. uName을 기준으로 group -- 피벗의 구현 use sqlDB; create table pivotTest( uName CHAR(3), season CHAR(2), amount int ); desc pivotTest; insert into pivotTest values ('김범수', '겨울', 10), ('윤종신', '여름', 15), ('김범수', '가을', 25), ('김범수', '봄', 3), ('김범수', '봄', 37), ('윤종신', '겨울', 40), ('김범수', '여름', 14), ('김범수', '겨울', 22), ('윤종신', ..
더보기
[DB_MySQL] 이것이 MySQL이다 ch07 SQL 고급 3(수학 함수, 날짜 및 시간 함수, 시스템 정보 함수)
1. 수학 함수 1. ABS(숫자) ▷ 숫자의 절댓값 계산 -- ABS(숫자) : 절댓값 select abs(-100); -- 100 반환 2. ACOS(숫자), ASIN(숫자), ATAN(숫자), ATAN2(숫자1, 숫자2), SIN(숫자), COS(숫자), TAN(숫자) ▷ 삼각 함수와 관련된 함수 제공 3. CEILING(숫자), FLOOR(숫자), ROUND(숫자) ▷ 올림, 내림, 반올림 계산 -- CEILING(숫자) : 올림 = ceil() -- FLOOR(숫자) : 내림 -- ROUND(숫자) : 반올림 select ceiling(4.7), floor(4.7), round(4.7); -- 5, 4, 5 반환 4. CONV(숫자, 원래 진수, 변환할 진수) ▷ 숫자를 원래 진수에서 변환할..
더보기
[DB_MySQL] 이것이 MySQL이다 ch07 SQL 고급 2(ifnull, nullif, case, 문자열 함수)
1. MySQL 내장 함수 ◎ 내장 함수 ▷ 흐름 함수, 문자열 함수, 수학 함수, 날짜/시간 함수, 전체 텍스트 검색 함수, 형 변환 함수, XML 함수, 비트 함수, 보안/압축 함수, 정보 함수, 공간 분석 함수, 기타 함수 등 ◎ 제어 흐름 함수 ▷ 프로그램의 흐름 제어 ▷ IF(수식, 참, 거짓) ▶ 수식이 참 또는 거짓인지 결과에 따라서 2중 분기 SELECT IF(100>200, '참이다', '거짓이다'); ▷ IFNULL(수식1, 수식2) ▶ 수식1이 NULL이 아니면 수식1이 반환되고 수식1이 NULL이면 수식 2가 반환 -- ifnull(수식1,수식2) -- 수식1 null이라면 수식2 반환 -- 수식1 null이 아니라면 수식1 반환 select ifnull(null, '널이군요'), ..
더보기
[DB_MySQL] 이것이 MySQL이다 ch07 SQL 고급 1(데이터 형식, 변수 사용, 형 변환)
1. MySQL의 데이터 형식 ◎ MySQL에서 지원하는 데이터 형식의 종류 ▷ Data Type으로 표현 ▶ 데이터 형식, 데이터형, 자료형, 데이터 타입 등 다양하게 불림 ▷ 데이터 형식에 대한 이해가 필요한 이유 ▶ SELECT문 더욱 잘 활용 ▶ 테이블의 생성을 효율적으로 하기 위해 필요 ▷ MySQL에서 데이터 형식의 종류는 30개 정도 ▶ 중요하고 자주 쓰는 형식에 대해 중점 학습 ◎ 숫자 데이터 형식 NO 데이터 형식 바이트 수 숫자 범위 설명 1 BIT(N) N/8 1~64bit를 표현. b'0000' 형식으로 표현 2 TINYINT 1 -128 ~ 127 정수 3 ★SMALLINT 2 -32,768 ~ 32,767 정수 4 MEDIUMINT 3 -8,388,608 ~ 8,388,607 정..
더보기