본문 바로가기

공부기록/MySQL14

4월 5일 (2) DB - CASE, IF, 문자열 등 기타 함수 제어용 구문 : CASE, IF(), IFNULL(), NULLIF() CASE 연산자 : 자바스크립트의 switch와 비슷함 문법 2종류 1. CASE value WHEN [비교값] THEN 실행값 [WHEN [비교값] THEN 실행값 ...... ELSE 실행값] END; SELECT CASE 0 WHEN 0 THEN '영' WHEN 1 THEN '일' ELSE '몰라' END 결과; SELECT CASE 1 WHEN 0 THEN '영' WHEN 1 THEN '일' ELSE '몰라' END 결과; SELECT CASE 5 WHEN 0 THEN '영' WHEN 1 THEN '일' ELSE '몰라' END 결과; 2. CASE WHEN [조건식] THEN 실행값 [WHEN [조건식] THEN 실행값 .... 2023. 4. 5.
4월 5일 (1) DB - DATE, 셀프 조인, view, MySQL 내장 함수 오류가 나는 것을 방지하는 역할 IF EXISTS : '만약에 존재한다면', DROP 시 사용하는 구문. 테이블 삭제할 경우 DROP TABLE IF EXISTS 테이블명; IF NOT EXISTS : '만약에 존재하지 않는다면', CREATE 시 사용하는 구문 테이블 생성할 경우 CREATE TABLE IF NOT EXISTE 테이블명 (......); 예) 주의 표시가 뜬다. 날짜와 시간의 기본값 설정 방법 CREATE TABLE 날짜와 시간 입력 형식 : 'YYYY-MM-DD hh:mm:ss' 데이터가 입력되는 시점의 날짜와 시간을 처리하는 함수 - now() INSERT문 사용, DATETIME 타입에서는 기본값으로 사용가능 1) DATE 타입 컬럼명 DATE DEFAULT(CURRENT_DATE.. 2023. 4. 5.
4월 4일 (2) DB - Join, DB 백업/복구 조인(Join) 테이블을 결합하여 결과를 조회하자. 둘 이상의 테이블을 하나로 묶어서 조회하는 방법 기준이 되는 테이블에 다른 테이블의 정보(컬럼)을 붙이는 형태 붙게 되는 테이블의 데이터는 반복적으로 나타날 수 있음. 테이블 결합 후 검색을 수행 결합의 조건은 기본키와 외래키 중심 (두 테이블에 같은 값을 갖는 컬럼이 존재해야만 함) 1) 내부 조인 (INNER JOIN, 등가조인) 기준이 되는 테이블에 존재하는 데이터에 매치되는 다른 테이블의 정보가 붙는 형태 조인 시 컬럼명을 사용할 때에느 앞에 테이블명을 붙인다. 예) 사원번호 : emp.empno, 부서정보 전체 : dept.* 형식) SELECT FROM [INNER] JOIN ON [WHERE 검색조건]; 예_내부조인 내부 조인.. 2023. 4. 4.
4월 4일 (1) DB - Subquery 프로젝트 발표 신규 입고의 경우 시간이 지나면 변경되기 때문에 프로그램으로 어떻게 연결되는지를 생각해서 데이터베이스에 확정된 코드로 넣어 변경하기보다는 따로 코드를 작성하여 넣을 수 있도록 바꿔 주는 것도 생각해 볼 수 있다. ERD 관계 수정 - 개체끼리 연결된 부분 서브쿼리(Subquery) 하위질의문, 하나의 쿼리문이 여러 쿼리문으로 구성되는 형태 이 때 내부에 포함되는 쿼리문을 서브쿼리라고 한다. 형식 SELECT 컬럼 목록 FROM 테이블 WHERE 컬럼 연산자(SELECT 컬럼 FROM 테이블 WHERE 조건); -> () 안의 쿼리문을 서브쿼리라고 한다. INNER QUERY라고도 한다. 특수한 경우 SELECT와 FROM 절에 QUERY문이 위치하기로 한다. 종류 (WHERE 절에 서브쿼리.. 2023. 4. 4.
3월 30일 (2) DB - WHERE절의 연산자, 집계함수, 기타함수 4.null 관련연산자 IS NULL : 컬럼의 데이터가 NULL인 행을 검색 IS NOT NULL : 컬럼의 데이터가 NULL이 아닌 행을 검색 USE dev_db; SELECT * FROM emp WHERE comm IS NOT NULL; 출력 개수 제한 : LIMIT n[, m] n - 0번 행부터 n-1번 행까지의 행 조회 n과 m - n은 시작행 번호, m은 조회할 행 개수 USE employees; SELECT * FROM employees LIMIT 1, 10; 집계함수와 GROUP 집계함수 행에 대한 산술적인 연산을 수행하는 함수, 주로 숫자타입의 컬럼에 적용 1) count(컬럼명) : 전체 또는 특정 컬럼의 값이 있는 행의 개수 USE dev_db; SELECT count(comm) `.. 2023. 3. 30.
3월 30일 (1) DB - DML(추가), WHERE절의 연산자 어제 이어서 SELECT절 : SELECT * FROM절 : FROM table WHERE절 : WHERE condition ORDER BY 활용 ASC는 생략 가능(기본값), DESC는 반드시 작성 두 개 이상의 칼럼을 활용하여 다중 정렬을 처리할 수 있다. (각 컬럼별 오름차순, 내림차순을 정할 수 있다.) + 별칭에 공백을 넣고 싶을 때(두 단어 이상으로 별칭을 만들 경우) `(백틱)`으로 감싸준다. DESC employees; SELECT * FROM employees ORDER BY first_name, last_name DESC; -- 중복 데이터 제거 SELECT DISTINCT gender FROM employees; -- 별칭 만들기 SELECT last_name 성, first_name.. 2023. 3. 30.