MySQL, mariaDB에서 테이블 컬럼의 크기 변경방법

MySQL, mariaDB에서 테이블 컬럼의 크기 변경방법



데이터베이스 작업을 하다보면 새로 작성한 테이블의 컬럼 크기가 작어서 오류가 나거나 문제가 발생하는 경우가 발생합니다. 이런경우 어떻게 컬럼의 크기를 변경하는지 알아보도록 하겠습니다.



alter table 테이블명 modify 컬럼명 varchar(크기);



alter table news_list modify link VARCHAR(300) ;



위와 같이 정상적으로 컬럼의 크기가 300으로 변경된것을 확인할수 있습니다.


테이블에서 컬럼의 크기를 잘못계산한경우 위와같은 방법을 사용해서 변경하면 됩니다.



오늘은 테이블에서 컬럼의 크기를 잘못 만들어진 경우 해당 컬럼의 크기를 변경하는 방법에 대해서 알아보았습니다.



MySQL 문자열 자르기 함수

MySQL 문자열 자르기 함수



1. 왼쪽에서 문자열 자르기


left(컬럼명 또는 문자열, 왼쪽에서 잘라낼 문자열의 길이)

사용예 : SELECT left(“w3devlabs.net”, 5)
결과 : w3dev



사용예 : SELECT left(“w3devlabs.net”, 8)
결과 : w3devlab



사용예 : SELECT left(“20180323”, 4)
결과 : 2018



사용예 : SELECT left(“20180323”, 6)
결과 : 201803


2. 중간에서 문자열 자르기


substring(컬럼 또는 문자열, 시작위치, 길이);

사용예 : SELECT substring(“w3devlabs.net”, 3, 5)
결과 : devla



사용예 : SELECT substring(“w3devlabs.net”, 1, 5)
결과 : w3dev



사용예 : SELECT substring(“20180323”, 1, 4)
결과 : 2018



사용예 : SELECT substring(“20180323”, 1, 6)
결과 : 201803



사용예 : SELECT substring(“20180323”, 5, 2)
결과 : 03



참고 : substr 함수는 문자열의 일부를 추출하는 함수로 substring 함수의 동의어입니다


3. 오른쪽에서 문자열 자르기

right(컬럼명 또는 문자열, 길이);

사용예 : SELECT right(“w3devlabs.net”, 7)
결과 : lab.net



사용예 : SELECT right(“w3devlabs.net”, 3)
결과 : net



사용예 : SELECT right(“20180323”, 4)
결과 : 0323



사용예 : SELECT right(“20180323”, 2)
결과 : 23




4. 구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴.

SUBSTRING_INDEX(str,delim,count)

구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴한다.
만일 count 가 양수 (positive)라면, 마지막 구분자의 왼쪽에 있는 모든 것들이 리턴된다.
(왼쪽부터 계산이 됨). 만일 count 가 음수일 경우에는, 마지막 구분자의 오른쪽에 있는 모든 것들이 리턴된다 (오른쪽부터 계산됨).
SUBSTRING_INDEX()는 delim에 대한 검색을 할 때 문자의 크기를 구분한다.

사용예 : SELECT SUBSTRING_INDEX(‘www.w3devlabs.net’, ‘.’, 2);
결과 : www.w3devlabs



사용예 : SELECT SUBSTRING_INDEX(‘www.w3devlabs.net’, ‘.’, -2);
결과 : w3devlabs.net



사용예 : SELECT SUBSTRING_INDEX(‘admin@w3devlabs.net’, ‘@’, -1)
결과 : w3devlabs.net



사용예 : SELECT SUBSTRING_INDEX(‘admin@w3devlabs.net’, ‘@’, 1)
결과 : admin



이 함수는 다중 바이트를 지원한다.