MySQL 3

없으면 insert, 있으면 update (ON DUPLICATE KEY UPDATE 활용)

PK 와 동일한 레코드를 insert 하려고 하면 insert 가 아닌 update 를 수행한다. 이 때, update 하고자 하는 대상을 ON DUPLICATE KEY UPDATE 에 적어주었다. +) 다른 예시 위와 같이 수정하고자 하는 항목을 1개든, 2개든 여러개든 수정할만큼 하고 나서 수정버튼을 누르면 위의 DB 내용이 변동사항이 생긴대로 업데이트 해주는 기능을 구현하기를 원했다. 사용자가 실제로 내용 자체를 업데이트 했는가에 상관없이 모든 카테고리와 해당하는 시퀀스들을 담은 리스트를 가져온다. 여기서 포인트는 ON DUPLICATE KEY UPDATE 부분이다. 리스트를 가지고 반복문을 돌리면서 SEQ, CATEGORY 를 insert 하되, 기존에 중복되는 값은 update 되는 방식. 즉,..

MySQL 2020.12.17

MySQL Workbench 맥 단축키(shortcuts)

맥 OS 버튼 ⌘ : command ⌃ : control ⇧ : shift ⌥ : option(alt) ⎋ : esc ⏎ : return(enter) ⇥ : tab 세미콜론(;)으로 분리된 쿼리 실행 ⌘ + Enter 세미클론(;)으로 분리된 쿼리 다중(여러개) 실행 ⌘ + ⇧ + Enter 드레그 영역 쿼리 실행 영역 드레그 + ⌘ + ⇧ + Enter 새로운 쿼리 에디터 열기 ⌘ + T 쿼리를 보기 좋게 정렬 ⌘ + B 쿼리 주석 ⌘ + / 추가 설정 SELECT,FROM 등 키워드 자동완성 대문자로 자동완성 설정은 Workbench preferences > SQL Editor > Query Editor Use UPPERCASE keywords on completion 체크 맨 하단에 SQL Beau..

MySQL 2020.03.24

MySQL 사용법

1. 서버 실행 mysql.server start 2. mysql 접속 sudo mysql (비밀번호 없는 경우) sudo mysql -p (비밀번호 있는 경우) 3. MySQL 비밀번호 설정 set password = password('설정할 비밀번호'); flush privileges; 4. 데이터베이스 생성 create database 데이터베이스이름 default character set utf-8; ex) create database testdb default character set utf-8; 5. 데이터베이스 확인 show databases; 6. 사용할 데이터베이스 선택 use 데이터베이스이름 ex) use testdb 7. 테이블 생성 create table 테이블이름 ( -> 컬럼명 ..

MySQL 2020.03.19