سبد (0)

تبلیغات

انوع داده در SQL

انواع داده ها (Data type) و دامنه آن ها در Microsoft Access ,MySQL و SQL Server


انواع داده ها در Microsoft Access

Wiki

نوع داده توضیحات فضا
Text

متن یا ترکیب متن و اعداد، حداکثر 255 کاراکتر

 
Memo

متن های طولانی، حدکثر 65,536 کاراکتر

توجه: فیلدهای از نوع Memo را نمی توان مرتب (sort) کرد، اما قابل جستجو هستند

 
Byte

اجازه می دهد هرعددی از 0 تا 255 را وارد کرد

1 byte
Integer

اجازه می دهد هرعددی بین 32767 تا 32768- وارد شود

2 bytes
Long

اجازه می دهد هرعددی بین 2,147,483,647 تا 2,147,483,648- وارد شود

4 bytes
Single

اعداد اعشاری با دقت واحد 

4 bytes
Double

اعداد اعشاری با دقت مضاعف

8 bytes
Currency

از این نوع داده ها برای نگهداری مقادیر پولی یا ارزی استفاده می شود. اکسس تمامی مقادیر پولی/ارزی را با ۱۵ رقم در سمت چپ و چهار رقم در سمت راست نقطه اعشار نگه می دارد, لذا می توانید اعداد با دقت بالا را در فیلدهای پولی نگه دارید
توجه: می توانید کشوری که ارز مورد نظرتان در آن استفاده می شود را انتخاب نمایید

8 bytes
AutoNumber

وقتی که فیلدی را را از نوع داده Auto number تعریف می کنید، با هر رکوردی که به جدول اضافه شود اکسس به طور خودکار عددی را در این فیلد نگه می دارد

4 bytes
Date/Time

برای نگهداری داده های از نوع تاریخ و زمان استفاده می شود

8 bytes
Yes/No

فیلدی که از نوع Yes/No تعریف می شود به ازای Yes عدد ۱- و به ازای No عدد ۰ را دارا می شود. با استفاده از بخش Filed Properties در پنجره مذکور می توانید بسته به دلیل استفاده از فیلد, یکی از سه حالت Yes/No, True/False (درست یا غلط) یا On/Off (روشن و خاموش) را به کار ببرید.
توجه: مقدار NULL را نمی پذیرد

1 bit
Ole Object

OLE مخفف Object Linking and Embedding (اتصال و نشاندن شی) است. 
فیلدهای OLE برای نگه داری اشیایی از قبیل عکس, تصاویر ویدیوئی و صدا مناسب است.

up to 1GB
Hyperlink

شامل لینک هایی به دیگر فایل ها یا صفحات وب است

 
Lookup Wizard

هنگام تعریف این نوع داده، یک لیست از گزینه های انتخابی را مشخص می کنید و هنگام ورود اطلاعات یک لیست کشویی نمایش داده خواهد شد

4 bytes

انواع داده ها در MySQL

Wiki

در MySQL سه نوع اصلی داده وجود دارد: نوع متنی، نوع عددی و نوع تارخ/زمان

داده های متنی

نوع داده توضیحات
CHAR(size)

رشته ای با طول ثابت (می تواند شامل حروف، اعداد و کاراکترهای خاص باشد)
طول رشته در پرانتر مشخص می شود و حداکثر 255 کاراکتر است

VARCHAR(size)

رشته ای با طول متغیر (می تواند شامل حروف، اعداد و کاراکترهای خاص باشد)

حداکثر طول رشته در پرانتز مشخص می شود و حداکثر 255 کاراکتر است

توجه: اگر رشته ای با طول بیش از 255 کاراکتر را در آن قرار دهید، به نوع TEXT تبدیل خواهد شد

TINYTEXT

رشته ای با طول حداکثر 255 کاراکتر

TEXT

رشته ای با طول حداکثر 65,535 کاراکتر

BLOB

داده باینتری با طول حداکثر 65,535 بایت (Binary Large OBject)

MEDIUMTEXT

رشته ای با طول حداکثر 16,777,215 کاراکتر

MEDIUMBLOB

داده باینتری با طول حداکثر 16,777,215 بایت (Binary Large OBject)

LONGTEXT

رشته ای با طول حداکثر 4,294,967,295 کاراکتر

LONGBLOB

داده باینتری با طول حداکثر 4,294,967,295 بایت (Binary Large OBject)

ENUM(x,y,z,etc.)

فقط یکی از مقادیری که در پرانتز لیست شده است، اجازه ورود دارد. می توانید حداکثر 65535 کاراکتر در ENUM لیست کنید

اگر مقداری که در لیست وجود ندارد، درج شود، یک blank یا فضای خالی بجای آن در نظر گرفته می شود
توجه: مقادیر به ترتیبی که شما وارد کرده اید، مرتب می شوند

SET

مانند ENUM است با این تفاوت که، حداکثر 64 آیتم می توانید لیست کنید و همچنین بیشتر از یک انتخاب دارید

داده های عددی 

نوع داده توضیحات فضا
TINYINT(size)

محدوده اعداد مجاز به صورت علامت دار: 128- تا 127
محدوده اعداد مجاز به صورت بدون علامت: 0 تا 255

1 byte

SMALLINT(size)

محدوده اعداد مجاز به صورت علامت دار: 32768- تا 32767
محدوده اعداد مجاز به صورت بدون علامت: 0 تا 65535

2 byte

MEDIUMINT(size)

محدوده اعداد مجاز به صورت علامت دار: 8388608- تا 8388607
محدوده اعداد مجاز به صورت بدون علامت: 0 تا 16777215

3 byte

INT(size)

محدوده اعداد مجاز به صورت علامت دار: 2147483648- تا 2147483647
محدوده اعداد مجاز به صورت بدون علامت: 0 تا 4294967295

4 byte

BIGINT(size)

محدوده اعداد مجاز به صورت علامت دار: 9223372036854775808- تا 9223372036854775807
محدوده اعداد مجاز به صورت بدون علامت: 0 تا 18446744073709551615

8 byte 

FLOAT(size,d)

از این دو نوع داده برای ذخیره اعداد اعشاری با ممیز شناور استفاده می شود
پارامتر size حداکثر تعداد ارقام و پارمتر d حداکثر تعداد ارقام سمت راست ممیز اعشار را مشخص می کند
پارامتر size نشان دهنده 4 byteی یا 8 byteی بودن فیلد است. اگر بین ا تا 24 باشد، 4 byteی است و اگر بین 25 تا 53 باشد، 8 byteی است

4 یا 8 byte
DOUBLE(size,d)

از این دو نوع داده برای ذخیره اعداد اعشاری با ممیز شناور استفاده می شود

پارامتر size حداکثر تعداد ارقام و پارمتر d حداکثر تعداد ارقام سمت راست ممیز اعشار را مشخص می کند

8 byte

DECIMAL(size,d)

از این نوع داده برای نگهداری اعداد اعشاری با ممیز ثابت استفاده می شود. این نوع داده برای هر ۹ رقم ، ۴ بایت فضا اشغال می کند
پارامتر size حداکثر تعداد ارقام و پارمتر d حداکثر تعداد ارقام سمت راست ممیز اعشار را مشخص می کند

 

- اگر هنگام تعریف فیلد از کلمه کلیدی UNSIGNED استفاده کنیم میتوانیم مقادیر بدون علامت را درون فیلد بریزیم، ولی بطور پشفرض فیلد ها مقادیر علامت دار (SIGNED) را می پذیرند.

- میتوان تعداد ارقامی که به نوع دادهٔ Integer نسبت داده می شود را محدود نمود، به عنوان مثال: (INT(5 یعنی فیلدی از جنس INT  که 5 رقم را در خود جای می دهد.

- وقتی از کلمه کلیدی ZEROFILL استفاده می کنیم، اگر مقدار نسبت داده شده به فیلد از تعداد ارقام مشخص شده کمتر باشد، با اضافه کردن 0 به سمت چپ عدد، آن مقدار را هم اندازه تعداد ارقام مشخص شده می کند.

داده های تاریخ/زمان

نوع داده توضیحات فضا
DATE()

این نوع داده برای نگهداری تاریخ (بدون ساعت)، با غالب 'YYYY-MM-DD' استفاده می شود
توجه:  محدوده تاریخی بصورت '01-01-1000' تا '31-12-9999' می باشد

3 byte

DATETIME()

این نوع داده برای نگهداری زمان (هم تاریخ و هم ساعت بصورت تفکیک شده و بدون توجه به منطقه زمانی)، با غالب 'YYYY-MM-DD HH:MM:SS' استفاده می شود
توجه: محدوده زمانی بصورت '00:00:00 01-01-1000' تا '23:59:59 31-12-9999' می باشد.

8 byte

TIMESTAMP()

هر زمان سطری ایجاد یا تغییر داده می شود، یک عدد یکتا بصورت اتوکاتیک در این فیلد ذخیره می شود. داده timestamp وابسته به ساعت داخلی سیستم می باشد و با زمان واقعی مطابقت ندارد. هر جدولی ممکن است یک timestamp متفاوت داشته باشد.

به عبارت دیگر در این فیلد ۸ بایتی، تایم لحظه‌ای اجرای دستور نگهداری می‌شود و کاربرد آن کنترل بروزرسانی همزمان (Concurrency) اطلاعات توسط چند کاربر است. البته در تعداد رکوردهای پایین به کار نمی‌آید و بیشتر زمانی مورد نیاز است که تعداد رکوردها خیلی زیاد باشد مثلاً ۱۰۰ میلیون رکورد!

توجه: محدوده زمانی بصورت  '00:00:00 01-01-1000' UTC  تا '23:59:59 31-12-9999' UTC می باشد. یعنی هنگام ذخیره سازی زمان ، آن را از زمان محلی (Time Zone) سیستم به زمان UTC (گیرینویچ) تبدیل می کند و هنگام بازیابی ، آنرا از UTC به زمان محلی سیستم تبدیل می کند.

4 byte

TIME()

این نوع داده برای نگهداری زمان (فقط ساعت ، بدون تاریخ)، با غالب 'HH:MM:SS' یا 'HHH:MM:SS' استفاده می شود
توجه: محدوده ساعتی بصورت '838:59:59-' تا '838:59:59' می باشد. علت پذیرش مقدار منفی در این نوع داده این است که می توان از این نوع داده برای ذخیره اختلاف دو زمان استفاده کرد

3 byte

YEAR()

ذخیره سال به فرمت: دو رقمی یا چهار رقمی
توجه: مقادیر چهار رقمی: از 1901 تا 2155 و مقادیر دو رقمی: از 70 تا 69 که نماینده 1970 و 2069 است

1 byte


انواع داده ها در SQL Server

Wiki

داده های متنی

نوع داده توضیحات فضا
char(n)

رشته ای با طول ثابت، حداکثر 8000 کاراکتر
مصرف فضای ابن نوع وابسته به تعداد کاراکترهای آن است هر کاراکتر یک بایت اشغال می کند

n می تواند عددی بین 1 تا 8000 باشد

توجه: اگر 5=n باشد و 2 کاراکتر وارد کنید، 3 کاراکتر باقی مانده با Space پر می شود

مزیت این نوع داده در جستجوی سریع آن است

n
varchar(n)

رشته ای با طول متغیر، حداکثر 8000 کاراکتر
از این نوع داده زمانی استفاده می کنیم که میزان فضایی که داده ها اشغال می کنند بسیار متغیر باشد 

توجه: اگر 5=n باشد و 2 کاراکتر وارد کنید، فقط به اندازه 2 کاراکتر فضا اشغال می شود (3 کاراکتر باقی مانده در نظر گرفته نمی شود)

مزیت این نوع داده در میزان فضای استفاده شده است

 
varchar(max)

رشته ای با طول متغیر، حداکثر 1,073,741,824 کاراکتر

به جای n در مورد قبلی می توان از عبارت max استفاده کرد تا حداکثر فضای امکان پذیر در دسترس باشد

 
text

رشته کاراکتر با طول متغیر، حداکثر 2GB داده متنی 

 

داده های متنی Unicode

نوع داده توضیحات فضا
nchar(n)

داده Unicode با طول ثابت، حداکثر 4,000 کاراکتر

میزان مصرف این نوع داده دو بایت به ازای هر کاراکتر است. بخاطر این موضوع، n باید بین یک تا چهار هزار تعیین شود

 
nvarchar(n)

داده Unicode با طول متغیر، حداکثر 4,000 کاراکتر 

 
nvarchar(max)

داده Unicode با طول متغیر، حداکثر 536,870,912 کاراکتر 

 
ntext

داده Unicode با طول متغیر، حداکثر 2GB داده متنی

 

داده های Binary

نوع داده توضیحات فضا
bit

0، 1 یا NULL 

 
binary(n)

داده باینری با طول ثابت حداکثر 8000 بایت

 
varbinary(n)

داده باینری با طول متغیر حداکثر 8000 بایت

 
varbinary(max)

داده باینری با طول متغیر حداکثر 2GB

 
image

داده باینری با طول متغیر حداکثر 2GB

 

داده های عددی

نوع داده توضیحات فضا
tinyint

اعداد صحیح بین 0 تا 255

1 byte
smallint

اعداد صحیح بین 32,767 تا 32,768-

2 bytes
int

اعداد صحیح بین 2,147,483,647 تا 2,147,483,648 -
معادل از منفی 231 تا 231 منهای یک است

4 bytes
bigint

اعداد صحیح بین 9,223,372,036,854,775,807 تا 9,223,372,036,854,775,808-

که معادل از منفی 263 تا 263 منهای یک است

8 bytes
decimal(p,s)

اعداد با مقیاس (scale) و دقت (precision) ثابت
از منفی 1038 بعلاوه یک تا 1038 منهای یک
پارامتر p ماکزیمم تعداد ارقام یک عدد را نشان می دهد (شامل هم ارقامی که سمت راست علامت اعشار می آیند و هم ارقامی که سمت چپ علامت اعشار می آیند) پارامتر p باید مقداری بین صفر تا 38 باشد. مقدار پیش فرض 18 می باشد.
پارامتر s ماکزیمم تعداد ارقامی که سمت راست علامت اعشار می آید را نشان می دهد. پارامتر s باید عددی بین صفر تا p باشد. مقدار پیش فرض عدد صفر است

5-17 bytes
numeric(p,s)

اعداد با مقیاس (scale) و دقت (precision) ثابت
از منفی 1038 بعلاوه یک تا 1038 منهای یک
پارامتر p ماکزیمم تعداد ارقام یک عدد را نشان می دهد (شامل هم ارقامی که سمت راست علامت اعشار می آیند و هم ارقامی که سمت چپ علامت اعشار می آیند) پارامتر p باید مقداری بین صفر تا 38 باشد. مقدار پیش فرض 18 می باشد.
پارامتر s ماکزیمم تعداد ارقامی که سمت راست علامت اعشار می آید را نشان می دهد. پارامتر s باید عددی بین صفر تا p باشد. مقدار پیش فرض عدد صفر است

5-17 bytes
smallmoney

داده های ارزی بین 214,748.3648- تا 214,748.3647 

4 bytes
money

داده های ارزی بین 922,337,203,685,477.5808- تا 922,337,203,685,477.5807

8 bytes
float(n)

برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر و یا تخمـینـی استفاده می‌شود (from -1.79E + 308 to 1.79E + 308)
پارامتر n نشان دهنده 4 byteی یا 8 byteی بودن فیلد است. اگر بین ا تا 24 باشد فیلد، 4 byteی است و اگر بین 25 تا 53 باشد فیلد، 8 byteی است. مقدار پیش فرض عدد 53 است. 

4 یا 8 bytes
real

 برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر و یا تخمـینـی استفاده می‌شود (from -3.40E + 38 to 3.40E + 38)

4 bytes

داده های تاریخ و زمان

این نوع فیلد‌ها برای نگهداری تاریخ میلادی و ساعت استفاده می‌شود و برای تاریخ شمسی کاربردی ندارد.

نوع داده توضیحات فضا
datetime

از تاریخ اول January سال 1753 تا سی ویکم December سال 9999 با دقت 3.33 میلی ثانیه 

8 bytes
datetime2

از تاریخ اول January سال 0001 (01/01/0001) تا سی ویکم December سال 9999 (31/12/9999)  با دقت 100 نانو ثانیه 

6-8 bytes
smalldatetime

از تاریخ  اول January سال 1900 تا ششم June سال 2079 با دقت یک دقیقه 

4 bytes
date

فقط تاریخ را ذخیره می کند. از تاریخ  اول January سال 0001 (01/01/0001) تا سی ویکم December سال 9999(31/12/9999) 

3 bytes
time

فقط زمان را ذخیره می کند با دقت 100 نانو ثانیه 

3-5 bytes
datetimeoffset

مشابه datetime2 می باشد به علاوه timeoffset را ذخیره می کند

8-10 bytes
timestamp

هر زمان سطری ایجاد یا تغییر داده می شود، یک عدد یکتا ذخیره می شود. داده timestamp وابسته به ساعت داخلی سیستم می باشد و با زمان واقعی مطابقت ندارد. هر جدولی ممکن است یک timestamp متفاوت داشته باشد.

به عبارت دیگر در این فیلد ۸ بایتی، تایم لحظه‌ای اجرای دستور نگهداری می‌شود و کاربرد آن کنترل بروزرسانی همزمان (Concurrency) اطلاعات توسط چند کاربر است. البته در تعداد رکوردهای پایین به کار نمی‌آید و بیشتر زمانی مورد نیاز است که تعداد رکوردها خیلی زیاد باشد مثلاً ۱۰۰ میلیون رکورد!

 

انواع داده ای دیگر

نوع داده توضیحات
sql_variant

این نوع فیلد، به جز داده های text, ntext, timestamp برای نگهداری انواع داده های دیگر استفاده می‌شود و نوع آن با توجه به اولین مقداری که در آن قرار می‌گیرد تعیین خواهد شد. (حداکثر 8000 بایت) چون نوع و حجم فیلد مشخص نیست، لذا تنها یک اشاره‌گر ۱۶ بایتی در آن قرار گرفته و داده اصلی در فایل جداگانه نگهداری می‌شود. استفاده از این نوع فیلد، توصیه نمی‌گردد.

uniqueidentifier

این فیلد ۱۶ بایتی، به ما کدی Unique یا یکتا می‌دهد که به اصطلاح GUID می‌گویند. یکی از کاربردهای آن در Replication است. 

xml

داده هایی با فرمت XML را ذخیره می کند. (حداکثر 2GB)

این فیلد بیشتر برای انتقال اطلاعات و دستورات تحت web استفاده می‌شود و شامل انواع MetaData های مختلف است. این فیلد در SQL 2005 معرفی گردید. 

cursor

این فیلد مربوط به كنترل Cursor است و مرجع یک Cursor در آن ذخیره می شود

table

نتیجه یک کوری را برای عملیاتهای بعدی ذخیره می کند. 


برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.

دیدگاه‌ها  

+1 # kowsar 1395-12-10 00:25
سلام برای فیلد جنسیت از نوع داده bit استفاده کردم کجا باید مقدار بدم 0 یا 1 بدم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1395-12-10 09:26
سلام اگر از پایگاه داده SQL Server استفاده می کنید و قصد دارید از داخل پایگاه داده، داده ای وارد کنید مراحل زیر را طی کنید:
1- روی جدول مورد نظر، کلیک راست کرده و گزینه Edit را انتخاب کنید.
2- بلافاصله یک تب جدید باز می شود، حالا در انتهای جدول شروع به وارد کردن اطلاعات ردیف جدید نمایید.
3- برای نوع داده Bit می توانید مقادیر True یا False را تنظیم نمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mahbar 1395-05-04 12:57
سلام من میخواهم در فیلد جدول فایل ذخیره کنم (image,pdf,...) ، از چه نوع داده ای میتوانم استفاده کنم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1395-05-07 21:16
با سلام.
بهتره برای ذخیره فایل، فایل رو در سرور آپلود و بعد از طریق کدنویسی، «مسیر» اون رو در دیتابیس ذخیره کنید.

این یک روش معمول برای ذخیره فایل در سرور هست.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # آزاده 1395-01-15 11:42
سلام و وقت بخیر
یه سوال داشتم... من میخوام این فرمول رو بنویسم
a/b=x
میخوام که جوابش رو تا دو رقم بعد از اعشار نمایش بده.
decimal که میزنم ، چیز دیگه ای هم باید بهش اضاف کنم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مهرداد صلاحی 1395-01-15 11:54
با سلام و تشکر.
اگر قصد دارید این عدد رو در دیتابیس ذخیره کنید، باید نوع داده مناسب رو انتخاب کنید. دسیمال، دابل و ...

اما اگر قصد دارید این مقدار در حین اجرای کد نمایش داده بشه، باید از کدنویسی استفاده کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # فاطمه 1394-09-22 12:55
سلام خسته نباشید
در برنامه sql server تاریخ دقیقا به چه صورتی ذخیره میشود؟
چون وقتی من مثلا میزنم 1111/01/01 به این صورت ذخیره میشود ===> 1903/01/17 !!!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-1 # مهرداد صلاحی 1394-09-22 20:58
در پایین یک نمونه کد آورده شده است.
برای مثال شما باید برای وارد کردن به جای 1111/01/01 عبارت YYYY/MM/DD رو جایگزین کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-1 # فاطمه 1394-09-21 23:15
سلام خسته نباشید.
تاریخ باید چجوری وارد شه
چون وقتی متن زیر رو وارد میکنم
  • INSERT INTO karmand (no_karmand,firstname,lastname,tarikhe_tavalod,taahol,tel,
    addres,sabeghe_kar,hoghoogh,email)
    VALUES ( 1,'fateme ',' ahmadi',1993/8/ 12 ,1,09126985471,'iran-tehran-kh.valiasr',
    '2sal kar dar shekrkate saze gostar gharb',1800000,'[email protected]')

چنین پیغام خطایی رو میده
Operand type clash: int is incompatible with date
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-09-22 20:57
با سلام و تشکر.
معمولا فیلد datatime دارای فرمت‌های گوناگونی هست که با سرچ می‌تونید فرمت‌های اون رو به دست بیارید. یه نمونه در کد زیر آمده است:
INSERT tablename (fieldname) VALUES(convert( datetime,'18-06 -12 10:34:09 PM',5));

توسط توابع convert می‌تونید فرمت خاصی به فیلد بدید.

اما اگه بخوام یه راهنمایی بهتر بکنم، این هست که برای ذخیره تاریخ بهترین و راحت‌ترین و انعطاف‌پذیرترین راه این هست که شما یک فیلد از نوع integer تعریف کنید و تاریخ رو به صورت timestamp در اون فیلد ذخیره کنید. timestamp در واقع یک مقدار عددی از نوع صحیح هست که تاریخ رو به صورت ثانیه به شما نشون میده. به این صورت که از تاریخ 1970/1/1 محاسبه میشه. با این روش انعطاف خیلی زیادی می‌تونید به کدهاتون و برنامه‌تون بدید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # علی نیکنام 1394-08-07 12:27
با سلام
منظور از داده متنی unicode چیه فرقش با داده متنی ساده چی هست؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-08-07 19:20
با سلام.
کاراکترهای معمولی 8 بیت در حافظه اشغال می‌کنن، ولی کاراکترهایی که در سیستم یونیکد ذخیره می‌شوند، نیاز به 16 بیت برای ذخیره‌سازی دارن.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # webnoos.com 1394-02-22 14:40
در نوع داده Yes/No در Microsoft Access شما فرمودین که اگر yes باشه -1 رو برمیگردونه آیا این درست است؟؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1394-02-24 11:47
بله، درسته ...
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # Amir hossein 1393-08-16 12:12
صزفاً برای مدیریت: فاصله بین خطوط در قسمت دیدگاه ها خیلی کمه، و فکر کنم بهتر باشه هم اندازه فونت رو تغییر بدید هم نوع فونت رو.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1393-08-16 15:53
اصلاح شد، برای مشاهده نتیجه، باید از دکمه F5 استفاده کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Amir hossein 1393-08-16 12:10
با سلام و درود. . .
به مشکل دیگه ای بر خوردم، با توجه به جدول نوع داده ای اعداد در mysql نوع داده ای TINYINT حداکثر طول مجازش رو میشه تعیین کرد. ولی وقتی من 1 رو ثبت میکنم بازم میشه از عدد 1 تا 255 رو در اون فیلد ثبت کرد. مشکل از کجاست؟ باید تنظیم خاصی انجام بدم؟ ATTRIBUTES رو برابر UNSINED قرار دادم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1393-08-16 16:31
()TINYINT: عدد داخل پرانتز، نشان دهنده تعداد ستون های نمایش است. بعبارتی MySQL، زمانی که می خواهد نتیجه یک کوئری را برگرداند از آن استفاده می کند.
باید توجه داشته باشید که عدد داخل پرانتز، هیچ تأثیری در محدوده پذیرش مقادیر ندارد، بطور مثال (1)TINYINT هنوز از 127- تا 127+ را می پذیرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Amir Hossein 1393-08-16 17:02
به نقل از پهلوان صادق:
()TINYINT: عدد داخل پرانتز، نشان دهنده تعداد ستون های نمایش است. بعبارتی MySQL، زمانی که می خواهد نتیجه یک کوئری را برگرداند از آن استفاده می کند.
باید توجه داشته باشید که عدد داخل پرانتز، هیچ تأثیری در محدوده پذیرش مقادیر ندارد، بطور مثال (1)TINYINT هنوز از 127- تا 127+ را می پذیرد.


یعنی نمیشه تعیین کرد حداکثر تا فلان عدد یا حد اکثر اعداد دو رقمی؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-08-17 07:35
همان طور که اشاره شد از طریق خصوصیت Length امکان پذیر نیست...! اینکه هنگام Insert، کاربر را به محدوده ای از اعداد مثلاً بین 0 تا 99 محدود کنیم، ما را به یاد محدودیتی بنام CHECK در SQL Server می اندازد که متأسفانه در MySQL همچین چیزی وجود ندارد، البته می توان این موضوع را از طریق Trigger حل کرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # Amir hossein 1393-08-15 23:30
شرمنده از اینکه مطلب رو کامل نخوندم و سولی رو پرسیدم که دقیقاً تو مطلب توضیح داده بودید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Amir hossein 1393-08-15 22:56
سلامی دوباره، یک سوال دیگه برام پیش اومد، در مورد char و varchar در mysql ، تو این صفحه http://dev.mysql.com/doc/refman/5.0/en/char.html اونطور که من متوجه شدم میگه اگه نوع داده ای char باشه و مقدار فیلد کمتر از حد تعیین شده باشه سمت راست مقدار وارد شده اونقدر کاراکتر فاصله اضافه میشه تا به حد تعیین شده برسه. آیا درست متوجه شدم؟ در ضمن داده اهی متنی دیگه مثل tinytext , smalltext هم همینطور هستند؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-08-16 11:37
سلام، صحبت شما فقط در مورد نوع داده char صحیح است، یعنی اگر 5=n باشد و 2 کاراکتر وارد کنید، 3 کاراکتر باقی مانده با Space پر می شود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # Amir hossein 1393-08-15 22:49
سلام، وبسایت بسیار عالی دارید، من تا الان از w3schools استفاده میکردم اما از وقتی که از وبسایت شما بازدید کردم و مطالبشو خوندم فهمیدم نصف چیزایی که تو w3schools میخوندم رو درست متوجه نمیشدم :دی

خب یه مشکل واسم پیش اومده: به گفته خودتون و oracle و مستندات mysql نوع داده عددی SMALLINT محدوده اعداد مجاز به صورت علامت دار: 32768- تا 32767 و محدوده اعداد مجاز به صورت بدون علامت: 0 تا 65535 هست.

حالا اگه منظورتون از علامت مثبت(+) یا منفی(-) هست من هیچکدوم از اینهارو قرار نمیدم و تا 32767 هیچ اروری نمیده اما وقتی میزنم 32768 ارور out of range رو میده. تنظیم خاصی باید انجام بدم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-08-16 15:24
سلام، اگر هنگام تعریف فیلد SMALLINT از کلمه کلیدی UNSIGNED استفاده کنیم میتوانیم مقادیر بدون علامت را درون فیلد بریزیم و از 0 تا 65535 را می پذیرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی SQL

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی