Skip to content

MySQL과 MS-SQL 2000 Server 비교.txt

9KB · 147 lines

plaintext
[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