본문 바로가기
SQL

MSSQL 0.데이터 타입

by flykimjiwon 2022. 8. 3.
반응형

- 기존 테이블 삭제하는법(기존 테이블 존재시) DROP

DROP TABLE 테이블이름;
ex) DROP TABLE PRODUCT;

- 테이블생성 CREATE

CREATE TABLE PRODUCT(
	PRODUCTNO INT,
    PRODUCTNAME VARCHAR(10),
    MAKEDAY DATETIME,
    PRICE FLOAT,
    PRODUCTINFO VARCHAR(MAX),
PRIMARY KEY(PRODUCTNO)
);

- 문자열 CHAR,VARCHAR

 

1.영어만 저장 : char, varchar -> 1글자당 영문이나 숫자등은 1바이트

 

2.한글,영어+그외 다국어 : nchar, nvarchar -> 모든문자 1글자당 2바이트로 저장

 

CHAR: 고정된 길이의 문자열을 저장

ex) CHAR(20) 지정 후 'AA'만 저장하면 나머지 공간은 '빈값'으로 채워진다.

 

VARCHAR: 가변 문자열을 저장

ex)VARCHAR(20) 지정 후 'AA'만 저장하면 'AA'만 저장한다, 저장길이가 가변적이다.

 

VARCHAR가 데이터베이스 공간을 효율적으로 사용한다.

 

NCHAR, NVARCHAR 위와 동일하지만 유니코드를 지원한다.

 

*매우 큰 길이일 경우

varchar(max), nvarchar(max)

 

- 데이터 넣기 INSERT

정상

INSERT INTO PRODUCT
(
PRODUCTNO,
PRODUCTNAME,
MAKEDAY,
PRICE,
PRODUCTINFO
)
VALUES
(
1,
'aaaaaaaa'
getdate(), --MSSQL에서 사용하는 날짜함수 그대로 넣으면 현재시간 들어감
100.0005,
'aaaaaaaaaaaaaaaaaa'
);

오류(Byte초과)

INSERT INTO PRODUCT
(
PRODUCTNO,
PRODUCTNAME,
MAKEDAY,
PRICE,
PRODUCTINFO
)
VALUES
(
1,
'aaaaaaaaaaaaaaaaa'
getdate(), --MSSQL에서 사용하는 날짜함수 그대로 넣으면 현재시간 들어감
100.0005,
'aaaaaaaaaaaaaaaaaa'
);

PRODUCTNAME을 VARCHAR(10)으로 선언했기 때문

 

- 한번에 작성해서 선언, 실행도 가능

그림과같이 드래그 한후 실행하면 드래그한곳만 실행된다.

 

- 한글혹은 다른 문자 입력

VARCHAR라고 선언한곳에 한글이나 다른문자를 넣으면 깨짐현상이나온다.

NVARCHAR선언하고 자료를 넣어줄때도 앞에 N을 붙여준다 ex) N'한글입력가능'

안 붙여줘도 들어가긴하지만 오류방지를 위함!

 

- 숫자 INT, FLOAT

INT: 범위 -2,147,483,648 ~ 2,147,483,647사이의 정수를 저장.

BIGINT: -2^63 ~ 2^63-1   INT보다 큰 범위의 정수를 저장.

FLOAT: 소수점숫자를 저장할 경우 사용. 최대 15자리 표현 가능.

 

* 소스코드 *

CREATE TABLE PRODUCT (
    PRODUCTNO INT,
    PRODUCTNAME NVARCHAR(10),
    MAKEDAY DATETIME,
    PRICE FLOAT,
    PRODUCTINFO VARCHAR(MAX),
PRIMARY KEY(PRODUCTNO)
); 

INSERT INTO PRODUCT
(
    PRODUCTNO,
    PRODUCTNAME,
    MAKEDAY,
    PRICE,
    PRODUCTINFO
)
VALUES
(
4,
'AAAA',
getdate(),
1.2345679801234567,
'PRODUCSSFEDINFO'
)

SELECT * FROM PRODUCT

12345678901234567 -> 15자리 미만은 반올림

1.23456789012346E+16 -> e+16은 16승의미

 

- getdate()를통한 날짜 DATETIME

위와같이 2022년 08월 03일 13:39:47.860 형식으로 저장한다.

반응형

'SQL' 카테고리의 다른 글

MSSQL 4. ORDER BY  (0) 2022.08.12
MSSQL 3. Identity, SEQUENCE  (0) 2022.08.11
MSSQL 2.DROP TABLE, ALTER TABLE  (0) 2022.08.04
MSSQL 1.무결성 제약조건 - FOREIGN KEY, CHECK, UNIQUE  (0) 2022.08.04
MSSQL 1.무결성 제약조건 - NULL, PRIMARY KEY  (0) 2022.08.04