TODAY : / TOTAL :

[MYSQL] 데이터 타입

  • Share this:
반응형
* 숫자형
 - 참 값
 @ TINYINT(1) , SMALLINT(2) , MEDIUMINT(3) , INT(4) , BIGINT(8)
 @ DECIMAL (가변 크기) - [ 바이트 단위로  2진수 데이터 저장 ]
 Ex) DECIMAL(12)  => 0001 0010
 Ex) 실수 저장 :: DECIMAL(5,3) 

- 근사 값 [ equal 을 통한 비교 불가능 ]
 @ FLOAT(4) , DOUBLE(8)


Ex)
create table test01(name char(5), score int, fscore, float);  [ 해당 정보의 테이블 생성 ]

insert into test01 values('aaa' , 34 , 12.34);  [ 데이터 삽입 ]

alter table test01 modify fscore decimal(5,1) [ fscore를소수점1자리를 가지는 변수데이터로 변경 ]

select * from test01;   => fscore 12.34  => 12.3 으로 변경된것을 확인. 반올림한 데이터가 반영 됨을 알수 있음.

insert into test01 values('aaa' , 34, 12.34);  [ 데이터 삽입 ]

alter table test01 modify score tinyint(5); [ 5자리 형식의 tinyInt형 데이터로 변경]
 => tinyint 는 1바이트 이므로 최대 255까지 표현 가능.
=> 결과 : score 34

alter table test01 modify score tinyint(5) zerofill;   :: [ score 데이터의 빈자리를 0으로 채움 ]
=> 결과 : score : 00034



* 텍스트 비교
insert into test01 values('     aaa' , 34, 12.34);  [ 데이터 삽입 ]
insert into test01 values('aaa     ' , 34, 12.34);  [ 데이터 삽입 ]
insert into test01 values(' aaa    ' , 34, 12.34);  [ 데이터 삽입 ]

select 'aaa   '='aaa     ';
=> 결과 : 1 (TRUE)

select '     aaa'='aaa     ';
=> 결과 : 0 ( FALSE )

select 'aaa       ' like 'aaa   ';
= > 0

select 'aaa       ' like 'aaa%';
=> 1  [ % 위치에 있는 데이터는 무시 ];
Ex)  select '     aaa       ' like 'aaa%';  => 0
       select '     aaa       ' like '%aaa%';  => 1 [aaa 앞에 공백문자 부분은 제외 -> 특정단어(aaa)를 찾을때 사용 ]
 







반응형

SEARCH

태그로 찾아보기