본문 바로가기

MySQL6

GROUP_CONCAT() : GROUP BY 할 때, 한 Column의 값을 한 번에 묶고 싶을 때! GROUP BY를 할 때, 한 Column의 값을 한번에 표시해서 보고 싶을 때가 있다. 이럴 때, GROUP_CONCAT()을 쓰면 상당히 편리하게 쓸 수 있다. SELECT column1 GROUP_CONCAT(column2) FROM table1 GROUP BY column1 column1 column2 aa a, b, c, c, c bb k, s, w, c, a, k 그런데 이렇게 하면 중복된 값이라도 있는 값 그대로 연속으로 표시하게 된다. 이를 방지하기 위해선 아래와 같이 하면 된다. SELECT column1 GROUP_CONCAT(distinct column2) FROM table1 GROUP BY column1 column1 column2 aa a, b, c bb k, s, w, c, a.. 2021. 9. 14.
[MySQL] 반복문(LOOP)으로 Column 1, 2, ..., 100 생성 DELIMITER $$ DROP PROCEDURE IF EXISTS loop_column $$ CREATE PROCEDURE loop_column(IN var INT) BEGIN DECLARE n INT DEFAULT 0; loop_xxxx:LOOP IF (var 2021. 7. 26.
[2021/7/26] - Ubuntu 18.04 다시 설정 (mysql, pip, npm 등 설치....) 같은 실수를 하지 않기 위해 먼저 정보화본부의 웹 쉘 탐지 에이전트부터 설치 및 실행 후 모든 작업을 실행하였다... 이 작업 이후론 루트 경로 건드릴 일이 하나도 없어서 그나마 다행인듯 하다. 현재 리눅스 정보 - Ubuntu 18.04 - MySQL 설치 sudo apt install -y mysql-server sudo mysql_secure_installation sudo service mysql start 첫 번째 명령을 입력하면 Ubuntu apt repository에서 제공해주는 MySQL Server를 설치할 수 있다. 두 번째 명령을 입력하면 MySQL의 보안 설정을 할 수 있다. 몇 가지 질문들이 주어지는데, 내용은 다음과 같다. 1. 패스워드를 설정하시겠습니까? - yes 1.1. 패.. 2021. 7. 26.
[2021/07/22] - MySQL/Django 구조 변경 / 대형 사고... 원래는 ElasticSearch에서 긁어오는 부분을 Django 모델과 별개로 따로 데이터베이스 공간을 만드려고 했었다. 그러나 pymysql로 DB 로그인하고 불러오는 딜레이가 너무 커서, ElasticSearch 부분도 Django 모델로 따로 만들어 주었다. Django 모델로 통합하니 다시 MySQL에 접속하는 딜레이가 필요없어져, 확실한 속도 향상을 볼 수 있었다. 다만 이미지 생성하는 부분은 속도가 여전히 느렸다. 교내 서버가 사양이 좋지 않아 TSNE를 돌리는 부분에서 딜레이가 걸리는 것으로 추정되었다. 교내에서 외부에서 접속을 하려면 4가지 조치를 취해야 한다고 정보화 본부에서 연락이 왔다. 그 중에는 루트 경로에 정보화본부에서 제공하는 소프트웨어를 설치해야 하는 절차도 있었다. 설치는 압.. 2021. 7. 23.