mysql 16

[삽잡이::sql] 데이터를 다른 테이블에 INSERT하자! INSERT INTO SELECT

INSERT INTO SELECT 구문은 한 테이블로부터 데이터를 복사하여 다른 테이블에 값을 Insert할 때 사용합니다. 단, 조건이 있지요.복사를 하기 위해서는 두 테이블에 존재하는 컬럼들이 같아야합니다. 123456789INSERT INTO sap_db_A SELECT * FROM sap_db_B WHERE name = "삽잡이" cs 이런식으로 sap_db_A 라는 Table에 sap_db_B Table에 있는 레코드들 중 name이 삽잡이인 레코드를 INSERT 할 수 있습니다. 물론, 모두 동일하지 않더라고 INSERT INTO SELECT 구문 사용이 가능합니다. 123456789INSERT INTO sap_db_A (idx, name, age, sex) SELECT idx, name, a..

[삽잡이::sql] 없으면 Insert 있으면 Update! DUPLICATE ON KEY UPDATE

기존에 값이 있는 레코드를 중복해서 Insert 하게 되면 어떻게 될까요!? 저는 스포츠를 좋아하니까!축구로 예를 들어봅시다. 슛~ 골은 나의 친구~ 자... 명문구단 삽질 FC 에서 '삽질'이라는 이름의 선수를 영입했습니다.포지션은 공격수이고, 아주 유능한 선수 같습니다. 이 선수가 입단하면서 자기는 에이스가 될 것이니등번호를 10번으로 받겠다고 합니다. 멋도 모르고 알겠다고 했습니다.그리고 선수 등록을 위해 DB에 등록을 시도했습니다. 그리고 느끼죠.... 우리에게 친숙한....그래 맞습니다. ERROR... 오류코드가 1062 입니다.그리고 그 아래를 보시면 Duplicate entry '10' for key 'PRIMARY' 라는 Error 발생 이유가 찍혀있습니다. 등번호는 삽질 FC에서 유일성..

[삽잡이::sql] Table의 Index를 살펴보자! SHOW INDEX

DB에서 원하는 데이터를 추출하기 위해서Query문을 작성합니다. 이 때 대용량으로 데이터를 가져온다고 생각해봅시다.여러 테이블들을 join 하고 sub로 두고 웩~ 조금이나마 빠르게 Query문을 수행하기 위해서index의 중요성을 지난번에 언급한 적이 있었습니다. 이 테이블에서의 Index 정보를 확인하겠다! 할 때에는과감하게 SHOW INDEX 을 사용하십시요 index에 대한 정보가 잘 나옵니다. SHOW INDEX returns table index information. The format resembles that of the SQLStatistics call in ODBC. This statement requires some privilege for any column in the tabl..

[삽잡이::sql] 내가 작성한 Query는 어떻게 실행되려나... EXPLAIN !

EXPLAIN is used to obtain a query execution plan (that is, an explanation of how MySQL would execute a query).(출처_ MySQL) EXPLAIN은 쿼리 실행에 대한 계획을 알고 싶을 때 사용합니다.우와 삽잡이~~ 영어좀 하는데~~~ 하하하... 혼자놀기... 어떻게 DB가 실행될지 즉, 어떻게 Data를 가져올지에 대한 실행 계획을 확인할 수 있다는 것입니다. MySQL에서는 쿼리 옵티마이저(Optimizer)를 통해 빠르고 효율적으로 수행할 Query를 만들기 위해 최적화 작업을 시행합니다.이에 잘 구조화 된 SQL Query를 작성하여 Query문 변경 없이 잘! 사용하면 DBMS의 내부 엔진에 있는 옵티마이저가 ..

[삽잡이::sql] 여러 테이블을 가지고 놀자! JOIN

관계형 DB를 가지고 놀 때(?)하나의 테이블을 통해서 데이터를 가공하고 추출하는 경우도 있지만, 여러 테이블들과 Join하여 데이터를 가공하여 추출해야할 때가 있습니다. 데이터를 얻기 위해 하나의 테이블만으로는 부족할 수가 있기 때문입니다. 다들 아시는 영어 단어입니다.join~ 너와 나의 연결 고리 예 그렇습니다 JOIN 입니다~ 여러분~ 둘이 합쳐서 이쁜 데이터를 추출합니다~ SQL에서 JOIN은 '집합'으로 바라보시고 이해하시면 쉽습니다! 집합이라면, 교집합, 합집합 이런거겠구나!!! 우선 INNER JOIN에 대해서 알아봅시다. 여기... 삽질의 명성! 삽질과에 학부 명단이 있습니다. 이번에 삽질 평가를 했는데, 제대로 삽질을 하지 못한 F 학점을 받은 학생들을 추리려합니다. 아이고 '화석' 님..

[삽잡이::sql] 데이터베이스를 편하게 관리하고 다루자! SQLyog

MySQL과 같은 데이터베이스를 사용해보신 분들은 CMD 창을 사용해보셨을 것입니다. 그런데, 아주 이쁘게! DB를 관리하고 조작하는 등등을 도와주는 프로그램 친구를 소개해드리려고 합니다. 안녕 난 SQLyog라는 프로그램이야. 돌고래같이 생겼지우와 돌고래 아니니? 아니야 ^^;; 나를 잘 알고 싶으면 공식 사이트(https://www.webyog.com/)를 확인해볼래? 난 MySQL 서버의 데이터들을 관리하고 모니터링 할 수 있는 Tool이야! 너 참 좋은 녀석이구나!? 설치를 하게 되면 이와 같은 화면이 반겨줄 것입니다. DB 안의 Data를 사용하기 위해서는 DB 저장소가 어디있는지 명시해줘야겠지요.또한, 관리하기 위해 사용자 이름과 비밀번호 등이 필요할 것입니다. 이런식으로 Query문을 작성하..