markdown [MySQL]데이터타입

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown [MySQL]데이터타입相关的知识,希望对你有一定的参考价值。

## CHAR 데이터 타입

CHAR와 VARCHAR(VARiable length CHARacter string)은 모두 텍스트 문자열을 허용하고, 필드의 크기를 제한한다.
두 타입의 차이점은 CHAR 필드의 모든 문자열은 크기가 정해진다는 것. 즉 더 작은 문자열을 입력하면 공백으로 채워진다.
반면 VARCHAR의 경우, 텍스트를 채우지 않으며, 입력한 텍스트 크기에 맞게 가변적으로 크기를 가진다.
그러나, VARCHAR는 각 값의 크기를 추적할 수 있는 약간의 오버헤드가 필요하기 때문에 **모든 데이터의 크기**가 비슷하다면,
CHAR가 더 효율적이다.

|      TYPE      |    사용되는 바이트   |                                   속성                                  |
|:--------------:|:--------------------:|:-----------------------------------------------------------------------:|
|     CHAR(n)    |   정확히 n (<=255)   |    CHAR(5) 'Hello'는 5바이트 사용<br>CHAR(50) 'Hello'는 50바이트 사용   |
|   VARCHAR(n)   | 최대 n 까지(<=65535) | VARCHAR(100)'Hello'는 5바이트 사용<br>VARCHAR(5) 'Hello'는 5바이트 사용 |

<br>

## BINARY 데이터 타입 

BINARY 데이터 타입은 관련된 문자 세트가 없는 문자의 전체 바이트를 저장하는데 사용된다.
예를 들면 GIF 이미지를 저장하는데 사용할 수 있다.

|            TYPE            |    사용되는 바이트   |                 속성                 |
|:--------------------------:|:--------------------:|:------------------------------------:|
|   BINARY(n) 혹은 BYTE(n)   |   정확히 n (<=255)   |   CHAR이지만 바이너리 데이터를 가짐  |
|        VARBINARY(n)        | 최대 n 까지(<=65535) | VARCHAR이지만 바이너리 데이터를 가짐 |

<br>

## TEXT와 VARCHAR 데이터 타입

TEXT와 VARCHAR에는 작은 차이점이 있다. 

> TEXT 필드는 기본 값을 가질 수 없다. 
> MySQL은 TEXT 열의 처음 **n개**의 문자만 인덱싱 할 수 있다. 

이것은, 만약 전체 내용을 검색할 때는 VARCHAR이 더 알맞고, 빠르다는 것이다.

|        TYPE       |    사용되는 바이트    |      속성     |
|:-----------------:|:---------------------:|:-------------:|
|    TINYTEXT(n)    |     최대 n (<=255)    | 문자열로 취급 |
|      TEXT(n)      |    최대 n (<=65535)   | 문자열로 취급 |
|   MEDIUMTEXT(n)   |  최대 n (<=16777215)  | 문자열로 취급 |
|    LONGTEXT(n)    | 최대 n (<=4294967295) | 문자열로 취급 |

<br>

## BLOB 데이터 타입

BLOB(Binary Large OBject)는 65535 바이트를 넘는 바이너리 데이터에 유용하며, 기본 값을 가질 수 없다.

|      TYPE     |    사용되는 바이트    |          속성          |
|:-------------:|:---------------------:|:----------------------:|
|  TINYBLOB(n)  |     최대 n (<=255)    | 바이너리 데이터로 취급 |
|    BLOB(n)    |    최대 n (<=65535)   | 바이너리 데이터로 취급 |
| MEDIUMBLOB(n) |  최대 n (<=16777215)  | 바이너리 데이터로 취급 |
|  LONGBLOB(n)  | 최대 n (<=4294967295) | 바이너리 데이터로 취급 |

<br>

## 숫자형 데이터 타입

|      TYPE      | 사용되는 바이트 |  최소 값<br>(signed/unsigned) |         최대 값<br>(signed/unsigned)        |
|:--------------:|:---------------:|:-----------------------------:|:-------------------------------------------:|
|     TINYINT    |        1        |           -128<br>0           |                  127<br>255                 |
|    SMALLINT    |        2        |          -32768<br>0          |                32767<br>65535               |
|    MEDIUMINT   |        3        |         -8388608<br>0         |             8388607<br>16777215             |
| INT or INTEGER |        4        |        -2147483648<br>0       |           2147483647<br>4294967295          |
|     BIGINT     |        8        |   -9223372036854775808<br>0   | 9223372036854775807<br>18446744073709551615 |
|      FLOAT     |        4        |   -3.40E+45<br>(no unsigned)  |          3.40E+45<br>(no unsigned)          |
| DOUBLE or REAL |        8        | -1.7976E+320<br>(no unsigned) |         1.7976E+320<br>(no unsigned)        |



以上是关于markdown [MySQL]데이터타입的主要内容,如果未能解决你的问题,请参考以下文章

sql mysql맥에서파일로데이터넣기(file into mysql)

markdown 문자열타입변환:USES_CONVERSION

markdown 제네레이터#python #tutorial

如何在fullCalendar中使用addEventSource注册事件?

javascript 고도몰이나기타솔루션사에서모바일주문내기더보기버튼눌렀을때리뷰작성버튼에링크붙여주는스크립트

天水訟 (易經大意 韓長庚)