MySQL-ի տվյալների տիպերը

Աղյուսակի դաշտերի ճիշտ սահմանումը կարևոր է տվյալների բազայի ընդհանուր օպտիմալացման համար: Դու պետք է օգտագործես դաշտի միայն այն տիպն ու չափը, որն իսկապես անհրաժեշտ է օգտագործել; մի սահմանիր դաշտի երկարությունը 10 սիմվոլ, եթե դու օգտագործելու ես միայն 2-ը: Դաշտերի (կամ սյուների) այս տիպերը կոչվում են նաև տվյալների տիպեր, քանի որ այս դաշտերում պահվելու են այդ տիպի տվյալներ:

MySQL-ն օգտագործում է բազմաթիվ տվյալների տիպեր, որոնք բաժանվում են հետևյալ երեք խմբերի` թվային տիպի ինֆորմացիա պահելու(numeric), ամսաթիվ և ժամանակ պահելու(date and time) և տեքստային տիպի ինֆորմացիա պահելու(string) համար նախատեսված խմբեր:

Թվային տվյալների տիպեր

MySQL-ն օգտագործում է բոլոր ստանդարտ ANSI SQL թվային տիպերը, այսպիսով, եթե դու մեկ այլ տվյալների բազայի համակարգից անցնում ես MySQL-ի, ապա այս սահմանումները քեզ ծանոթ կլինեն: Հետևյալ ցանկում բերված են ընդհանուր թվային տվյալների տիպերը և նրանց նկարագրությունները.

INT – Նորմալ չափ ունեցող ամբողջ թիվ է, որը կարող է ունենալ նշան(signed ) կամ լինել առանց նշանի(unsigned): Եթե ունի նշան, ապա թույլատրելի արժեքների միջակայքը -2147483648-ից 2147483647-ն է, եթե առանց նշանի է` 0-ից 4294967295-ը: Կարելի է նշել մինչև տասնմեկանիշ թիվ:

TINYINT– Շատ փոքր ամբողջ թիվ է, որը կարող է ունենալ նշան (signed) կամ լինել առանց նշանի (unsigned): Եթե ունի նշան, ապա թույլատրելի արժեքների միջակայքը –128-ից 127-ն է, եթե առանց նշանի է` 0-ից 255-ը: Կարելի է նշել մինչև քառանիշ թիվ:

SMALLINT – Կարող է ունենալ նշան (signed) կամ լինել առանց նշանի (unsigned): Եթե ունի նշան, ապա թույլատրելի արժեքների միջակայքը –32768-ից 32767-ն է, եթե առանց նշանի է` 0-ից 65535-ը: Կարելի է նշել մինչև հնգանիշ թիվ:

MEDIUMINT – Միջին մեծության ամբողջ թիվ է, որը կարող է ունենալ նշան (signed) կամ լինել առանց նշանի (unsigned): Եթե ունի նշան, ապա թույլատրելի արժեքների միջակայքը –8388608-ից 8388607-ն է, եթե առանց նշանի է` 0-ից 16777215-ը: Կարելի է նշել մինչև իննանիշ թիվ:

BIGINT – Շատ մեծ ամբողջ թիվ է, որը կարող է ունենալ նշան (signed) կամ լինել առանց նշանի (unsigned): Եթե ունի նշան, ապա թույլատրելի արժեքների միջակայքը –9223372036854775808 -ից 9223372036854775807-ն է, եթե առանց նշանի է` 0-ից 18446744073709551615-ը: Կարելի է նշել մինչև քսանանիշ թիվ:

FLOAT(M,D)– Կոտորակային թիվ է, որը չի կարող լինել առանց նշանի (unsigned): Դուք կարող եք սահմանել տեսանելի երկարությունը (M) և տասնորդականների թիվը (D): Սա պարտադիր չէ, և լռելյայն 10,2 է, որտեղ 2-ը տասնորդականների թիվն է, իսկ 10-ն ընդհանուր թվանշանների քանակն է (ներառյալ տասնորդականները): Տասնորդական ճշտությունը կարող է ունենալ 24 դիրք:

DOUBLE(M,D)– Կրկնակի ճշտությամբ կոտորակային թիվ է, որը չի կարող լինել առանց նշանի (unsigned): Դուք կարող եք սահմանել տեսանելի երկարությունը (M) և տասնորդականների թիվը (D): Սա պարտադիր չէ, և լռելյայն կլինի 16,4, որտեղ 4-ը տասնորդականների թիվն է, իսկ16-ն ընդհանուր թվանշանների քանակը (ներառյալ տասնորդականները): Տասնորդական ճշտությունը կարող է ունենալ մինչև 53 դիրք: REAL DOUBLE-ի հոմանիշն է:

DECIMAL(M,D)– Կոտորակային թիվ է բացված վիճակում, որը չի կարող լինել առանց նշանի (unsigned), յուրաքանչյուր տասնորդականի համապատասխանում է մեկ բայտ: Տեսանելի երկարության (M) և տասնորդականների թվի (D) սահմանումը պարտադիր է NUMERIC DECIMAL-ի հոմանիշն է:

 

date, time տվյալների տիպեր.

DATE– Ամսաթիվն է YYYY-MM-DD ձևաչափով 1000-01-01-ի և 9999-12-31-ի միջև: Օրինակ` 1973 թվականի դեկտեմբերի 30-ը կլինի 1973-12-30:

DATETIME– Ամսաթիվի և ժամանակի համադրությունն է YYYY-MM-DD HH:MM:SS ձևաչափով 1000-01-01 00:00:00-ի և 9999-12-31 23:59:59-ի միջև: Օրինակ` 1973 թվականի դեկտեմբերի 30-ի ցերեկվա ժամը 3:30-ը կլինի 1973-12-30 15:30:00:

TIMESTAMP– Ամսաթիվի և ժամանակի նշումն է YYYYMMDDHHMMSS ձևաչափով 1970 թվականի հունվարի 1-ի կեսգիշերի և 2037 թվականի ինչ-որ ժամանակի միջև: Սա նման է նախորդ DATETIME ձևաչափին, ուղղակի գրառվում է առանց նշանների: Օրինակ` 1973 թվականի դեկտեմբերի 30-ի ցերեկվա ժամը 3:30-ը կլինի 19731230153000:

TIME – Ժամանակը պահվում է HH:MM:SS ձևաչափով:

YEAR(M) – Տարին պահպանում է երկնիշ կամ քառանիշ ձևաչափով: Եթե երկարությունը սահմանվել է 2 (օրինակ` YEAR(2)), YEAR-ը կարող է լինել 1970-ից 2069 (70-ից 69): Եթե երկարությունը սահմանել ենք 4, YEAR-ը կարող է լինել 1901-ից 2155: Լռելյայն երկարությունը 4 է:

 

Տողային տվյալների տիպեր.

CHAR(M) – Ֆիքսված երկարությամբ տող է, որն ունի 1-ից 255 սիմվոլ (օրինակ` CHAR(5)): Պահպանելիս ազատ տեղերը լրացվում են բացատներով:  Երկարության սահմանումը պարտադիր չէ, այն լռելյայն 1 է:

VARCHAR(M) – Փոփոխվող երկարությամբ տող է, որն ունի 1-ից 255 սիմվոլ (օրինակ` VARCHAR(25)): VARCHAR դաշտ ստեղծելիս պետք է որոշենք երկարությունը:

BLOB կամ TEXT – Այս դաշտի առավելագույն երկարությունը 65535 սիմվոլ է: BLOB-ները բինար ընդարձակ օբյեկտներ են և օգտագործվում են մեծ ծավալով բինար տվյալներ պահելու համար, ինչպես օրինակ նկարներ կամ այլ տիպի ֆայլեր: TEXT տիպի դաշտերը նույնպես պահպանում են մեծ ծավալով տվյալներ, սրանց տարբերությունը կայանում է նրանում, որ պահված տվյալների տեսակները և համեմատությունը ռեգիստրի նկատմամբ զգայուն է BLOB-ի դեպքում և ոչ զգայուն TEXT-ի դեպքում: BLOB-ի կամ TEXT-ի երկարությունը նախապես պարտադիր չէ սահմանել:

TINYBLOB կամ TINYTEXT BLOB կամ TEXT սյունակներ են, որոնց առավելագույն երկարությունը 255 սիմվոլ է: TINYBLOB-ի կամ TINYTEXT-ի երկարությունը նախապես պարտադիր չէ սահմանել:

MEDIUMBLOB կամ MEDIUMTEXT – BLOB կամ TEXT սյունակներ են, որոնց առավելագույն երկարությունը 16777215 սիմվոլ է: MEDIUMBLOB-ի կամ MEDIUMTEXT-ի երկարությունը նախապես պարտադիր չէ սահմանել:

LONGBLOB կամ LONGTEXT – BLOB կամ TEXT սյունակներ են, որոնց առավելագույն երկարությունը 4294967295 սիմվոլ է: LONGBLOB-ի կամ LONGTEXT-ի երկարությունը նախապես պարտադիր չէ սահմանել:

ENUM – Համարակալումն է (enumeration), որը հիանալի տերմին է ցուցակի համար: ENUM-ը սահմանելիս ստեղծում ենք թույլատրելի արժեքների ցուցակ: Օրինակ` եթե ցանկանում ենք, որ մեր դաշտը պարունակի “A” կամ “B” կամ “C”, ապա ENUM-ը սահմանում ենք որպես ENUM (‘A’, ‘B’, ‘C’) և դաշտը կարող է պարունակել միայն այս արժեքները(կամ NULL-ը):

MySQL-ի տվյալների տիպերը, 9.8 out of 10 based on 6 ratings

Նշագրեր: , ,

Բաժին: Տվյալների բազաներ

Կիսվել , տարածել , պահպանել

VN:F [1.9.20_1166]
Rating: 9.8/10 (6 votes cast)

Մեկնաբանություններ (1)

Թրեքբեք հղում | Մեկնաբանությունների RSS ժապավեն

  1. Տարոն says:

    Հարգելի Մարի,

    Նախ շնորհակալություն, հայերեն հոդվածի համար:
    Երկու փոքրիկ նկատառում.
    1. Առանց տասնորդական մասի թվային տիպերը (INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT) ունեն ՙՙթույլատրելի ֆիքսված միջակայք՚՚, հետևաբար այսպիսի ձևակեևպումը այդքան էլ կոռեկտ չէ՝ ՙՙԿարելի է նշել մինչև n-անիշ թիվ՚՚, քանի որ, օրինակ TINYINT տիպը երբեք չի կարող պարունակել քառանիշ թիվ: Տվյալ դեպքում (առանց տասնորդական մասի թվային տիպերի համար) այդ նիշն ընդհամենը ցույց է տալիս հնարավոր առավելագույն սիմվոլների քանակը (ինչպես տողային տիպերում), ներառյալ ՙՙ-՚՚ նշանը:
    2. SMALLINT տիպի համար հնարավոր սիմվոլների քանակը ոչ թե 5 է, այլ՝ 6:

Մեկնաբանեք

Կհաստատվեն միայն մեսրոպատառ հայերենով գրած մեկնաբանությունները

248