데이터베이스/MySQL
-
[MySQL] 테이블 구조와 데이터 복사 (Table Structure and Data Copy)데이터베이스/MySQL 2019. 1. 29. 14:58
▶MySQL 테이블 구조와 데이터 복사 (Table Structure and Data Copy) ▶설명 현재 생성된 테이블을 복사하는 방법에 대해서 정리하도록 하겠습니다. 이 글에서는 총 4가지를 설명하도록 하겠습니다. 테이블에 구조만 복사하여 테이블 생성 테이블에 구조와 데이터를 복사하여 테이블 생성 테이블에 데이터만 복사하여 입력 테이블 생성 쿼리 [참고] [MySQL] SHOW 명령어 : https://extbrain.tistory.com/59 ▶사용법 테이블 구조 복사 CREATE TABLE IF NOT EXISTS `복사 테이블` LIKE `원본 테이블`; 원본 테이블 구조를 복사하여 복사 테이블로 만듭니다. IF NOT EXISTS를 통해 이미 테이블이 존재하면 복사하지 않습니다. ※ IF N..
-
[MySQL] 범주 조회 (DISTINCT)데이터베이스/MySQL 2019. 1. 19. 19:54
▶MySQL 범주 조회 (DISTINCT) ▶설명 MySQL에서 범주를 확인할 때 SELECT DISTINCT를 사용하는 것입니다. 하나, 예를 들어보겠습니다. 테이블에 카테고리라는 컬럼이 존재할 때, 이 카테고리 값이 테이블에 몇 종류가 있는지 알고 싶습니다. 그러면 카테고리를 조회할 때 이 값이 중복되면 안되기 때문에 DISTINCT를 사용합니다. 그럼 이제 기본적인 사용법을 정리하도록 하겠습니다. ▶사용법 컬럼 범주 조회 SELECT DISTINCT 컬럼 FROM 테이블; 조건 처리 후에 컬럼 범주 조회 SELECT DISTINCT 컬럼 FROM 테이블 WHERE 조건식; 컬럼 범주 개수 조회 SELECT COUNT(DISTINCT 컬럼) FROM 테이블; ▶예제 쿼리 (Example Query) ..
-
[MySQL] 시프트 연산자 (Shift Operator)데이터베이스/MySQL 2018. 11. 16. 11:00
▶MySQL 시프트 연산자 (Shift Operator) ▶설명 MySQL에서 사용할 수 있는 시프트 연산자를 간단하게 정리하였습니다.MySQL 5.5 Reference 기준으로 작성하였습니다. MySQL 5.5 Referrence : https://dev.mysql.com/doc/refman/5.5/en/bit-functions.html ▶시프트 연산자 (Shift Operator) (오른쪽) 결과는 UInt64(Unsigned 64-bit integer)입니다. 결과가 해당 범위를 벋어나면 0을 반환합니다. 코드 SELECT 4 >> 2; 결과 1
-
[MySQL] 쿼리 로그 확인데이터베이스/MySQL 2018. 11. 2. 11:18
▶MySQL 쿼리 로그 확인 ▶설명 프로그램에서 사용한 MySQL 쿼리를 확인하고 싶을 때 사용하는 방법입니다. 아래의 방법은 일시적으로 조회할 수 있게 해주는 방법입니다. 영구적으로 적용하기 위해서는 설정 파일을 변경해야하고, 좋지 않기 때문에 기록하지 않았습니다. ▶방법 Step.1 로그 입력 방식 확인 SELECT @@GLOBAL.log_output; 보통 FILE로 설정되어 있습니다. Step.2 General Log 사용 여부 확인 SELECT @@GLOBAL.general_log; 보통 0 또는 OFF 로 설정되어 있습니다. Step.3 로그 입력 방식 변경 SET GLOBAL log_output = 'table'; 로그를 테이블에 입력하도록 변경합니다. Step.4 General Log 활성..
-
[MySQL] 테이블, 컬럼 코멘트(Comment) 조회데이터베이스/MySQL 2018. 11. 2. 10:46
▶MySQL 테이블, 컬럼 코멘트(Comment) 조회 ▶설명 MySQL에서 테이블과 컬럼에 작성되어 있는 코멘트를 조회할 수 있는 방법을 기록했습니다. ▶테이블 코멘트(Comment) 조회 DB 전체 테이블 코멘트 조회 SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = 'DB 이름' AND table_name = '테이블 이름'; DB 특정 테이블 코멘트 조회 SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = 'DB 이름' AND table_name = '테이블 이름'; ▶컬럼 코멘트(Comment) ..
-
[MySQL] 중복 키 관리 방법데이터베이스/MySQL 2018. 10. 31. 11:28
▶MySQL 중복 키 관리 방법 ▶설명 MySQL에서 중복 키 관리 방법은 총 3가지가 있습니다. INSERT IGNORE REPLACE INTO ... INSERT INTO ... ON DUPLICATE 자주 까먹는 부분이라서 한 번 정리해보기로 했습니다. 출처 : http://jason-heo.github.io/mysql/2014/03/05/manage-dup-key2.html ▶예제 테이블 (heroes) idx name 1 이순신 2 안중근 CREATE TABLE `heroes` ( `idx` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, PRIMARY KEY (`idx`), UNIQUE KEY `idx_name` (..
-
[MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)데이터베이스/MySQL 2018. 3. 28. 11:03
▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수입니다. 이 외에도 차이를 연, 분기, 월, 주, 일, 시, 분, 초를 지정하여 가져올 때 사용하는 함수가 TIMESTAMPDIFF 함수입니다. ▶사용법 DATEDIFF DATEDIFF(날짜1, 날짜2); * 간단히 말하자면 날짜1 - 날짜2 동작입니다. TIMESTAMPDIFF TIMESTAMPDIFF(단위, 날짜1, 날짜2); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR :..
-
[MySQL] DELETE LEFT JOIN데이터베이스/MySQL 2018. 2. 8. 14:59
▶MySQL DELETE LEFT JOIN ▶설명 하나의 쿼리로 다수의 테이블에 있는 데이터를 삭제할 수 있는 방법이 있습니다. DELETE와 LEFT JOIN을 사용하는 방법 입니다. [참고] ▶사용법 테이블1에 데이터만 삭제 DELETE a FROM table1 a LEFT JOIN table2 b ON ... 테이블1, 2에 데이터 삭제 DELETE a, b FROM table1 a LEFT JOIN table2 b ON ... 테이블2에 데이터만 삭제 DELETE b FROM table1 a LEFT JOIN table2 b ON ...
-
[MySQL] 숫자 관련 함수데이터베이스/MySQL 2018. 1. 24. 12:05
▶MySQL 숫자 관련 함수 ▶설명 MySQL에서 숫자와 관련된 함수를 정리하도록 하겠습니다. ▶사용법 ABS (절대값) 숫자에 절대값을 가져오는 함수 ABS(숫자) CEILING (소수점 올림) 값보다 큰 정수 중 가장 작은 수를 가져오는 함수 CEILING(숫자) FLOOR (소수점 버림) 값보다 작은 정수 중 가장 큰 수를 가져오는 함수 (소수점 버림) FLOOR(숫자) ROUND (소수점 반올림) 숫자를 소수점 이하 자릿수를 남기고 반올림하는 함수 ROUND(숫자, 자릿수) 자릿수를 생략하면 소숫점이 5이상일 때 반올림 자릿수가 0으로 지정하면 소숫점에서 반올림 자릿수를 양수로 지정하면 해당하는 자릿수에서 반올림 자릿수가 음수인 경우 소숫점 이하를 버리고 정수에 뒤에서부터 지정된 자릿수까지 반올림..