الفرق بين المراجعتين لصفحة: «SQL/datatype»
< SQL
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
جميل-بيلوني (نقاش | مساهمات) ط إضافة seo |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:أنواع البيانات في SQL}}</noinclude> | <noinclude>{{DISPLAYTITLE:أنواع البيانات في SQL}}</noinclude> | ||
تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. | تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. | ||
{{Course|course=cs}} | |||
__TOC__ | |||
== في محرك البيانات MySQL == | == في محرك البيانات MySQL == | ||
سطر 497: | سطر 498: | ||
* [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|{{SUBPAGENAME}}]] | [[تصنيف: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 بايت |