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

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی انواع داده در MySQL
    نویسنده پیام
    k2-4u آفلاین
    LAMP Programmer
    ***

    ارسال‌ها: 88
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۱
    اعتبار: 4
    تشکرها : 64
    ( 218 تشکر در 56 ارسال )
    ارسال: #1
    انواع داده در MySQL
    خب دوستان برای اینکه موضوعات .
    با هم قاصی نشده . برای نوع های داده
    تاپیک جدید باز کردم


    نوع داده عددی

    تعریف درست نوع های داده و طول آنها بسیار مهم است
    و باید به آن دقت شود در حال حاضر MySQL
    9 نوع عددی + یک نوع جدید (که در ورژن 5.0.3 است ) دارد

    BIT : این نوع در ورژن 5.0.3 اضافه شده است

    در حالت Default این نوع 1 بیت طول دارد .
    و می تواند یک ورودی هم بگیرد که تا حداکثر 64 بیت جا دارد


    TINYINT حداکثر طول 1 بایت
    مثال حقیقی : از -128 تا 127
    توجه : نوع های BOOL, BOOLEAN به صورت خود کار به این نوع تبدیل می شوند یعنی
    کد:
    TINYINT(1)

    SMALLINT حداکثر طول 2 بایت
    مثال حقیقی : از -32768 تا 32767

    MEDIUMINT حداکثر طول 3 بایت
    مثال حقیقی : از -8388608 تا 8388607

    INTEGER , INT حداکثر طول 4 بایت
    مثال حقیقی : از -2147483648 تا 2147483647

    BIGINT حداکثر طول 8 بایت
    مثال حقیقی : از -9223372036854775808 تا 9223372036854775807

    DECIMAL(M,D) , NUMERIC(M,D) متغییر است (در ادامه توضیح داده شده است )
    مثال حقیقی : این نوع 2 ورودی میگیرد که شامل طول عدد از برای مثال
    کد:
    DECIMAL(10,1);
    به معنای 1 تا 10 است


    و اعداد اعشاری

    FLOAT حداکثر طول 4 بایت
    مانند نوع INT با این تفاوت که می تواند اعشاری باشد

    DOUBLE حداکثر طول 8 بایت
    مانند نوع BIGINT با این تفاوت که می تواند اعشاری باشد


    نوع های TINYINT , MEDIUMINT , INT , BIGINT می توانند یک ورودی بگیرند
    که حداکثر طول مقدارشان را مشخص می کند برای مثال
    کد:
    CREATE TABLE tb1(
    col1 TINYINT(1),
    col2 INT(20)
    );


    نوع های DECIMAL , DOUBLE , FOLAT می توانند 2 ورودی بگیرند که شامل محدوده شروع و پایان عدد است
    برای مثال
    کد:
    CREATE TABLE tb1(
    co1l DOUBLE(10.5,5.4)
    co12 FOLAT(11,4),
    col3 DECIMAL(20,4)
    );


    برای انواع اعداد 2 سویچ مهم وجود دارد

    UNSIGNED : به معنای اینکه نمی تواند عدد منفی باشد در صورتی که این مقدار را وارد نکنید به صورت
    پیشفرض SIGNED می شود . پس بهتر است در صورتی که با اعداد منفی سر و کار ندارین این سویچ را فعال کنید

    ZEROFILL : با فعال کردن این سویچ . به اندازه طول مجاز . قبل از عدد صفر گذاشته می شود

    ----------------------------------------------------------------

    مشخص کردن طول بسیار مهم است برای مثال برای ستونی که مربوط به سن است باید
    کد:
    CREATE TABLE tb1(
    age TINYINT(2) UNSIGNED
    );
    حداکثر طول 2 باشد . تا بیشتر از 99 نشود
    و همینطور که میبینید .سویچ UNSIGNED فعال است
    تا منفی وارد نشود


    نوع داده رشته

    تعریف نوع و طول رشته نیز مانند . اعداد مهم است
    در حال حاضر MySQL
    از 14 نوع داده رشته پشتیبانی می کند

    CHAR تا حداکثر 255 کارکتر .
    بهتر است داده های زیر 4 کارکتر را به این نوع اختصاص دهید . فرق این نوع با VARCHAR
    این است که VARCHAR وابسته به مقدار اطلاعاتی که در خود دارد طول خود را عوض می کند
    اما CHAR دارای طول ثابت است
    به این نوع داده حتما باید طول بدهید . برای مثال
    کد:
    CHAR(3)
    مقدار CHAR در حقیقت برابر است با CHARACTER. NATIONAL CHAR در استاندارد SQL


    BINARY : مانند CHAR ولی به صورت دودوی (باینری)

    VARCHAR طول متغییر و قابل تغییر تا حداکثر 65,535 بایت
    به این نوع داده حتما باید طول بدهید . برای مثال
    کد:
    VARCHAR(243)
    این نوع داده دارای یک قابلیت خاص است و آن این است که . جدا از تعریف طول
    بسته به مقداری که اطلاعات در آن قرار دارد فضا اشغال می کند

    VARBINARY : مانند VARCHAR ولی به صورت دودوی (باینری)

    TINYTEXT از 1 تا حداکثر 2 به توان 8 بایت
    که می شود 255 بایت

    TEXT از 2 تا حداکثر 2 به توان 16 بایت
    که می شود 65,535 بایت

    MEDIUMTEXT از 3 تا حداکثر 2 به توان 24 بایت
    که می شود 16,777,215 بایت

    LONGTEXT از 4 تا حداکثر 2 به توان 32 بایت
    که می شود 4,294,967,295 بایت یا 4 گیگابایت

    TINYBLOB مانند TINYTEX ولی به صورت باینری

    BLOB مانند TEXT ولی به صورت باینری

    MEDIUMBLOB مانند MEDIUMTEXT ولی به صورت باینری

    LONGBLOB مانند LONGTEXT ولی به صورت باینری

    ENUM یک یا دو بایت . حداکثر 65,535 مقدار

    SET یک , 2 , 3 ,4 یا 8 بایت , حداکثر 64 عضو


    شما می توانید با اضافه کردن BINARY . به نوع های CHAR, VARCHAR, TEXT, ENUM, SET آنها را تبدیل به
    باینری کنید . برای مثال
    کد:
    CREATE TABLE tb1(
    col TEXT BINARY
    col2 ENUM(1,2,3) BINARY
    );
    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۲۱ ۰۸:۰۵ عصر، توسط k2-4u.)
    ۱۳۸۸ بهمن ۲۱ ۰۸:۰۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : payam admin zoghal ahora Y.P.Y php scooter parvane niman2d hosseintdk775 imez08 GPForce maosudlin mahdirabbani ayoubsys
    ahora آفلاین
    کسی که از شکست نا امید نمیشه
    ****

    ارسال‌ها: 384
    تاریخ عضویت: ۱۳۸۷ دي ۹
    اعتبار: 4
    تشکرها : 130
    ( 54 تشکر در 41 ارسال )
    ارسال: #2
    RE: انواع داده در MySQL
    سلام

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

    مثلاً در مورد اعداد میشه بگید کدوم یکی هر کدوم در چه شرایطی میشه به کا برد؟
    tinyitn در چه موقع هایی بهترینه و intد چه مواردی؟ کدوم یک بهترند؟

    یا در بین رشته ها این binry چی هست؟ به چه دردی میخوره و سوالات مختلف دیگر......
    در مورد این بایت و بیت ها هم که گفتید طرز استفادشون چطور بفهمیم این اطلاعاتی که میخواد وارد بشه درچه حدی هست که بهترین وبهینه ترین گزینه را انتخاب کنیم
    __________________________________________________________________________
    با تشکر ممل آمریکایی
    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۲۲ ۰۵:۲۵ عصر، توسط ahora.)
    ۱۳۸۸ بهمن ۲۲ ۰۵:۲۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS