반응형

MySQL 11

DB에 저장된 JSON 데이터의 키 값을 쿼리로 추출하기

추출 예시 DB에 JSON 형식을 문자열로 그대로 저장했을 경우 이것을 쿼리로 추출하는 방법입니다. { "filename":"test.png", "buttons":[ {"name":"test_name","url":"test_url"}, {"name":"test_name2","url":"test_url2"} ] }만약 이렇게 저장된 JSON 형식의 문자열 데이터가 있을 때, "filename"의 값인 "test.png" 만 가져오는 것이 목표입니다. 예시 DBMS는 MySQL입니다. 추출 쿼리 MySQL 5.7 버전 이상 (MariaDB 10.3 이상) MySQL 5.7 버전 이상부터 사용 가능하며, 내장 함수 중 하나인 JSON_EXTRACT()를 사용할 수 있습니다. JSON 데이터가 저장된 컬럼에서 ..

MySQL/MariaDB :: 특정 날짜 사이의 년,월,주,일 Group By (with PHP)

특정 날짜 사이의 년,월,일 Group By 하는 포스팅은 꽤 많았지만, 특정 범위의 날짜만 구하는 것이 아니라, 넓은 범위의 날짜를 구한 후 Group By 하는 방식으로 되어 있었다. 나는 정확히 특정 범위의 날짜만 구해서 처리속도도 최소화 하고 싶었다. 기존에 사용했던 코드 select stat_date from ( select adddate('[시작날짜]',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) stat_date from (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 u..

MySQL/MariaDB :: 단방향, 양방향 이중화 (Replication)

데이터베이스 이중화에 대한 내용 2대 이상의 DBMS를 나눠서 데이터를 저장한다. 삽입, 수정, 삭제 모두 복제할 수 있으며, 함수까지도 복제가 가능하다. 부분적으로 복제하는 것도 가능하다. CentOS 7, mysql Ver 15.1 Distrib 10.3.37-MariaDB 데이터베이스 양방향 이중화 my.cnf 설정 1번 서버 my.cnf ... [mysqld] server-id=1 log-bin=binlog binlog_format=mixed sync_binlog=1 binlog_cache_size=2M max_binlog_size=512M expire_logs_days=7 log-bin-trust-function-creators=1 ... 2번 서버 my.cnf ... [mysqld] serve..

CentOS7에 MariaDB 설치하기 :: MariaDB install for CentOS7

MariaDB 저장소 추가 MariaDB를 다운받기 위해서는 yum 저장소에 MariaDB 저장소를 추가해야 합니다. vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 baseurl의 경우 본인이 설치해야 하는 버전과 설치 환경에 맞게 입력해야 합니다. http://mirror.mariadb.org/yum/ 경로에서 확인할 수 있습니다. 저장 후 yum에 저장소가 제대로 추가 되었는지 확인합니다. yum repolist MariaDB 설치 yum i..

Node.js + express-session + db(MariaDB/MySQL) 연동 예제 :: 로그인 구현

1. 기본 시작 소스 안내 기본 소스는 branch::ex-auth 에서 시작하며, 완성된 소스는 branch::ex-auth-mysql 입니다. https://github.com/gogoma-code/node-express-auth.git node와 express-session을 활용하는 기본(branch::ex-auth가 만들어지는 과정)은 아래 글을 참고해 주세요. Node.js + express-session :: 프로젝트 생성부터 로그인 구현하기 2. MySQL 예제 테이블 생성 기본적으로 MySQL은 설치가 되어 있다는 가정 하에 진행합니다. SQL 예제 테이블 생성문 /* 만약 test 데이터베이스가 이미 있다면 다른 이름을 사용하세요. */ CREATE DATABASE `test`; USE..

Programming/Node.js 2022.07.11

MariaDB :: root 비밀번호 초기화 방법 (Bitnami 포함)

MariaDB root 비밀번호를 까먹어서 초기화 시켰습니다. 해당 과정을 기록합니다. Windows 10 10.4.24-MariaDB 1. MariaDB 서비스 중지 Bitnami로 MariaDB 설치한 경우 WAMP packaged by Bitnami 실행 후 "MariaDB Database" 클릭 후 Stop 직접 MariaDB 설치한 경우 CMD 열고 아래 명령어를 입력해요. (Bitnami 는 이게 안 될 수도 있어요.) net stop mysqld 이거 안 되면 아래로 하면 99% 멈추게 할 수 있어요. tasklist | findstr "mysql" #mysqld.exe 1376 Services 0 14,952 K mariadb로 검색하시면 안 됩니다. mysql로 검색하셔야 해요. 그 다음..

MacBook M1 에서 사용가능한 MySQL/MariaDB 무료 DB관리 툴(Sequal Ace)

맥북에서 쓰기 편한 무료 DB관리 툴을 찾고 있었는데, 무료에 설치도 쉽고 사용하기도 편한 툴을 찾았습니다. 설치 방법은 패키지 관리자인 Homebrew로 설치하는 방법과, 앱스토어에서 직접 다운받는 방식이 있습니다. 설치 설치방법1: 앱스토어에서 설치하기 이 방법이 제일 쉽긴합니다. 앱스토어 열고 sequal ace 검색하면 바로 나옵니다. 설치방법2: Homebrew로 설치하기 % brew install --cask sequel-ace 참고자료 공식 GitHub: https://github.com/Sequel-Ace/Sequel-Ace

프로그래머스 - 헤비 유저가 소유한 장소 MySQL/Oracle

77487번 문제 코딩테스트 연습 - 헤비 유저가 소유한 장소 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 풀이 공간을 소유한 유저의 아이디 - host_id 공간을 두 개 이상 등록한 사람이 "헤비 유저" 즉, places에 host_id가 2개 이상 있는 사람만 골라내면 됩니다. 풀이1 select a.id, a.name, a.host_id from places a join ( select host_id..

Algorithm/Java 2022.06.17

MySQL :: 테이블 여러 개 한 번에 삭제하기 (delete + join)

delete로는 주로 단일 테이블을 삭제하는데 여러 테이블을 동시에 삭제해야 하는 경우가 있습니다. join 을 이용해 2개 이상의 테이블을 삭제하는 방법을 기록합니다. 단일 테이블 삭제 delete from tableA where table_key = 7또는 delete from a using tableA a where a.table_key = 7다중 테이블 삭제 delete from a using tableA a join tableB b on (a.table_key = b.table_key) where a.table_key = 7where 절에는 a의 값, b의 값 무엇이 들어와도 상관없습니다.

SQL: 웹(Web)에서 SQL 테스트 사이트 / SQL 무설치 테스트 사이트

SQL 설치는 하지 않고 테스트만 진행하고 싶은 경우가 있습니다. 각종 DBMS 테스트 진행이 가능합니다. 사이트 추천 SQL 테스트 사이트 추천 http://sqlfiddle.com/ MySQL, Oracle, PostgreSQL, SQLite 테스트 가능 테이블 생성 가능 그 외 SQL 테스트 사이트 https://sqltest.net/ MySQL, Oracle, MS SQL Server 테스트 가능 테이블 생성 가능 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 9개의 준비된 테이블이 있으며, 별도로 테이블 생성은 불가 SQL_Fiddle 사용법 원하는 DBMS 선택 Build Schema 입력 좌측의 입력 후 Build S..

반응형