
سلام،
هدف این مقاله بررسی انواع داده ها در پایگاه داده MySQL (مایاسکیوال) می باشد. MySQL انواع مختلف داده را در دسته بندی های زیر پشتیبانی می کند:
در این مقاله داده های عددی، زمان و رشته ها را بررسی می کنیم. با توجه به تخصصی بودن داده های فضایی، این نوع داده ها را در مقاله ای جداگانه در آینده بررسی خواهیم کردم.
جدول زیر اطلاعات کلی نوع داده های عددی را در حالت SIGNED و UNSIGNED نشان می دهد:
در جدول بالا حرف M نشاندهنده تعداد کل رقمهای داده و حرف D نشاندهنده تعداد رقمهای بعد از ممیز (.) می باشد. به عنوان مثال در ستونی که به صورت
سوال: منظور از مقدار تقریبی و دقیق در جدول داده های عددی شناور چیست؟
پاسخ: گاهی اوقات در نوع دادههای تقریبی اعداد گرد می شوند. در زیر با اجرا کردن چند دستور در خط فرمان MySQL پایگاه دادهای با دو ستون Decimal و Float تعریف کردیم. در آخرین دستور نتیجه گردشدن را در ستون Float مشاهده می فرمایید:
در نسخه های قبل از 5.0.3 نوع داده DECIMAL به صورت String ذخیره می شود و مقدار رقمهایی که پشتیبانی می کرد مانند نوع داده DOUBLE بود.
این نوع داده برای ذخیره بیتهای ۰ و ۱ استفاده می شود. برای تعریف ستونی از این نوع از عبارت
در ادامه به بررسی نوع دادههای ذکر شده در بالا خواهیم پرداخت.
برای استفاده از عبارت های مخفف در نوع داده TIME باید دقت نمایید. به عنوان مثال MySQL عبارت
به صورت پیش فرض MySQL دادههای خارج از محدوده TIME را در صورتی که با فرمت مناسب وارد شده باشند به نزدیکترین بازه تبدیل می کند. به عنوان مثال عبارتهای
دادههای TIMESTAMP هنگام ذخیره شدن از زمان منطقه زمانی (Time Zone) کنونی سیستم به UTC تبدیل و ذخیره می شوند. متناظر با همین امر، هنگام نشان دادن دادههای TIMESTAMP، ابتدا دادهها از UTC به منطقه زمانی کنونی سیستم تبدیل شده و بعد نمایش داده می شوند. به همین علت در صورتی که منطقی زمانی سیستم عوض شود، ممکن است دادهها به صورت غیرعادی و یا غلط نمایش داده شوند.
نوع داده TIMESTAMP این قابلیت را دارد که مقداردهی اولیه و یا مقداردهی خودکار داشته باشید. برای مقداردهی اولیه کافیست مقدار پیش فرض فیلد مورد نظر را CURRENT_TIMESTAMP قرار دهید. مانند:
طول ستونی که از نوع CHAR باشد ثابت است. در صورتی که طول داده کمتر از طول تعریف شده باشد، فضای باقیمانده با فاصله
در نوع داده VARCHAR طول داده ذخیره شده به اندازه مقدار داده وارد شده می باشد. به عنوان مثال اگر ستونی به صورت
جدول زیر تفاوتهای فضای مورد نیاز برای ذخیره اطلاعات را در CHAR و VARCHAR نمایش می دهد. دقت کنید که در جدول زیر Character Set داده مورد نظر تک بایتی مانند latin1 است.
مورد دیگر انتخاب نوع ستون مناسب با داده شما است. به عنوان مثال هرگز تاریخ شمسی را در پایگاه داده در ستونی از نوع رشته (مانند
در هنگام تعریف ستونی برای دادههای عددی در صورتی که فقط اعداد مثبت را لازم دارید، ستون خود را از نوع UNSIGNED انتخاب نموده و حداقل بازه را انتخاب نمایید. به عنوان مثال اگر ستون عددی شما کلید اصلی و افزایشی خودکار است (PRIMAY KEY and AUTO_INCREMENT) حتما نوع داده خود را UNSIGNED انتخاب نمایید تا حداکثر مقدار کلید اصلی دو برابر شود. نوع INTEGER SIGNED حداکثر عدد 2147483648 (حدود ۲ میلیارد) و INTEGER UNSIGNED حداکثر عدد 4294967295 (حدود ۴ میلیارد) را پشتیبانی می کند.
روش دیگر استفاده از
منابع
شاد و موفق باشید :)
هدف این مقاله بررسی انواع داده ها در پایگاه داده MySQL (مایاسکیوال) می باشد. MySQL انواع مختلف داده را در دسته بندی های زیر پشتیبانی می کند:
- اعداد (Numeric)
- زمان (Date and Time)
- رشته ها (String)
- داده های فضایی (Spatial)
در این مقاله داده های عددی، زمان و رشته ها را بررسی می کنیم. با توجه به تخصصی بودن داده های فضایی، این نوع داده ها را در مقاله ای جداگانه در آینده بررسی خواهیم کردم.
اعداد (Numeric)
MySQL تمامی انواع داده های عددی استاندارد SQL شامل اعداد صحیح و اعداد تقریبی را پشتبانی می کند. هر یک از نوع داده های عددی حافظه مشخصی برای ذخیره سازی نیاز دارند. همچنین در نظر داشته باشید که هر کدام از آنها محدوده مشخصی را پشتیبانی می کنند. هر نوع از این داده های عددی را می توان به صورت SIGNED یا UNSIGNED تعریف کرد. در حالت SIGNED این ستون ها از مقادیر منفی پشتبیبانی می کنند ولی در حالت UNSIGNED اعداد ذخیره شده باید بزرگتر ویا مساوی صفر باشند. در نظر داشته باشید که نوع دادهBOOLEAN
برای ذخیره مقادیر TRUE
و FALSE
همان TINYINT(1)
می باشد.جدول زیر اطلاعات کلی نوع داده های عددی را در حالت SIGNED و UNSIGNED نشان می دهد:
نوع | حافظه (بایت) | حداقل مقدار | حداکثر مقدار |
---|---|---|---|
TINYINT | 1 | -128 | 127 |
0 | 255 | ||
SMALLINT | 2 | -32768 | 32767 |
0 | 65535 | ||
MEDIUMINT | 3 | -8388608 | 8388607 |
0 | 16777215 | ||
INTEGER | 4 | -2147483648 | 2147483647 |
0 | 4294967295 | ||
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
0 | 18446744073709551615 |
نوع | حافظه (بایت) | مقدار | نحوه تعریف | توضیحات |
---|---|---|---|---|
FLOAT | 4 | از ۰ تا ۲۳ رقم | FLOAT(M,D) | مقدار تقریبی (Approximate Value) |
DOUBLE | 8 | از ۲۴ تا ۵۳ رقم | DOUBLE(M,D) | مقدار تقریبی (Approximate Value) |
DECIMAL | هر ۹ رقم ۴ بایت به صورت باینری | تا ۶۵ رقم | DECIMAL(M,D) | مقدار دقیق (Exact Value) |
در جدول بالا حرف M نشاندهنده تعداد کل رقمهای داده و حرف D نشاندهنده تعداد رقمهای بعد از ممیز (.) می باشد. به عنوان مثال در ستونی که به صورت
FLOAT(7,4)
تعریف شده است می توان حداکثر مقدار 999.9999 را ذخیره نمود. در صورتی که شما عدد 999.00009 را به این جدول وارد کنید، عدد واردشده به صورت 999.0001 ذخیره خواهد شد.سوال: منظور از مقدار تقریبی و دقیق در جدول داده های عددی شناور چیست؟
پاسخ: گاهی اوقات در نوع دادههای تقریبی اعداد گرد می شوند. در زیر با اجرا کردن چند دستور در خط فرمان MySQL پایگاه دادهای با دو ستون Decimal و Float تعریف کردیم. در آخرین دستور نتیجه گردشدن را در ستون Float مشاهده می فرمایید:
برای اطلاعات بیشتر به صفحه Problems with Floating-Point Values در سایت MySQL مراجعه نمایید.
mysql> create table numbers (a decimal(10,2), b float);
mysql> insert into numbers values (100, 100);
mysql> select @a := (a/3), @b := (b/3), @a * 3, @b * 3 from numbers \G
*************************** 1. row ***************************
@a := (a/3): 33.333333333
@b := (b/3): 33.3333333333333
@a * 3: 99.999999999
@b * 3: 100
در نسخه های قبل از 5.0.3 نوع داده DECIMAL به صورت String ذخیره می شود و مقدار رقمهایی که پشتیبانی می کرد مانند نوع داده DOUBLE بود.
نوع داده BIT
این نوع داده برای ذخیره بیتهای ۰ و ۱ استفاده می شود. برای تعریف ستونی از این نوع از عبارت
BIT(M)
استفاده می کنیم که در اینجا M فضایی به طول تقریبا (M+7)/8
بایت را برای نگهداری دادهها ایجاد می کند. M می تواند عددی از ۱ تا ۶۴ باشد. برای نشاندادن ۰ و ۱ به صورت بیت از حرف b استفاده می کنیم. به عنوان مثال b'111'
و b'10000000'
که به ترتیب برابر اعداد ۷ و ۱۲۸ می باشند. برای درک بیشتر این موضوع به دستورات و نتایج زیر در خط فرمان MySQL توجه فرمایید:آخرین Query در بالا توابع مختلف برای تبدیل این اعداد را نشان می دهد. عبارت
mysql> INSERT INTO t SET b = b'11111111';
mysql> INSERT INTO t SET b = b'1010';
mysql> INSERT INTO t SET b = b'0101';
mysql> SELECT b+0, BIN(b+0), OCT(b+0), HEX(b+0) FROM t;
+------+----------+----------+----------+
| b+0 | BIN(b+0) | OCT(b+0) | HEX(b+0) |
+------+----------+----------+----------+
| 255 | 11111111 | 377 | FF |
| 10 | 1010 | 12 | A |
| 5 | 101 | 5 | 5 |
+------+----------+----------+----------+
3 rows in set (0.03 sec)
+0
مقدار دودویی ذخیره شده را به عدد دهدهی متناظر تبدیل می کند.زمان (Date and Time)
در کل ۵ نوع داده برای ذخیره زمان (ساعت و تاریخ) داریم. در جدول زیر اطلاعات این نوع دادهها را مشاهده میفرمایید:نوع | حافظه (بایت) | مقدار صفر (“Zero” Value) |
---|---|---|
DATE | 3 | '0000-00-00' |
TIME | 3 | '00:00:00' |
DATETIME | 8 | '0000-00-00 00:00:00' |
TIMESTAMP | 4 | '0000-00-00 00:00:00' |
YEAR | 1 | 0000 |
در ادامه به بررسی نوع دادههای ذکر شده در بالا خواهیم پرداخت.
نوع داده DATE
این نوع داده فقط برای ذخیره سازی تاریخ استفاده می شود. فرمت پیش فرض این نوع داده'YYYY-MM-DD'
است. بازهای که توسط DATE پشتیبانی می شود از '1000-01-01'
تا '9999-12-31'
می باشد.نوع داده TIME
این نوع داده برای ذخیره سازی زمان (ساعت، دقیقه، ثانیه) استفاده می شود. فرمت پیشفرض این نوع داده'HH:MM:SS'
و یا 'HHH:MM:SS'
است. بازه ای که در نوع TIME پشتیبانی می شود از '-838:59:59'
تا '838:59:59'
می باشد. نوع داده TIME فقط برای نمایش زمان روز استفاده نمی شود. برای نمایش تفاوت زمانی دو بازه و یا زمان باقیمانده نیز می تواند از TIME استفاده نمود. به همین دلیل بازه پشتیبانی شده بیشتر از ۲۴ ساعت و یا کمتر از صفر (منفی) می باشد.برای استفاده از عبارت های مخفف در نوع داده TIME باید دقت نمایید. به عنوان مثال MySQL عبارت
'11:12'
را به صورت '11:12:00'
تفسیر می کند. در صورتی که داده بدون ':'
(دو نقطه) بیان شود، MySQL آن را از سمت راست تفسیر می کند. به عنوان مثال عبارت '1112'
و یا 1112
به معنی '00:11:12'
است.به صورت پیش فرض MySQL دادههای خارج از محدوده TIME را در صورتی که با فرمت مناسب وارد شده باشند به نزدیکترین بازه تبدیل می کند. به عنوان مثال عبارتهای
'-850:00:00'
و '850:00:00'
به '-838:59:59'
و '838:59:59'
تبدیل خواهند شد. دادههایی که فرمت مناسب نداشته و یا قابل تفسیر برای داده TIME نباشند به عبارت '00:00:00'
تبدیل خواهند شد.نوع داده DATETIME
این نوع داده برای ذخیره سازی زمان به صورت کامل شامل تاریخ و ساعت استفاده می شود. فرمت پیش فرض این نوع داده'YYYY-MM-DD HH:MM:SS'
می باشد. بازهی پشتیبانی DATETIME از '1000-01-01 00:00:00'
تا '9999-12-31 23:59:59'
است.نوع داده TIMESTAMP
این نوع داده همانند DATETIME می باشد. بازهای که توسط TIMESTAMP پشتیبانی میشود از'1970-01-01 00:00:01' UTC
تا '2038-01-19 03:14:07' UTC
است.دادههای TIMESTAMP هنگام ذخیره شدن از زمان منطقه زمانی (Time Zone) کنونی سیستم به UTC تبدیل و ذخیره می شوند. متناظر با همین امر، هنگام نشان دادن دادههای TIMESTAMP، ابتدا دادهها از UTC به منطقه زمانی کنونی سیستم تبدیل شده و بعد نمایش داده می شوند. به همین علت در صورتی که منطقی زمانی سیستم عوض شود، ممکن است دادهها به صورت غیرعادی و یا غلط نمایش داده شوند.
نوع داده TIMESTAMP این قابلیت را دارد که مقداردهی اولیه و یا مقداردهی خودکار داشته باشید. برای مقداردهی اولیه کافیست مقدار پیش فرض فیلد مورد نظر را CURRENT_TIMESTAMP قرار دهید. مانند:
در حالت مقداردهی خودکار، مقدار ذخیره شده در فیلد TIMESTAMP هنگام بروزرسانی (UPDATE) یک ردیف به زمان بروزرسانی تغییر پیدا می کند. مانند:
mysql> CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
برای کسب اطلاعات بیشتر به صفحه TIMESTAMP Properties در سایت MySQL مراجعه نمایید.
mysql> CREATE TABLE t (name VARCHAR(100), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
mysql> INSERT INTO t(name) VALUES('Saeid');
mysql> SELECT * FROM t;
+-------+---------------------+
| name | ts |
+-------+---------------------+
| Saeid | 2011-12-22 12:00:26 |
+-------+---------------------+
1 row in set (0.00 sec)
mysql> UPDATE t SET name = 'Alireza';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM t;
+---------+---------------------+
| name | ts |
+---------+---------------------+
| Alireza | 2011-12-22 12:01:56 |
+---------+---------------------+
1 row in set (0.00 sec)
نوع داده YEAR
این نوع داده برای ذخیره سازی سال با فرمت YYYY به کار میرود. شما می تواند سال مورد نظر خود را به صورت دو رقمیYEAR(2)
و یا ۴ رقمی YEAR(4)
تعریف کنید. نوع YEAR از سال 1901 تا 2155 و 0000 را پشتیبانی می کند. در صورتی که سال را به صورت ۲ رقمی تعریف کرده باشید، اعداد 00 تا 69 در قرن ۲۱ و اعداد 70 تا 99 در قرن ۲۰ در نظر گرفته می شوند. مثلا 45 به عنوان 2045 و 80 به صورت 1980 در نظر گرفته می شود. تمامی مقادیر غیر منطقی برای YEAR به صورت 0000 ذخیره می شوند.رشته ها (String)
نوع داده String برای نگه داری رشتهها (متون) استفاده می شود. در زیر اطلاعات کلی داده هایی از نوع String را مشاهده می فرمایید. در جدول زیر M نشاندهنده طول تعریف شده برای داده و L نشاندهنده طول واقعی رشته داده شده می باشد.نوع | مقدار | حافظه (بایت) |
---|---|---|
CHAR(M) | 0 <= M <= 255 | M × w بایت. w تعداد بایت مورد نیاز برای حداکثر طول کاراکترهای تعریف شده در character set جدول می باشد. |
BINARY(M) | 0 <= M <= 255 | M بایت |
VARCHAR(M) | 0 <= M <= 65532 | L + 1 بایت اگر داده مورد نظر کمتر از ۲۵۵ بایت نیاز داشته باشد.L + 2 بایت اگر داده مورد نظر بیشتر از ۲۵۵ بایت نیاز داشته باشد. |
VARBINARY(M) | 0 <= M <= 65532 | M + 1 بایت اگر داده مورد نظر کمتر از ۲۵۵ بایت نیاز داشته باشد.M + 2 بایت اگر داده مورد نظر بیشتر از ۲۵۵ بایت نیاز داشته باشد. |
TINYBLOB | L < 28 | L + 1 بایت |
TINYTEXT | L < 28 | L + 1 بایت |
BLOB | L < 216 | L + 2 بایت |
TEXT | L < 216 | L + 2 بایت |
MEDIUMBLOB | L < 224 | L + 3 بایت |
MEDIUMTEXT | L < 224 | L + 3 بایت |
LONGBLOB | L < 232 | L + 4 بایت |
LONGTEXT | L < 232 | L + 4 بایت |
ENUM('v1','v2',...) | حداکثر ۶۵,۵۳۵ عضو | ۱ یا ۲ بایت. وابسته به مقدار داده. |
SET('v1','v2',...) | حداکثر ۶۴ عضو | ۱، ۲، ۳، ۴ یا ۸ بایت وابسته به مجموعه داده شده. |
نوع داده CHAR و VARCHAR
CHAR و VARCHAR بسیار شبیه به هم هستند. مهمترین تفاوتی که بین CHAR و VARCHAR وجود دارد نحوه ذخیره سازی و بازیابی اطلاعات است. هنگام تعریف این نوع دادهها شما حداکثر تعداد کاراکتری را که می خواهید ذخیره شود را مشخص می نمایید. به عنوان مثالCHAR(30)
برای ذخیره حداکثر ۳۰ کاراکتر تعریف می شود.طول ستونی که از نوع CHAR باشد ثابت است. در صورتی که طول داده کمتر از طول تعریف شده باشد، فضای باقیمانده با فاصله
(space)
از راست پر میشود. هنگام بازیابی اطلاعات این فضای خالی قبل از نمایش حذف میشود مگر اینکه حالت PAD_CHAR_TO_FULL_LENGTH فعال شده باشد.در نوع داده VARCHAR طول داده ذخیره شده به اندازه مقدار داده وارد شده می باشد. به عنوان مثال اگر ستونی به صورت
VARCHAR(100)
تعریف شده باشد ولی طول رشته داده شده 50 کاراکتر باشد، فقط به مقدار بایت زیر فضا لازم است.
(50 * فضای لازم برای ذخیره هر کاراکتر) + 2
در صورتی که در تعریف VARCHAR(M)
مقدار M بیشتر از ۶۵,۵۳۵ باشد، MySQL به طور خودکار نوع ستون را از VARCHAR
به نوع مناسبی مانند MEDIUMTEXT
تغییر می دهد.جدول زیر تفاوتهای فضای مورد نیاز برای ذخیره اطلاعات را در CHAR و VARCHAR نمایش می دهد. دقت کنید که در جدول زیر Character Set داده مورد نظر تک بایتی مانند latin1 است.
داده | CHAR(4) | فضای مورد نیاز | VARCHAR(4) | فضای مورد نیاز |
---|---|---|---|---|
'' | ' ' | ۴ بایت | '' | ۱ بایت |
'ab' | 'ab ' | ۴ بایت | 'ab' | ۳ بایت |
'abcd' | 'abcd' | ۴ بایت | 'abcd' | ۵ بایت |
'abcdefgh' | 'abcd' | ۴ بایت | 'abcd' | ۵ بایت |
نوع داده BINARY و VARBINARY
این نوع داده ها مانند CHAR و VARCHAR می باشند فقط با این تفاوت که در این نوع دادهها رشتههای باینری (صفر و یک) ذخیره می شود. در نتیجه Character set برای این نوع دادهها معنی ندارد. از طرفی مرتبسازی و مقایسه بر اساس مقدار عددی رشته باینری ذخیره شده می باشد.نوع داده BLOB و TEXT
این نوع دادهها مانند BINARY و VARBINARY می باشند. هر کدام از این دادهها دارای ۴ نوع میباشند که تنها تفاوت آنها در حداکثر طول داده قابل ذخیره شدن است.نوع داده ENUM
این نوع داده فقط امکان ذخیره سازی رشته ای را می دهد که از مجموعه تعریف شده باشد. این مجموعه هنگام ساخت جدول تعریف می شود. مانند جدول زیر:در ستون name در جدول بالا فقط می توانید یکی از مقادیر small، medium یا large را ذخیره نمایید. در صورتی که مقداری خارج از مجموعه وارد مجموعه شود، فضای خالی در name ذخیره می شود، نه مقدار وارد شده.
CREATE TABLE sizes (
name ENUM('small', 'medium', 'large')
);
نوع داده SET
این نوع داده مانند ENUM می باشد، با این تفاوت که شما می توانید چند عضو از مجموعه تعریف شده را انتخاب نمایید. توجه نمایید که یا دادههای تکراری قبل از ذخیره سازی حذف می شوند. به مثال زیر توجه فرمایید:از قراردادن فاصله قبل و یا بعد ',' جدا خوددداری نمایید.
mysql> CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> SELECT col FROM myset;
+------+
| col |
+------+
| a,d |
| a,d |
| a,d |
| a,d |
| a,d |
+------+
5 rows in set (0.00 sec)
چطور نوع داده مناسب را انتخاب نماییم؟
قبل از هر چیز بازهی مورد نیاز برای داده خود را معین نمایید. سپس مختصرترین نوع داده را برای ستون خود انتخاب نمایید. به عنوان مثال برای بازه اعداد ۰ تا ۹۹۹۹۹ نوعMEDIUMINT UNSIGNED
بهترین گزینه است.مورد دیگر انتخاب نوع ستون مناسب با داده شما است. به عنوان مثال هرگز تاریخ شمسی را در پایگاه داده در ستونی از نوع رشته (مانند
CHAR
) ذخیره ننمایید. بهترین گزینه تبدیل تاریخ به تاریخ میلای و ذخیره آن در دادهای از نوع DATE
است.در هنگام تعریف ستونی برای دادههای عددی در صورتی که فقط اعداد مثبت را لازم دارید، ستون خود را از نوع UNSIGNED انتخاب نموده و حداقل بازه را انتخاب نمایید. به عنوان مثال اگر ستون عددی شما کلید اصلی و افزایشی خودکار است (PRIMAY KEY and AUTO_INCREMENT) حتما نوع داده خود را UNSIGNED انتخاب نمایید تا حداکثر مقدار کلید اصلی دو برابر شود. نوع INTEGER SIGNED حداکثر عدد 2147483648 (حدود ۲ میلیارد) و INTEGER UNSIGNED حداکثر عدد 4294967295 (حدود ۴ میلیارد) را پشتیبانی می کند.
روش دیگر استفاده از
PROCEDURE ANALYSE
به منظور دریافت پیشنهاد خود پایگاه داده است. PROCEDURE ANALYSE
با توجه به دادههای فعلی، پیشنهاد خود را برای بهینه کردن نوع داده ارائه می دهد. در نظر داشته باشید که هر چه تعداد داده فعلی شما بیشتر باشد، PROCEDURE ANALYSE
پیشنهاد بهتر و دقیقتری می دهد. نحوه استفاده از PROCEDURE ANALYSE
بسیار ساده است. نحوه نگارش آن به صورت زیر است:مانند:
mysql> SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]]);
یا
SELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);
SELECT * FROM table1 PROCEDURE ANALYSE() \G
اسامی مشابه
در پایگاه داده MySQL برخی از انواع دادهها با نامهای مشابه دیگری نیز قابل دسترسی می باشند. یکی از دلایل این کار پیاده سازی راحتتر SQL های پایگاههای دادهی دیگر است. در زیر این اسامی را مشاهده می نمایید.نوع داده | اسم مشابه |
---|---|
INTEGER | INT |
DECIMAL | DEC |
DECIMAL | FIXED |
DECIMAL | NUMERIC |
DOUBLE | REAL |
TINYINT | BOOLEAN |
TINYINT | BOOL |
VARCHAR(M) | CHARACTER VARYING(M) |
FLOAT | FLOAT4 |
DOUBLE | FLOAT8 |
TINYINT | INT1 |
SMALLINT | INT2 |
MEDIUMINT | INT3 |
INT | INT4 |
BIGINT | INT8 |
MEDIUMBLOB | LONG VARBINARY |
MEDIUMTEXT | LONG VARCHAR |
MEDIUMTEXT | LONG |
MEDIUMINT | MIDDLEINT |
منابع
شاد و موفق باشید :)