الفرق بين المراجعتين لصفحة: «SQL/datatype»
< SQL
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط إضافة seo |
||
| (مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين) | |||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:أنواع البيانات في SQL}}</noinclude> | <noinclude>{{DISPLAYTITLE:أنواع البيانات في SQL}}</noinclude> | ||
تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. | تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. | ||
{{Course|course=cs}} | |||
__TOC__ | |||
== في محرك البيانات MySQL == | == في محرك البيانات MySQL == | ||
| سطر 496: | سطر 497: | ||
* [https://www.sqlite.org/datatype3.html توثيق أنواع البيانات في محرك SQLite] | * [https://www.sqlite.org/datatype3.html توثيق أنواع البيانات في محرك SQLite] | ||
* [https://docs.microsoft.com/en-us/sql/t-sql/language-elements/logical-operators-transact-sql توثيق أنواع البيانات في محرك SQL Server] | * [https://docs.microsoft.com/en-us/sql/t-sql/language-elements/logical-operators-transact-sql توثيق أنواع البيانات في محرك SQL Server] | ||
[[تصنيف:SQL]] | [[تصنيف:SQL|{{SUBPAGENAME}}]] | ||
{{#seo: | |||
description=سرد كل أنواع البيانات المتاحة في لغة SQL للتعامل مع قواعد البيانات باختلاف المحركات مثل أنواع البيانات في MySQL و PostgreSQL و Oracle وغيرها. | |||
}} | |||
المراجعة الحالية بتاريخ 07:21، 4 أكتوبر 2022
تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا.
دورة علوم الحاسوب
- 62 ساعة فيديو تدريبية
- من الصفر دون الحاجة لخبرة مسبقة
- شهادة معتمدة من أكاديمية حسوب
- متابعة أثناء الدورة من فريق مختص
في محرك البيانات MySQL
أنواع البيانات العددية Numeric
| النوع | بداية المجال | نهاية المجال | مساحة التخزين |
|---|---|---|---|
| TINYINT | -128 | 127 | 1 بايت |
| SMALLINT | -32768 | 32767 | 2 بايت |
| MEDIUMINT | -8388608 | 8388607 | 3 بايت |
| INT | -2147483648 | 2147483647 | 4 بايت |
| BIGINT | -9223372036854775808 | 9223372036854775807 | 8 بايت |
| BIT | 0 | 1 | بت واحد |
البيانات العددية الثابتة مع الفاصلة العشرية
| النوع | الوصف |
| DECIMAL(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية.
مثل: DECIMAL(5,2) يتحدد بالمجال ما بين -999.99 و +999.99 |
| FLOAT(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية.
مثل: FLOAT(7,3) يتحدد بالمجال ما بين -9999.999 و +9999.999 |
| DOUBLE(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية.
مثل: DOUBLE(1,1) يتحدد بالمجال ما بين -9.9 و +9.9 |
أنواع بيانات التاريخ والتوقيت Date and Time
| النوع | الوصف |
|---|---|
| DATE | التاريخ بالشكل 'YYYY-MM-DD' |
| DATETIME | التاريخ والتوقيت بالشكل 'YYYY-MM-DD HH:MM:SS' |
| TIME | التوقيت بالشكل 'HH:MM:SS' |
| YEAR[(2|4)] | العام بخانتين أو 4 خانات |
أنواع السلاسل String
| النوع | الوصف |
|---|---|
| CHAR(size) | سلسلة محرفية بطول ثابت size |
| VARCHAR(size) | سلسلة محرفية بطول متغيّر وبحد أقصى size |
| TINYTEXT(size) | إذ يعبر size عن عدد المحارف التي ستُخزّن في السلسلة |
| TEXT(size) | إذ يعبر size عن عدد المحارف التي ستُخزّن في السلسلة |
| MEDIUMTEXT(size) | إذ يعبر size عن عدد المحارف التي ستُخزّن في السلسلة |
| LONGTEXT(size) | إذ يعبر size عن عدد المحارف التي ستُخزّن في السلسلة |
| BINARY(size) | سلسلة من الخانات الثنائية بطول ثابت إذ يعبر size عن عدد الخانات في السلسلة |
| VARBINARY(size) | سلسلة من الخانات الثنائية بطول متغير إذ يعبر size عن عدد الخانات الأقصى في السلسلة |
في محرك البيانات PostgreSQL
أنواع البيانات العددية Numeric
| النوع | المجال | مساحة التخزين |
|---|---|---|
| smallint | -32768 حتى +32767 | 2 بايت |
| integer | -2147483648 حتى +2147483647 | 4 بايت |
| bigint | -9223372036854775808 حتى +9223372036854775807 | 8 بايت |
| decimal | يصل إلى 131072 خانة قبل الفاصلة العشرية و 16383 خانة بعد الفاصلة العشرية | متغيرة |
| numeric | يصل إلى 131072 خانة قبل الفاصلة العشرية و 16383 خانة بعد الفاصلة العشرية | متغيرة |
| real | بدقة 6 خانات عشرية | 4 بايت |
| double precision | بدقة 15 خانة عشرية | 8 بايت |
| smallserial | 1 حتى 32767 | 2 بايت |
| serial | 1 حتى 2147483647 | 4 بايت |
| bigserial | 1 حتى 9223372036854775807 | 8 بايت |
أنواع البيانات الماليّة Monetary
| النوع | المجال | مساحة التخزين |
|---|---|---|
| money | -92233720368547758.08 حتى +92233720368547758.08 | 8 بايت |
أنواع البيانات المحرفية Character
| النوع | الوصف |
|---|---|
| varchar(n) | سلسلة محرفية متغيرة الطول بحدٍّ أقصى n |
| character(n), char(n) | سلسلة محرفية ثابتة الطول n |
| text | سلسلة محرفية غير محدودة |
أنواع البيانات الثنائية Binary
| النوع | الوصف |
|---|---|
| bytea | سلسلة ثنائية متغيرة الطول |
أنواع بيانات التاريخ والتوقيت Date and Time
| النوع | الوصف | بداية المجال | نهاية المجال | مساحة التخزين |
|---|---|---|---|---|
| timestamp [ (p) ] [ without time zone ] | التاريخ والتوقيت (بدون المنطقة الزمنية) | 4713 قبل الميلاد | 294276 بعد الميلاد | 8 بايت |
| timestamp [ (p) ] with time zone | التاريخ والتوقيت مع المنطقة الزمنية | 4713 قبل الميلاد | 294276 بعد الميلاد | 8 بايت |
| date | التاريخ بدون التوقيت | 4713 قبل الميلاد | 5874897 بعد الميلاد | 4 بايت |
| time [ (p) ] [ without time zone ] | التوقيت بدون التاريخ | 00:00:00 | 24:00:00 | 8 بايت |
| time [ (p) ] with time zone | التوقيت بدون التاريخ مع المنطقة الزمنية | 00:00:00+1459 | 24:00:00-1459 | 12 بايت |
| interval [ fields ] [ (p) ] | مجال زمنيّ | -178000000 سنة | 178000000 سنة | 16 بايت |
إذ إن المتحول p يعبّر عن عدد الخانات الكسرية في حقل الثواني.
أنواع البيانات المنطقية Boolean
| النوع | الوصف | مساحة التخزين |
|---|---|---|
| boolean | تقبل قيمة TRUE أو FALSE | بايت واحد |
في محرك البيانات Oracle
أنواع البيانات العددية Numeric
| النوع | الوصف |
|---|---|
| number(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية |
| numeric(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية |
| float | لتخزين الأعداد بوجود الفاصلة العشرية |
| dec(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية |
| decimal(p,s) | يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد الخانات المسموحة ما بعد الفاصلة العشرية |
| integer | لتخزين الأعداد الصحيحة |
| int | لتخزين الأعداد الصحيحة |
| smallint | لتخزين الأعداد الصحيحة |
| real | بدقة 6 خانات عشرية |
| double precision | بدقة 15 خانة عشرية |
أنواع البيانات المحرفية Character
| النوع | الوصف |
|---|---|
| char(size) | سلسلة نصية ثابتة الطول بطول أقصى size |
| nchar(size) | سلسلة نصية ثابتة الطول بطول أقصى size |
| nvarchar2(size) | سلسلة نصية متغيرة الطول بطول أقصى size |
| varchar2(size) | سلسلة نصية متغيرة الطول بطول أقصى size |
| long | سلسلة نصية متغيرة الطول |
| raw | سلسلة من الخانات الثنائية binary متغيرة الطول |
| long raw | سلسلة من الخانات الثنائية binary متغيرة الطول |
أنواع بيانات التاريخ والتوقيت Date and Time
| النوع | الوصف |
|---|---|
| timestamp (precision) | لتخزين التاريخ والتوقيت بدقة precision للثانية |
| timestamp (precision) with timezone | لتخزين التاريخ والتوقيت بدقة precision للثانية مع اعتبار المنطقة الزمنية |
| interval year (year precision) to month | تحديد مجال يُعرَّف بالسنوات والأشهر بدقة precision للسنوات |
| interval day (precision) to second (sec_precision) | تحديد مجال يُعرَّف بالأيام والثواني بدقة precision للأيام، ودقة sec_precision للثواني |
في محرك البيانات SQLite
يمتاز محرك البيانات SQLite بقلّة أنواع بياناته، وهي:
| النوع | الوصف |
|---|---|
| INTEGER | لتخزين الأعداد الصحيحة |
| REAL | لتخزين الأعداد مع الفاصلة العشرية |
| NUMERIC | لتخزين القيم المنطقية boolean والتاريخ والتوقيت |
| TEXT | لتخزين السلاسل النصية |
إذ يُمكن أيضًا تخزين بيانات التاريخ والتوقيت بنوع البيانات TEXT بالشكل "YYYY-MM-DD HH:MM:SS.SSS"
في محرك البيانات SQL Server
البيانات العددية المحدَّدة
| النوع | بداية المجال | نهاية المجال |
|---|---|---|
| bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
| int | -2,147,483,648 | 2,147,483,647 |
| smallint | -32,768 | 32,767 |
| tinyint | 0 | 255 |
| bit | 0 | 1 |
| decimal | -10^38 +1 | 10^38 -1 |
| numeric | -10^38 +1 | 10^38 -1 |
| money | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 |
| smallmoney | -214,748.3648 | +214,748.3647 |
البيانات العددية التقريبيّة
| النوع | بداية المجال | نهاية المجال |
|---|---|---|
| float | -1.79E + 308 | 1.79E + 308 |
| real | -3.40E + 38 | 3.40E + 38 |
بيانات التاريخ والتوقيت
| النوع | بداية المجال | نهاية المجال |
|---|---|---|
| datetime | 1 كانون الثاني 1753 | 31 كانون الأول 9999 |
| smalldatetime | 1 كانون الثاني 1900 | 6 حزيران 2079 |
| date | لتخزين التاريخ فقط | |
| time | لتخزين التوقيت فقط | |
بيانات السلاسل النصية المحرفية
| النوع | الوصف |
|---|---|
| char | يصل لطولٍ أقصى 8,000 محرف (طول ثابت من محارف non-Unicode) |
| varchar | يصل لطولٍ أقصى 8,000 محرف (طول متغير من محارف non-Unicode) |
| varchar(max) | يصل لطولٍ أقصى 231 محرف، وبطول متغير من محارف non-Unicode |
| text | بطولٍ متغيّر من محارف non-Unicode بطول أقصى 2,147,483,647 محرف |
بيانات السلاسل النصّية المحرفيّة وفق Unicode
| النوع | الوصف |
|---|---|
| nchar | يصل لطولٍ أقصى 4,000 محرف (طول ثابت من محارف Unicode) |
| nvarchar | يصل لطولٍ أقصى 4,000 محرف (طول متغير من محارف Unicode) |
| nvarchar(max) | يصل لطولٍ أقصى 231 محرف وبطول متغير من محارف Unicode |
| ntext | بطولٍ متغير من محارف Unicode بطول أقصى 1,073,741,823 محرف |
البيانات الثنائية
| النوع | الوصف |
|---|---|
| binary | يصل لطولٍ أقصى 8,000 بايت (طول ثابت من البيانات الثنائية) |
| varbinary | يصل لطولٍ أقصى 8,000 بايت (طول متغير من البيانات الثنائية) |
| varbinary(max) | يصل لطولٍ أقصى 231 بايت وبطول متغير من البيانات الثنائية |
| image | بطولٍ متغير من البيانات الثنائية، بطول أقصى 2,147,483,647 بايت |