본문 바로가기

728x90
반응형

BackEnd/DB(SQL)

[DB_MySQL] 이것이 MySQL이다 ch08 테이블과 뷰 2(뷰, view) 1. 뷰 ◎ 뷰의 개념 ▷ 일반 사용자 입장에서 테이블과 동일하게 사용하는 개체 ▷ 뷰를 생성한 후에는 테이블처럼 접근 가능하여 동일한 결과 얻을 수 있음 ▷ 뷰의 작동 방식 ▷ 뷰 생성 구문 1. 테이블 생성 drop database if exists sqldb; -- sqldb가 있으면 drop해서 db를 삭제, 없으면 그냥 빠져나가기 create database sqldb; use sqldb; -- 테이블 생성 -- 회원 테이블 create table usertbl( userIDchar(8)not nullprimary key,-- 사용자 아이디(PK) namevarchar(10)not null,-- 이름 birthYearintnot null,-- 출생년도 addrchar(2)not null,-- 지.. 더보기
[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이다 ch08 테이블과 뷰 1(테이블 생성, 기본키, 외부키) 1. 테이블 만들기 1. MySQL Workbench에서 테이블 생성 ▷ Navigator – [Schemas] 클릭 – ‘tabledb’ 확장 – ‘Tables’ 마우스 오른쪽 버튼 – [Create Table] 선택 ▷ usertbl 생성 ▷ buytbl 생성 ▷ num열에 AUTO_INCREMENT, FOREIGN KEY 추가 2. MySQL Workbench에서 데이터 입력 ▷ Navigator에서 usertbl 선택 – 마우스 오른쪽 버튼 클릭 – [Select Rows – Limit 1000] 선택 ▷ 아이콘 클릭한 후, 3개 행 입력 - 클릭 - 클릭 ▷ buytbl 선택 – 마우스 오른쪽 버튼 클릭 – [Select Rows – Limit 1000] 선택 ▷ 아이콘 클릭한 후, 3개 행 입.. 더보기
[DB_MySQL] 이것이 MySQL이다 ch07 SQL 고급5 (SQL 프로그래밍, if else, case, while) 1. SQL 프로그래밍 ◎ 스토어드 프로시저를 이용한 프로그래밍 ▷ 10장에서 심화 학습 예정 ▷ 형식 DELIMITER $$ CREATE PROCEDURE 스토어드 프로시저이름() BEGIN 이 부분에 SQL 프로그래밍 코딩.. END $$ DELIMITER ; CALL 스토어드 프로시저이름(); ◎ IF...ELSE ▷ 조건에 따라 분기 ▶ 참 / 거짓 두가지만 있기에 2중 분기 ▷ 한 문장 이상 처리되어야 할 때 BEGIN.. END로 묶어주기 ▷ 형식 IF THEN SQL문장들1.. ELSE SQL문장들2.. END IF; 부울 표현식 부분이 참이면 SQL문장들1 수행 / 거짓이면 SQL문장들2 수행 ◎ IF 예제 1 drop procedure if exists ifProc; use sqldb; .. 더보기
[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 정.. 더보기

728x90
반응형