MySQL과 MS-SQL 2000 Server 비교.txt
9KB · 147 lines
[U]MySQL과 MS-SQL 2000 Server 비교[/U]
섹션에는 프래임웍과 자료형을 비교한 자료들이 제공된다.
몇몇 MySQL 오프잭트, 키워드들은 MS-SQL 2000 Server 과 충돌하는 부분이 있다.
이 키워드들은 다음 섹션에서 포함되어있다.
MySQL 데이터를 DTS로 전송하기 전에 MySQL 데이터베이스를 백업 받아 두길 바란다.
[B]자료형, 예약어, 연산자[/B]
이 섹션은 MS-SQL 2000 Server의 자료형(Data type)을 이야기 하도록 하겠다.
MySQL 자료형(Data type)과 MS-SQL 자료형을 비교한 표는 마이그래이션을 돕기 위하여 제공된다.
또 MS-SQL의 예약어(keywords)목록 또한 제공합니다.
이 표는 다음 정보를 포함합니다.
* MS-SQL Server가 제공하는 자료형
* My-SQL과 MS-SQL Server의 비교
* MS-SQL Server 예약어(keywords)
[COLOR=blue]MS-SQL Server 에서 지원되는 자료형[/COLOR]
--------------------------------------------------------------------------------------------------------------------------
자료 형 | 해 설
--------------------------------------------------------------------------------------------------------------------------
BIGINT | 4바이트 정수 -2^63 (-9223372036854775808)부터 -2^63 (-9223372036854775808)까지의 수
INT | 4바이트 정수 -2^31(-2,147,483,648)부터 2^31 -1 (2,147,483,647)까지의 수
SMALLINT | 2바이트 정수 2^15 (-32,768)부터 2^15 -1 (32,767)까지의 수
TINYINT | 1바이트정수 0부터 255까지의 수
BIT | 1비트의 Boolean 0 또는 1
DECIMAL | 정밀한 숫자형 -10^38 +1 에서 10^38 –1까지의 수
NUMERIC | DECIMAL과 동일한 기능
MONEY | 8바이트 화폐값 -2^63 (-922,337,203,685,477.5808)부터 2^63 –1 (+922,337,203,685,477.5807)까지
SMALLMONEY | 4바이트의 화폐값 -214,748.3648부터 +214,748.3647까지
FLOAT | 부동 소수점 값 -1.79E + 308부터 1.79E + 308까지
REAL | 부동 소수점 값 -3.40E + 38부터 3.40E + 38까지
DATETIME | 8바이트의 날짜와 시간. 1753년 1월 1일부터 9999년 12월 31일까지 (ms)초의 단위까지 표현가능.
SMALLDATETIME | 1900년 1월 1일부터 2079년 6월 6일까지 1분 단위로 표현가능.
CHAR | 8,000자 이하의 고정길이 문자 (비 유니코드)
VARCHAR | 8,000자 이하의 가변길이 문자 (비 유니코드)
TEXT | 최대 2^31 -1 (2,147,483,647)까지 저장 가능한 가변길이 문자 (비 유니코드)
NCHAR | 4,000자 이하의 고정길이 문자 (유니코드)
NVARCHAR | 4,000자 이하의 가변길이 문자(유니코드)
NTEXT | 최대 2^30 -1 (1,073,741,823)까지 저장 가능한 가변길이 문자 (유니코드)
BINARY | 8,000 바이트의 최대길이를 가진 고정길이 이진 데이터
VARBINARY | 8,000 바이트의 최대 길이를 가진 가변길이 이진 데이터
IMAGE | 가변길이 값을 저장하기 위한 자료형 최대 2^31 -1 (2,147,483,647)byte까지 저장가능 (가변형)
CURSOR | 커서 형
SQL_VARIANT | text, ntext, timestamp, sql_variant를 제외한 모든 자료형을 저장할 수 있는 자료형
TABLE | Table형 데이터를 처리할 수 있는 특수한 자료형
TIMESTAMP | A database-wide unique number that gets updated every time a row gets updated. 로우가 변경될 경우 항상 고유가 값을 가지는 유일한 값.
UNIQUEIDENTIFIER | 전역 유일 식별자 (GUID).
--------------------------------------------------------------------------------------------------------------------------
상세한 자료는 MS-SQL Server 2000 북스온라인을 참고 하길 바란다.
[B]MySQL과 MS-SQL Server 2000 비교[/B]
다음 표는 MySQL과 MS-SQL Server 2000 사이의 자료유형들의 매핑을 나타내고 있다.
몇몇 MySQL 자료유형은 MS-SQL Sever 2000의 유사 자료형으로 대체 했습니다.
아래의 표는 다음과 같은 정보를 나타내고 있습니다.
* 숫자 타입
* 데이터, 시간 타입
* 문자열 타입
참 고
D: 부동 소수점 타입에 적용하고,소수점 후에 자릿수의 수를 가리킨다. 최대 가능한 가치는 30이지만 M-2보다 벌써 커서는 안 된다.
L: 칼럼의 실제 길이
M: 최대 표시 크기를 가리킨다. 최대 표시 크기는 255이다.
[COLOR=blue]수치 자료형[/COLOR]
--------------------------------------------------------------------------------------------------------------------------
MySQL | Size | SQL Server 2000
--------------------------------------------------------------------------------------------------------------------------
TINYINT | 1 Byte | TINYINT
SMALLINT | 2 Bytes | SMALLINT
MEDIUMINT | 3 Bytes |
INT | 4 Bytes | INT
INTEGER | 4 Bytes | INT
BIGINT | 8 Bytes | BIGINT
FLOAT(X<=24) | 4 Bytes | FLOAT(0)
FLOAT(25<=X<=53) | 8 Bytes | FLOAT(25)
DOUBLE | 8 Bytes | FLOAT(25)
DOUBLE PRECISION | 8 Bytes | FLOAT(53)
REAL | 8 Bytes | REAL
DECIMAL | M Bytes(D+2, if M<D) | DECIMAL
NUMERIC | M Bytes(D+2, if M<D) | NUMERIC
--------------------------------------------------------------------------------------------------------------------------
[COLOR=blue]날짜 시간 자료형[/COLOR]
--------------------------------------------------------------------------------------------------------------------------
MySQL | Size | SQL Server 2000
--------------------------------------------------------------------------------------------------------------------------
DATE | 3 Bytes | SMALLDATETIME
DATETIME | 8 Bytes | DATETIME
TIMESTAMP | 4 Bytes | TIMESTAMP
TIME | 3 Bytes | SMALLDATETIME
YEAR | 1 Byte | SMALLDATETIME
--------------------------------------------------------------------------------------------------------------------------
[COLOR=blue]문자열형[/COLOR]
--------------------------------------------------------------------------------------------------------------------------
MySQL | Size | SQL Server 2000
--------------------------------------------------------------------------------------------------------------------------
CHAR(m) | M Bytes, 1<=M<=255 | CHAR
VARCHAR(m) | L+1 Bytes where L<=M and 1<=M<=255 | VARCHAR
TINYBLOB | L + 1 Bytes where L<2^8 | BINARY
BLOB | L + 2 Bytes where L<2^16 | VARBINARY
TEXT | L + 2 Bytes where L<2^16 | TEXT
MEDIUMBLOB | L + 3 Bytes where L<2^24 | IMAGE
MEDIUMTEXT | L + 3 Bytes where L<2^24 | TEXT
LONGBLOB | L + 4 Bytes where L<2^32 | IMAGE
LONGTEXT | L + 4 Bytes where L<2^32 | TEXT
ENUM (VALUE1, VALUE2, …) | 데이터형이 1또는 2바이트를 차지하는지는 그값의 수치로 판단된다. 매칭되는 자료형이 없으나 CHECK 제약을 이용해 구현 가능하다.
SET (VALUE1, VALUE2, …) | 1, 2, 3, 4 또는 8 바이트. Set 멤버들의 최대값에 의존적인 값이다.
--------------------------------------------------------------------------------------------------------------------------
[COLOR=blue]Microsoft SQL Server 2000 예약어[/COLOR]
--------------------------------------------------------------------------------------------------------------------------
ADD EXCEPT PERCENT ALL EXEC PLAN
ALTER EXECUTE PRECISION AND EXISTS PRIMARY
ANY EXIT PRINT AS FETCH PROC
ASC FILE PROCEDURE AUTHORIZATION FILLFACTOR PUBLIC
BACKUP FOR RAISERROR BEGIN FOREIGN READ
BETWEEN FREETEXT READTEXT BREAK FREETEXTTABLE RECONFIGURE
BROWSE FROM REFERENCES BULK FULL REPLICATION
BY FUNCTION RESTORE CASCADE GOTO RESTRICT CASE
GRANT RETURN CHECK GROUP REVOKE CHECKPOINT
HAVING RIGHT CLOSE HOLDLOCK ROLLBACK CLUSTERED
IDENTITY ROWCOUNT COALESCE IDENTITY_INSERT ROWGUIDCOL COLLATE
IDENTITYCOL RULE COLUMN IF SAVE COMMIT
IN SCHEMA COMPUTE INDEX SELECT CONSTRAINT
INNER SESSION_USER CONTAINS INSERT SET CONTAINSTABLE
INTERSECT SETUSER CONTINUE INTO SHUTDOWN CONVERT
IS SOME CREATE JOIN STATISTICS CROSS
KEY SYSTEM_USER CURRENT KILL TABLE CURRENT_DATE
LEFT TEXTSIZE CURRENT_TIME LIKE THEN CURRENT_TIMESTAMP
LINENO TO CURRENT_USER LOAD TOP CURSOR
NATIONAL TRAN DATABASE NOCHECK TRANSACTION DBCC
NONCLUSTERED TRIGGER DEALLOCATE NOT TRUNCATE DECLARE
NULL TSEQUAL DEFAULT NULLIF UNION DELETE
OF UNIQUE DENY OFF UPDATE DESC
OFFSETS UPDATETEXT DISK ON USE DISTINCT
OPEN USER DISTRIBUTED OPENDATASOURCE VALUES DOUBLE
OPENQUERY VARYING DROP OPENROWSET VIEW DUMMY
OPENXML WAITFOR DUMP OPTION WHEN ELSE
OR WHERE END ORDER WHILE ERRLVL
OUTER WITH ESCAPE OVER WRITETEXT
--------------------------------------------------------------------------------------------------------------------------
제공 : http://www.sqler.pe.kr