MySQL

ALL

MySQL DB 백업 복원 mysqldump 명령어

MyaSQL 테이블 및 데이터를 백업하고 복원하는 방법을 알아보겠습니다. 우선 MySQL 정보를 아래처럼 정해놓겠습니다. 스키마(DB명) : test_db로그인 유저 : test_user패스워드 : test123복원 스키마(DB명) : dev_db mysqldump 백업 하기 DB를 백업하기 위해서는mysqldump명령어를 사용합니다. DB 서버에 접속해 명령어를 실행합니다. , mysqldump -u로그인 유저 -p'패스워드' 스키마(DB명) > 저장할파일명.sql mysql에 접속할 로그인 유저, 패스워드, 백업하고 싶은 스키마...
ALL

MySQL 날짜 변환 DATE_FORMAT 함수 사용 방법

DATE_FORMAT 함수를 사용하면 날짜를 지정한 포맷으로 변경할 수 있습니다. 날짜 포맷을 변경하는 이유는 SELECT로 데이터를 검색하는 경우 조건 대상이 date 타입의 컬럼이라면 날짜 포맷을 일치시켜주는 것이 정확한 검색 결과를 얻을 수 있습니다. 또는 데이터를 등록하거나 변경하는 경우에도 값을 지정한 컬럼이 date 타입이라면 날짜 형태로 변경해 값을 등록하는 것이 정확한 날짜 값으로 들어갑니다. DATE_FORMAT 사용 방법 날짜 포맷을 변경해주는DATE_FORMAT함수 사용방법을 알아보겠습니다. DATE_FORMAT...
ALL

MySQL 형변환 CAST 함수 CONVERT 함수 사용 방법

CAST 함수 또는 CONVERT 함수를 사용하여 데이터 형변환을 할 수 있습니다. SELECT로 검색을 하는 경우 또는 INSET, UPDATE로 칼럼에 값을 넣어야 하는 경우 설정한 데이터 타입에 맞춰서 넣어줘야 하는 경우 형변환 함수를 사용합니다. CAST / CONVERT 함수 사용 방법 CAST 함수를 사용하면 지정한 값을 다른 테이터 타입으로 변환할 수 있습니다. CAST(exprAStype) CONVERT 함수도 지정한 값을 다른 테이터 타입으로 변환하고 싶을 때 사용합니다. CONVERT(expr, type) expr...
ALL

MySQL 테이블 사용 용량 확인 쿼리 DB 총용량 확인

MySQL 테이블 사용 용량 확인 방법입니다. 자주 사용은 안해서인지 자주 잊어버려서 메모겸 남겨둡니다. DB 용량 확인 SELECT      table_schema, sum(data_length) /1024/1024 AS mb  FROM      information_schema.tables   GROUP BY      table_schema  ORDER BY            sum(data_length+index_length) DESC; Table 사용 용량 확인 SELECT       table_name, engine, t...
ALL

MySQL 문자 결합(CONCAT,IFNULL) NULL 항목이 있는 경우 예제

CONCAT을 사용하여 문자 결합을 할때 결합 하는 값중 NULL이 있을경우 예상히 못한 결과를 얻는 경우도 있습니다. 예를 들어 아래와 같은 테이블이 있다고 가정하겠습니다. 테이블 이름은 test_table 이라고 정하겠습니다. id    col_a        col_b        col_c --------------------------------------------- 1 a     b            c 2 a         b            NULL 3 a         NULL         c 테이블에는 c...
ALL

MySQL 실행한 SQL 쿼리 이력을 확인하는 방법

MySQL에서 실행했던 쿼리의 이력을 확인하는 방법입니다. 실행중인 쿼리 확인 mysql> show full processlist\G; 실행 했던 쿼리 이력 확인 mysql> select * from INFORMATION_SCHEMA.PROCESSLIST order by id desc limit 10\G; 종류내용Id접속 식별자User쿼리를 실행한 유저Host쿼리를 실행한 호스트db데이터 베이스 명Command커맨드 종류Query, Connect, Sleep 등Time현재의 상태가 지속되고 있는 시간State커맨드 상태Info쿼리문...
ALL

MySQL 자주 사용하는 문자열 함수

MySQL에서 쿼리를 작성하거나 프로시저를 사용할때 문자열에 관한 함수들을 많이 사용합니다. 그 중에서도 문자열을 결합하거나, 문자열을 자르는 작업이 많습니다. 문자열에 대해 많이 사용되는 함수들을 간단하게 살펴보겠습니다. CONCAT 문자열 결합 SELECT CONCAT('Ma', 'ria', 'DB'); -- 'MariaDB' SUBSTRING 문자열을 지정한 위치에서 잘름 앞에서 6번째 이후 문자열 취득 SELECT SUBSTRING('Knowledgebase' FROM 5); -- 'edgebase' SELECT SUBSTR...
ALL

MySQL 인덱스 설정 방법과 실행 계획 확인 방법

데이터베이스에 테이블을 작성할때 인덱스를 적절하게 설정을 해줘야합니다. 인덱스 설정을 안하거나 너무 많이 하는경우에는 데이터베이스 성능에 영향을 주게 됩니다. 또는 데이터베이스가 있는 서버에 부하가 걸리기도 합니다. 인덱스를 작성해줘야 하는 이유 테이블 내 데이터양이 많고 조건 검색을 하는 경우. WHERE문 조건, 결합 조검, ORDER BY문을 이용하는 경우. NULL값이 많은 데이터로 부터 NULL이외의 값을 검색하는 경우. 인덱스를 작성할 필요가 없는 경우 테이블의 규모가 작고 테이블 전체를 표시하는 경우. 열의 값이 자주 ...
ALL

MySQL 기본키(PRIMARY KEY) 유니크키(UNIQUE KEY) 생서 및 추가 삭제 방법

테이블에 기본키 또는 유니크키를 작성하는 방법을 알아보겠습니다.기본키와 유니크키는 테이블을 생성할때 작성을할 수 있습니다.또는 테이블을 먼저 생성한 후에 기본키 또는 유니크키를 추가할 수 있습니다. 테이블을 생성할때 작성하는 방법과 테이블 작성후에 추가하는 명령어는 다릅니다.두 방법을 모두 확인해보도록 하겠습니다. 기본키(PRIMARY KEY) 테이블 생성시 CREATE TABLE table_name ( column1 int(11), column2 int(11), PRIMARY KEY (column1, column2) ) 추가 하는...