본문 바로가기
반응형

SQL/MySQL66

MySQL REPLACE INTO 문 사용방법 및 예제 MySQL에서 REPLACE INTO는 INSERT 와 UPDATE 용도로 사용할 수 있는데 INSERT 용도로 사용 시에는 REPLACE INTO 테이블명(컬럼명) VALUES(값); 이렇게 사용해주면 되는데 위 스크린샷과 같이 아무 값도 없을 경우에는 쿼리 수행 시 INSERT가 되지만 KEY는 동일하게 유지한 채 타 컬럼값만 바꿔주고 쿼리 수행 후 SELECT를 해 보니 이전 KEY가 들어있던 ROW가 삭제된 후 내가 REPLACE 부분에 작성한 ROW가 신규로 들어가게 된다 다음으로 UPDATE 용도로 사용할 시에는 REPLACE INTO 테이블명 SET 컬럼명 = 값; 이렇게 사용하는데 여기서 중요한 점은 WHERE을 사용할 수 없다!! REPLACE INTO를 UPDATE 용도로 사용 시 SE.. 2021. 2. 19.
MySQL GROUP BY HAVING 사용방법 MySQL에서 GROUP BY는 컬럼을 GROUP 으로 묶을 때 사용하는데 위 예제를 보면 COUNTRYCODE를 GROUP BY로 묶어주니 데이터가 COUNTRYCODE 기준으로 묶이는 것이 보인다 여기에 COUNT, SUM, AVG 등의 집계 함수를 같이 사용해주면 특정 그룹 별로 갯수, 합계, 평균 등을 쉽게 구할 수 있다 다음은 HAVING인데 GROUP BY 사용 시에는 집계 함수에 조건을 사용할 경우 WHERE 안에 넣는 것이 아닌 GROUP BY 밑에 HAVING을 넣고 HAVING에 조건을 넣어주는 식으로 사용하게 된다 마지막으로 예제에 사용한 쿼리는 아래와 같다 -- GROUP BY 예제 SELECT NAME, COUNTRYCODE, AVG(POPULATION) FROM CITY GROU.. 2021. 2. 8.
MySQL 인덱스 조회 생성 수정 삭제 및 타는지 확인방법 MySQL에서 인덱스는 테이블을 빨리 조회하기 위해 테이블 데이터에 포인터를 주는 것인데 인덱스는 책의 목차와도 같아서 특정 컬럼에 인덱스를 지정해주면 테이블 조회 시 인덱스를 이용해 빠르게 조회할 수 있게 된다 하지만 그렇다고 인덱스를 도배하면 금방 찾을거 인덱스를 사용해 찾느라 더 느려지게 되고 컬럼 값에 NULL이 많이 들어가는 경우에도 인덱스를 사용하면 오히려 역효과가 난다 대체적으로 INDEX는 테이블에 데이터 양이 엄청나게 많을 경우 주로 사용하는데 여기서 지나치게 많은 INDEX를 지정하거나 NULL이 많은 컬럼, 삽입 수정이 자주 이루어지는 테이블에는 INDEX 사용을 지양하는 것이 좋다 인덱스에 관한 자세한 내용은 아래 링크의 글을 확인해주면 되고 SQL에서 인덱스가 필요한 이유 SQL에.. 2021. 2. 3.
MySQL 프로시저(Procedure) 만들기부터 실행 확인까지 MySQL에서 프로시저(Procedure)를 사용해 주면 여러 쿼리를 프로시저 하나로 실행시킬 수 있는데 함수(Function)와 비교해 보자면 함수는 쿼리를 수행한 후 값을 가져오는 것이 중점이지만 프로시저는 여러 쿼리를 한번에 수행하는 것이 중점이다 MySQL 함수(Function) 만들기부터 조회까지 정리글 MySQL에서 함수는 MySQL Workbench 왼쪽의 Functions 우클릭 후 Create Function을 눌러 만들 수 있는데 함수를 작성하기에 앞서 아래 글을 보고 함수 생성과 실행 권한을 줘야한다 MySQL 함수 프로시저 생성 변 wakestand.tistory.com 프로시저를 생성하기에 앞서 MySQL에 프로시저 생성 권한을 줬는지 확인하고 MySQL 함수 프로시저 생성 변경 .. 2021. 2. 2.
MySQL 스키마별 전체 테이블 행(ROW) 갯수 확인방법 MySQL에서 스키마에 대한 정보는 INFORMATION_SCHEMA.TABLES 안에 들어있는데 여기서 TABLE_ROWS 컬럼에 해당 테이블에 몇 행이 삽입되어 있는지 나오므로 ORDER BY TABLES_ROWS DESC를 사용해 주면 행(ROW)이 많은 테이블 순으로 정렬이 가능하다 쿼리는 아래를 참고해주면 된다 SELECT TABLE_NAME, TABLE_COMMENT, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '스키마명' ORDER BY TABLE_ROWS DESC 2021. 2. 1.
MySQL 함수(Function) 만들기부터 조회까지 정리글 MySQL에서 함수는 MySQL Workbench 왼쪽의 Functions 우클릭 후 Create Function을 눌러 만들 수 있는데 함수를 작성하기에 앞서 아래 글을 보고 함수 생성과 실행 권한을 줘야한다 MySQL 함수 프로시저 생성 변경 불가능한 현상 해결방법 MySQL에서 프로시저(Procedure) 함수(Function) 등을 만드는 경우 ERROR 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging.. wakestand.tistory.com 함수는 파라미터를 받아 쿼리를 수행한 뒤 특정 값을 반환하는 것이 주 목적인데 실제 업무에서 가장 많이 볼.. 2021. 1. 25.

반응형