반응형

mysql 7

[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 - MySQL

이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다. 풀이 제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다. SELECT T1.HISTORY_ID , T1.CAR_ID , DATE_F..

[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 - MySQL

1. 문제 2. 풀이 문제 https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다. 풀이 제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다. SELECT T1.TITLE , T1.BOARD_ID , T2.REPLY_ID , T2.WRITER_ID , T2..

[MySQL] Limit 사용하기

SELECT * FROM TAB LIMIT 0, 5 문법은 간단합니다. SELECT * FROM 테이블명 LIMIT 시작INDEX, 출력수 만약 아래와 같이 Col1, Col2의 컬럼을 갖는 테이블(TAB)이 있다고 가정하고 Col1 Col2 1 A 2 B 3 C 4 D 5 E 6 F 7 G 8 H 9 I 10 J 11 K 12 L 13 M 14 N 아래의 Query를 수행하면 SELECT * FROM TAB LIMIT 0, 5 Index 시작점인 0부터 5개인 아래의 결과가 출력되게 됩니다. Col1 Col2 1 A 2 B 3 C 4 D 5 E 만약 Col1이 4부터 10까지 출력하고 싶은 경우 아래와 같이 Index를 3부터 7개를 출력하는 Query인 SELECT * FROM TAB LIMIT 3,..

[MySQL] CONNECT BY 구현하기

WITH RECURSIVE TMP AS ( -- 최상위 부모 정의 SELECT COD , NM , 1 AS LVL , CAST(COD AS VARCHAR(100)) AS PATH , CAST(NM AS VARCHAR(100)) AS PATHNM FROM CODTEST WHERE PARNT = '' UNION ALL -- 단계별 부모와 자식 매핑 SELECT C.COD , C.NM , P.LVL + 1 AS LVL , CONCAT(P.PATH , ' > ', C.COD) AS PATH , CONCAT(P.PATHNM, ' > ', C.NM) AS PATHNM FROM TMP AS P JOIN CODTEST AS C ON C.PARNT = P.COD ) SELECT * FROM TMP MySQL에서도 CON..

[MSSQL] Procedure / Function 조회

Procedure나 Function을 만들어 운영하다 특정 테이블이나 컬럼, 값 등을 변경해야 하는 경우에 조회를 하거나, 명칭 등을 조회해야 하는 경우가 존재합니다. 그런 경우 INFORMATION_SCHEMA.ROUTINES를 활용하여 조회 가능합니다. SELECT ROUTINE_NAME AS "프로시저/함수 명" , ROUTINE_DEFINITION AS "프로시저/함수 내용" , CREATED AS "생성일시" , LAST_ALTERED AS "수정일시" FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' 위 Query를 실행 하면 아래와 같은 결과 화면을 호출받을 수 있습니다. 해당 결과를 통해서 생성 이후 변경된 Query나 개..

[MySQL] 임의의 비밀번호 채번하기

비밀번호 찾기 등에서 임의의 비밀번호를 채번하는 경우 다음과 같이 작성해볼 수 있습니다. SELECT CONCAT( CHAR(RAND() * 24 + 97) , CHAR(RAND() * 24 + 97) , CHAR(RAND() * 24 + 97) , CAST(RAND() * 9 as INT) , CAST(RAND() * 9 as INT) , CAST(RAND() * 9 as INT) ) userPwd 해당 방법을 사용하면 소문자 3자리 + 숫자 3자리의 임의의 비밀번호가 채번됩니다. 만약 다음과 같이 WITH 절을 사용하여 같은 명령을 5번 수행해보면 WITH V_TEMP AS ( SELECT CONCAT( CHAR(RAND() * 24 + 97) , CHAR(RAND() * 24 + 97) , CHAR..

[MariaDB] Database 및 사용자 계정 생성

데이터 베이스를 구축하고 나서 제일 먼저 하게 되는 것은 해당 데이터들이 저장될 Database를 만들고 그 Database에 접근할 계정을 만드는 것일 겁니다. MariaDB 데이터베이스의 구축에 대해서는 차후에 글을 기재하도록 하겠습니다. 먼저 root 권한으로 mariadb에 접근해 줍니다. (mariadb는 mysql기반이기 때문에 명령어가 mysql가 유사한 부분이 많습니다.) 1. MariaDB 접속 $> sudo mysql -u root 2. DATABASE 생성 create database {mydatabase}; 3. USER 생성 create user '{userName}’@'localhost' identified by '{userPassword}'; → localhost의 경우 내부에..

반응형