CS/데이터베이스

CS/데이터베이스

Mariadb / MySQL

이번 프로젝트에서 사용할 DataBase를 선택하기 위해 찾아보고 비교해 보았다! MySQL 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템 (RDBMS) 성능과 신뢰성 등에서 꾸준히 개선되어 옴 오픈 소스이며 다중 사용자와 다중 스레드를 지원, 여러 프로그래밍 언어를 위한 API 제공 다양한 운영체제에서 사용 가능 오픈 소스 라이센스를 따르지만, 상업적으로 사용할 때는 상업용 라이센스를 구입해야 함 MariaDB MySQL 데이터베이스 시스템을 기반으로 한 서비스 MySQL의 개선된 버전으로 호환성이 높음 MySQL에서 찾을 수 없는 수많은 내장된 강력한 기능과 많은 유용성, 보안 및 성능 개선사항이 함께 제공 MySQL에 비해 확장성이 뛰어나고 쿼리 속도가 더 빠름 MySQL vs Maria..

CS/데이터베이스

[MYSQL] 날짜 관련 정리

날짜 추출하기 함수 내용 DATE_FORMAT(날짜, 'FORMAT') 날짜를 해당 포멧으로 변환 DATE(날짜) 날짜를 '연도-월-일'로 변환 YEAR(날짜) 날짜의 연도 반환 MONTH(날짜) 날짜의 월 반환 NOW(), CURRENT_TIMESTAMP() YYYY-MM-DD HH:MM:SS CURDATE(), CURRENT_DATE() YYYY-MM-DD CURTIME(), CURRENT_TIME() HH:MM:SS 날짜 비교하기 1. 날짜 차이 함수 함수 내용 DATEDIFF(날짜1, 날짜2) 날짜1 - 날짜2 차이를 일수로 반환 TIMESTAMPDIFF(단위, 날짜1, 날짜2) 날짜1 - 날짜2 차이를 선택한 단위로 반환 TIMEDIFF(날짜1, 날짜2) HH:MM:SS TIMESTAMPDIFF..

CS/데이터베이스

[MySQL] REGEXP

REGEXP LIKE를 이용한 검색과 달리 Regular Expression(정규 표현식)을 이용한 검색 REGEXP를 사용하면 SQL에서 정규표현식을 활용하여 복잡한 문자열 조건을 걸어 데이터를 검색 가능 Regular Expression(정규 표현식) 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 특정한 조건의 문자를 검색하거나 치환하는 과정을 매우 간편하게 처리할 수 있도록 해주는 수단 정규 표현식은 Pattern을 사용해서 문자열을 처리 Matching Pattern 기능 예시 설명 . 문자 하나 "..." 문자열의 길이가 세 글자 이상인 것을 찾음. I(수직선) 또는 (OR). I(수직선)로 구분된 문자에 해당하는 문자열을 찾음. "데이터I(수직선) 데이타" ‘데이터’ 또는 ..

CS/데이터베이스

부속질의(subquery)

부속질의(subquery) 하나의 SQL 문 안에 다른 SQL 문이 중첩된 질의 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 좋음 SELECT SUM(saleprice) FROM Orders WHERE custid = (SELECT custid FROM Customer WHERE name = '박지성') 부속질의의 종류 명칭 위치 영문 및 동의어 설명 스칼라 부속질의 SELECT 절 scalar subquery SELECT 절에서 단일 값 반환 인라인 뷰 FROM 절 inline view table subquery FROM 절에서 결과를 view 형태로 반환 중첩질의 WHERE 절 nested subquery pre..

CS/데이터베이스

SQL 내장 함수

숫자 함수 함수 설명 ABS(숫자) 숫자의 절댓값 계산 CEIL(숫자) 숫자보다 크거나 같은 최소의 정수 FLOOR(숫자) 숫자보다 작거나 같은 최소의 정수 ROUND(숫자, m) 숫자의 반올림(m은 반올림 기준 자릿수) TRUNCATE(숫자, m) 숫자를 버림(m은 버릴 자릿수) LOG(n, 숫자) 숫자의 자연로그 값을 반환 POWER(숫자, n) 숫자의 n제곱 값을 계산 SQRT(숫자) 숫자의 제곱근 값을 계산 SIGN(숫자) 숫자가 음수면 -1, 0이면 0, 양수면 1 문자 함수 반환 구분 함수 설명 문자값 반환 함수 s : 문자열 c : 문자 n : 정수 k : 정수 CONCAT(s1, s2) 두 문자열 연결 LOWER(s) 문자열 소문자로 변환 LPAD(s, n, c) 문자열의 왼쪽부터 지정한 ..

CS/데이터베이스

데이터 조작어(DML)

SELECT 문의 기본 문법 SELECT [ALL┃DISTINCT] 속성이름(들) FROM 테이블이름(들) [WHERE 검색조건(들)] [GROUP BY 속성이름] [HAVING 검색조건(들)] [ORDER BY 속성이름 [ASC┃DESC]] WHERE 조건 술어 연산자 사용 예 비교 =,,= price LIKE '_구%' NULL IS NULL, IS NOT NULL price IS NULL 복합조건 AND, OR, NOT price < 2000 AND price IS NULL 와일드 문자의 종류 와일드 문자 의미 사..