mysql 8

mac에서 mysql 설치하기(home-brew, mysql install)

저번주에 맥북프로 m1으로 노트북을 큰맘 먹고 샀다. 그래서 맥북에 이것저것 설치하고 있는 중인데 기록용으로 이번 포스팅을 남겨본다. 일단 맥북의 가장 큰 장점은 홈브류라는 패키지 관리자를 다운 받아서 사용하면 프로그램 설정 파일들은 손 쉽게 다운받을 수 있다. 아래 링크에서 홈브류를 설치 가능하다. Homebrew The Missing Package Manager for macOS (or Linux). brew.sh mysql 설치 홈브류를 설치했다면 아래와 같은 명령어로 mysql 설치가 가능하다. $ brew install mysql 위의 명령어를 실행하면 mysql 설치가 진행되며 설치 완료 시 mysql을 실행하면 된다. 실행 명령어는 아래와 같다. $ mysql.server start mysq..

DB 2022.11.13

[세무민의 코딩일기] mysql에서 Procedure 사용하기

이번 포스팅에서는 Mysql에서 사용하는 프로시저라는 것에 대해 알아보도록 하겠습니다. 스토어드 프로시저 우선 Mysql에서는 스토어드 프로시저라고 합니다. "쿼리문의 집합이자 동작을 일괄로 처리할 수 있도록 사용된다." 스토어드 프로시저란 Mysql 내부에서 프로그래밍이 가능하도록 제공해주는 것이라고 생각하면 된다. 즉 일반 쿼리를 모듈화하여 호출하는 방식으로 이용하며 이는 편리성을 제공해줍니다. 프로시저의 장점 및 단점 [장점] 1. 다양한 쿼리를 모듈화 가능 -> 1개의 프로시저로 N개의 쿼리를 수행 가능하다. 2. 처리 시간이 단축된다 -> 구문 분석과 코드 변환에 필요한 시간들을 미리 하기 때문이다. 3. SQL 문장과 호스팅 언어의 분리로 인하여 프로시저 보수가 편리함 [단점] 1. 재사용성이..

DB/SQL 2022.02.03

[세무민의 코딩일기] LeetCode Rising Temperature문제풀이

오늘 포스팅 할 내용은 LeetCode 문제 중 하나인 Rising Temperature문제를 풀어봤습니다. 1. 문제 설명 2. 문제 예시 3. 문제 풀이 이번 문제는 전일 대비 온도가 높은 ID를 출력해주면 됩니다. 그렇다면 해당 문제를 접근한는 방법은 현재일과 현재일에서 DATE_ADD를 통해 1일을 추가한 일자와 비교하여 온도를 비교해주면 된다. 또 다른 방법은 DATEDIFF를 이용하여 날짜의 차이가 1일인 경우 온도를 비교해주면 된다. /** * LeetCode : Rising Temperature * URL : https://leetcode.com/problems/rising-temperature/ */ # DATEDIFF를 통해 날짜의 차이를 구하는 방식 select w1.id from W..

Algorithm/leetCode 2022.01.13

[세무민의 코딩일기] mysql로 Union 사용하기

이번 포스팅에서 다뤄볼 내용은 DB에서 쿼리 조합할때 자주 사용하는 Union에 대해서 다뤄보겠습니다. UNION Union이란 2개의 쿼리 결과를 행으로 합치는 것을 말합니다. 위의 그림처럼 2개의 조회 결과를 한개의 행으로 결과를 합치는 것을 말합니다. SELECT A 구문 UNION SELECT B 구문 Ex) select title, contents from noticeboard union select title, urlroot from myService; 쿼리대로 조회한 결과가 위의 그림입니다. UNION 조건 UNION을 사용할 때 조건이 존재하는데 조회하는 문장의 열의 개수와 데이터의 형식이 같아야 조회가 가능합니다. UNION ALL UNION과 UNION ALL의 차이는 중복값의 차이이다..

DB/SQL 2021.12.21

[세무민의 코딩일기] mysql에서 json 이용하기

이번 포스팅에서는 mysql에서 json을 이용해보도록 하겠습니다. # json 변수 생성 set @json='{"sgmoomin" : [ {"name":"Saves", "avg":70}, {"name":"Checks", "avg":75}, {"name":"tests", "avg":80}, {"name":"Delts", "avg":88}, {"name":"Alrets", "avg":66}, {"name":"Nums", "avg":90} ] }'; # json 아닌 경우 변수 생성 set @noJson = 70; 먼저 위의 코드처럼 임시로 테스트 json을 만들어 주겠습니다. 위의 임시로 만들어준 변수를 조회하면 json 형태로 나오게 됩니다. # json_valid | json_search | json_..

DB/SQL 2021.08.23

[세무민의 코딩일기] mysql에서 피벗 구현하기!

오늘 포스팅은 pivot에 관련된 내용을 다뤄볼 생각입니다. pivot을 이용하는 건 예전에 오라클에서 달력 만들었던 포스팅에서도 다뤘습니다. https://sg-moomin.tistory.com/entry/Oracle-DB%EB%A1%9C-%EB%8B%AC%EB%A0%A5-%EB%A7%8C%EB%93%A4%EA%B8%B0 Oracle DB로 달력 만들기! 오늘 과장님께서 주신 과제가 있어서 과제를 푸는데 과제 내용은 쿼리로 달력을 만드는것! 그래서 내가 구현한 방법은 총 3가지였다! #1 Case 문을 이용하는 방법! select min(case when WEEKDAY = 1 then DDAY sg-moomin.tistory.com 해당 포스팅은 위에 링크를 따라가면 확인할 수 있습니다. 오라클에서는 ..

DB/SQL 2021.08.02

[세무민의 코딩일기] SQL 내장함수에 대해서 알아보자 1탄!(길이, 진법변환, 문자열 반환 등)

오늘 다뤄볼 포스팅은 SQL 내장함수에 대해서 다뤄볼 것입니다. 내장함수가 워낙 많아서 나눠서 포스팅 할 예정입니다. 1. 아스키 코드 함수[ASCII] SELECT ASCII('AB') AS 'AB' , (ASCII('A') + ASCII('B')) AS 'A + B'; 아스키 코드는 위와 같이 사용할 수 있습니다. 위의 코드를 돌리면 위의 그림과 같이 나오며 'AB'과 같이 문자열의 경우에는 아스키 코드 함수가 가장 앞에 있는 A를 변환해줍니다, 2. BIT_LENGTH, LENGTH, CHAR_LENGTH SELECT BIT_LENGTH('SG-MOOMOIN') AS '비트 길이' , CHAR_LENGTH('SG-MOOMIN') AS '문자 길이' , LENGTH('SG-MOOMIN') AS '길이..

DB/SQL 2021.07.27

CRUD와 다양한 SELECT 검색조건에 대해서 자세하게 알아봅시다![DISTINCT, LIKE, IN, BETWEEN 등]

예전에 취준생을 하면서 최종면접 때 받았던 질문이 하나 있었다. "혹시 CRUD에 대해서 잘 다룰 줄 아는지?" 그때는 무조건 잘 다룬다고 자만했었고 CRUD쯤이야 뭐가 어렵겠어 라는 생각이였다. 그렇지만 현실은 CRUD를 접근하는 것은 쉽지만 생각보다 논리구조에 많이 걸리게 된다. 그러면 오늘 CRUD에 대해서 간단히 알아보도록 하자 "실습은 임시로 만든 airtest라는 임시로 만든 데이터베이스로 진행하겠습니다." 1. CRUD란? "생성, 읽기, 변경, 삭제를 통칭하는 말로 기본적인 데이터 처리에 사용된다" CRUD의 경우 웹 개발에서 예를 들어보면 DB에 있는 값을 생성하거나 가져오거나 변경하거나 삭제하는 과정들을 CRUD라고 하고 이를 쿼리로 보면 Select, Insert, Update, De..

DB/SQL 2021.07.21