MariaDB 10.4+에서는 기존의 UPDATE user SET password = password('new-password') WHERE user = 'root';
방식으로는 패스워드 설정이 되지 않습니다. 이는 해당 글의 답변 내용처럼 mysql.user가 더 이상 테이블이 아니라 뷰가 되었기 때문입니다. 따라서 아래와 같은 방식으로 root 패스워드를 설정할 수 있습니다.
$ mysql # 접속
MariaDB [(none)]> use mysql # mysql DB 사용
set password for 'root'@'localhost' = PASSWORD('new-password');
문자 데이터는 고정 길이 또는 가변 길이 문자열로 저장될 수 있습니다. 고정 길이 문자열은 최대 길이보다 짧은 문자열에 대해서 공백으로 오른쪽을 채워 항상 동일한 수의 바이트를 사용하지만, 가변 길이 문자열은 공백으로 채우는 방법을 사용하지 않아 가변적인 바이트를 사용한다는 차이가 있습니다.
char(20)
과 같은 방식으로 정의varchar(20)
과 같은 방식으로 정의varchar 열에 64KB 제한을 초과하는 데이터를 저장하려면 텍스트 자료형 중 하나를 사용해야 합니다. 텍스트 자료형의 예시는 아래와 같습니다.
자료형 | 최대 바이트 크기 |
---|---|
tinytext | 255 |
text | 65,535 |
mediumtext | 16,777,215 |
longtext | 4,294,967,295 |
정수 자료형은 signed 또는 unsigned의 부호 키워드를 붙여 부호의 여부를 포함하여 생성 할 수 있습니다. 아래는 정수 저장 시 사용되는 5가지 자료형의 예시입니다.
자료형 | 부호 있는 정수 저장값의 범위 | 부호 없는 정수 저장값의 범위 |
---|---|---|
tinyint | -128 ~ 127 | 0 ~ 255 |
smallint | -32,768 ~ 32,767 | 0 ~ 65,535 |
mediumint | -8,388,608 ~ 8,388,607 | 0 ~ 16,777,215 |
int | -2,147,483,648 ~ 2,147,483,647 | 0 ~ 4,294,967,295 |
long | -2E+63 ~ 2E+63 - 1 | 0 ~ 2E+64 - 1 |
부동소수점 자료형에서는 필요에 따라 정밀도와 척도를 설정할 수 있습니다.
부동소수점 저장 시 사용되는 자료형은 아래와 같습니다.
자료형 | 숫자 범위 |
---|---|
float(p,s) | 음수 범위: -3.402823466E+38 ~ -1.175494351E-38 양수 범위: 1.175494351E-38 ~ 3.402823466E+38 |
double(p,s) | 음수 범위: -1.7976931348623157E+308 ~ -2.2250738585072014E-308 양수 범위: 2.2250738585072014E-308 ~ 1.7976931348623157E+308 |
부동소수점 열에도 unsigned 키워드를 정의할 수 있지만, 이는 데이터 범위를 변경하지는 않고 단지 음수가 저장되지 않도록 방지하는 역할만 합니다.
MySQL에서 지원하는 시간 자료형은 아래와 같습니다. 각 자료형은 기본 형식을 가지고 있으며, 검색 결과는 이 형식에 맞춰 제공됩니다. (삽입이나 업데이트 시에도 해당 형식을 활용해야 합니다.) 특별히 datetime, timestamp, time 자료형에서는 소수점 이하 6자리까지 사용할 수 있는데, 이 때 datetime(2)
와 같이 표기하여 사용할 소수점 범위를 정할 수 있습니다.
자료형 | 기본 형식 | 허용값 |
---|---|---|
date | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
datetime | YYYY-MM-DD HH:MI:SS | 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 |
timestamp | YYYY-MM-DD HH:MI:SS | 1970-01-01 00:00:00.000000 ~ 2038-01-18 22:14:07.999999 |
year | YYYY | 1901 ~ 2155 |
time | HHH:MI:SS | -838:59.59.000000 ~ 838:59:59.000000 |
이 글 및 이와 관련된 앞으로의 글의 모든 내용은 한빛미디어의 러닝 SQL의 내용을 공부하며 요약한 것입니다.