Programmers / 오랜 기간 보호한 동물(2) / MySQL
·
DB | SQL
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/59411 코드SELECT A.ANIMAL_ID, A.NAMEFROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_IDORDER BY DATEDIFF(B.DATETIME, A.DATETIME) DESC LIMIT 2; MySQL에서 날짜 차이를 구할 때 DATEDIFF, TIMESTAMPDIFF 함수를 사용 DATEDIFF : 날짜1 - 날짜2 DATEDIFF(날짜1, 날짜2); TIMESTAMPDIFF : 단위 기준 날짜2 - 날짜1TIMESTAMPDIFF(단위, 날짜1, 날짜2); - 단위의 종류SECOND : 초MINUTE..
Programmers / 고양이와 개는 몇 마리 있을까 / MySQL
·
DB | SQL
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/59040 코드SELECT ANIMAL_TYPE, COUNT(*) AS countFROM ANIMAL_INS GROUP BY ANIMAL_TYPEORDER BY ANIMAL_TYPE; 처음엔 ANIMAL_TYPE이 개와 고양이 말고도 있지 않을까 싶었고 혹시나 해서 제출했는데 통과가 되었다. SELECT ANIMAL_TYPE, COUNT(*) AS countFROM ANIMAL_INSWHERE ANIMAL_TYPE IN ('Cat', 'Dog')GROUP BY ANIMAL_TYPEORDER BY CASE ANIMAL_TYPE WHEN 'Cat' THEN 1 WHEN 'Dog'..
Programmers / 오랜 기간 보호한 동물(1) / MySQL
·
DB | SQL
문제: https://school.programmers.co.kr/learn/courses/30/lessons/59044 코드SELECT A.NAME, A.DATETIMEFROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_IDWHERE B.ANIMAL_ID IS NULLORDER BY A.DATETIME LIMIT 3; LEFT JOIN으로 B의 ANIMAL_ID가 NULL인 경우 -> 아직 보호소에 있는 동물LIMIT 3으로 상위 3마리만 출력
[Redis] Redis 이해하기
·
DB | SQL
Redis(원격 디렉터리 서버, REmote DIctionary Server)는 주로 애플리케이션 캐시 또는 빠른 응답 데이터베이스로 사용되는 오픈 소스, 인 메모리, NoSQL 키/값 저장소 인메모리 ( In-Memory )컴퓨터의 주기억장치인 RAM에 데이터를 올려서 사용하는 방법RAM에 데이터를 저장하게 되면 메모리 내부에서 처리가 되므로데이터를 저장/조회할 때 하드디스크를 오고가는 과정을 거치지 않아도 되어 속도가 빠름. 하지만 서버의 메모리 용량을 초과하는 데이터를 처리할 경우, RAM의 특성인 휘발성에 따라 데이터가 유실될 수 있음 휘발성➜ 전원이 꺼지면 가지고 있던 데이터가 사라지는 특성 기존 DB가 있는데도 Redis를 사용하는 이유?DB는 데이터를 디스크에 직접 저장(write)하기 때..
[MySQL] 날짜 포맷 사용 / DATE_FORMAT
·
DB | SQL
데이터베이스에 저장된 날짜를 원하는 형태로 표시하기 위해 MySQL에서는 DATE_FORMAT() 함수를 제공합니다. 1. DATE_FORMAT 기본 문법DATE_FORMAT(date, format) date : 변환할 날짜(또는 DATETIME) 값format : 표시할 형식 문자열 (포맷 문자) 2. 자주 쓰이는 포맷 문자 포맷문자설명예시%Y4자리 연도2025%y2자리 연도25%m월 (01~12)03%c월 (1~12)3%d일 (01~31)09%e일 (1~31)9%H24시간 형식 시간 (00~23)14%h 또는 %I12시간 형식 시간 (01~12)02%i분 (00~59)45%S 또는 %s초 (00~59)09%W요일(전체)Sunday%a요일(약어)Sun%M월(전체 이름)January%b월(약어)Jan ..
Programmers / 카테고리 별 상품 개수 구하기 / MySQL
·
DB | SQL
문제: https://school.programmers.co.kr/learn/courses/30/lessons/131529?language=mysql 풀이SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTSFROM PRODUCTGROUP BY CATEGORYORDER BY CATEGORY LEFT()함수를 사용하면 왼쪽부터 지정한 수 만큼의 문자를 추출할 수 있다.LEFT(문자열 or 컬럼명, 길이)
[MongoDB] 명령어 모음
·
DB | SQL
MongoDB는 document 기반의 NoSQL 데이터베이스입니다. 따라서 데이터 구조를 사전에 강제로 정하지 않아도 되며, 필드명, 구조, 타입이 달라도 에러 없이 저장된다는 특징이 있습니다. 1. 데이터베이스 관련 명령어 명령어 설명show dbs모든 데이터베이스 목록 보기use DB명해당 데이터베이스로 이동 (없으면 생성됨)db현재 사용 중인 데이터베이스 이름 확인db.dropDatabase()현재 선택된 데이터베이스 삭제 2. 컬렉션(테이블) 관련 명령어 명령어 설명show collections현재 DB의 모든 컬렉션 목록 보기db.createCollection("컬렉션명")컬렉션 생성db.컬렉션명.drop()컬렉션 삭제 3. 데이터 조작(CRUD) 명령어📌 Create (삽입) 명령어 ..
[MYSQL] 데이터 삭제 DELETE, DROP, TRUNCATE
·
DB | SQL
DELETE, DROP, TRUNCATE는 모두 데이터베이스에서 데이터를 삭제하는 명령어지만, 각각의 목적과 동작 방식이 다르다. DELETE, DROP, TRUNCATE 특징1. DELETE테이블에서 특정 조건에 맞는 데이터를 삭제하는 데 사용된다. 삭제한 데이터는 트랜잭션 로그에 기록되므로 롤백이 가능하다. WHERE 절을 사용하여 특정 조건에 맞는 데이터만 삭제할 수 있다. 테이블 구조나 데이터 정의는 영향을 받지 않는다. 삭제 후에도 테이블에 데이터가 남아 있을 수 있다. 2. DROP테이블, 데이터베이스, 또는 다른 객체를 삭제하는 명령어다. 이 명령어를 실행하면 해당 테이블이나 객체 자체가 삭제되고, 복구할 수 없다. 테이블의 모든 데이터와 구조가 완전히 삭제되며, 관련된 모든 인덱스와 제약 ..