ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² mysql ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строковыС значСния

ЧисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

НСобходимо ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ большС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρƒ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ большС памяти ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли прСдполагаСтся, Ρ‡Ρ‚ΠΎ значСния Π² столбцС Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 100, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ TINYINT. Если ΠΏΡ€ΠΈ этом всС значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ UNSIGNED. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто для хранСния этих Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… NULL

Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ это лишь условно ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. По сути это скорСС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ возмоТности отсутствия значСния. НапримСр, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ сайтС, Π²Π°ΠΌ прСдлагаСтся Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ рСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· указания Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля, Π° Π²ΠΎΡ‚ Π΄Π°Ρ‚Ρƒ роТдСния ΠΈ ΠΏΠΎΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎ ТСланию. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π‘Π” ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π²Π° значСния:

NOT NULL (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ) для ΠΏΠΎΠ»Π΅ΠΉ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ,

NULL (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ) для ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Ρ‚Π° роТдСния ΠΈ ΠΏΠΎΠ».

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всСм столбцам присваиваСтся Ρ‚ΠΈΠΏ NOT NULL, поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ явно Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ создаСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с 4 столбцами: Π»ΠΎΠ³ΠΈΠ½ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 20 символов) ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 символов) ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, ΠΏΠΎΠ» (муТской ΠΈΠ»ΠΈ ТСнский) Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Π΄Π°Ρ‚Π° роТдСния (Ρ‚ΠΈΠΏ Π΄Π°Ρ‚Π°) Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.

ВсС, Π½Π° этом ΡƒΡ€ΠΎΠΊ, посвящСнный Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½. Π£ вас, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы, Π½ΠΎ ΠΎΠ½ΠΈ исчСзнут ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ освоСния дальнСйшСго ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, Ρ‚.ΠΊ. Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ всС становится Π±ΠΎΠ»Π΅Π΅ понятно, Ρ‡Π΅ΠΌ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ php + mysql

Если этот сайт оказался Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½, поТалуйста, посмотритС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ наши ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ Ρ€Π°Π·Π΄Π΅Π»Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

КакиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² mysql ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строковыС значСния

Π’ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π½Π° сколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π‘Π£Π‘Π” MySQL.

MySQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:
ЧисловыС Π΄Π°Π½Π½Ρ‹Π΅ β€” это всС Ρ†Π΅Π»Ρ‹Π΅ числа (Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части) ΠΈ вСщСствСнныС числа (с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ).
Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’ MySQL Π² качСствС стандарта ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈ для совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… рСкомСндуСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ… использованиС.
ΠšΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ β€” Ρ‚ΠΈΠΏ для ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ Β«2007-11-23Β» ΠΈΠ»ΠΈ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ 20071123. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… являСтся ΠΈΡ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния ΠΈ вычитания, Π² нСзависимости ΠΎΡ‚ внСшнСго прСдставлСния.
NULL β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ЧисловыС Π΄Π°Π½Π½Ρ‹Π΅ дСлятся Π½Π° Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ (это BOOLEAN, INTEGER, DECIMAL) ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½Ρ‹Π΅ (FLOAT, REAL, DOUBLE PRESISION).

Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΈΠΌΠ΅Π΅ΠΌ: ΠΏΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² Π½ΠΈΡ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½. Π§Π΅ΠΌ большС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚Π΅ΠΌ большС памяти для Π΅Π³ΠΎ хранСния потрСбуСтся.

ΠŸΡ€ΠΈ объявлСнии значСния Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ количСство ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ΄ число символов N (ΠΎΡ‚ 1 Π΄ΠΎ 255). Π”Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π°Π½Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для дополнСния ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ слСва ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ символов, ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Ρ‡Π΅ΠΌ заданная ΡˆΠΈΡ€ΠΈΠ½Π° (ΠΏΡ€ΠΈ этом ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ это Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ… Π½Π΅ Π½Π°Π»Π°Π³Π°Π΅Ρ‚). Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ZEROFILL, Ρ‚ΠΎ вмСсто ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² свободныС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ нулями слСва. НапримСр INT(6) ZEROFILL, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 34 отобразится ΠΊΠ°ΠΊ 000034.

Π’ΠΈΠΏ BIT <(N)>ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ число Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 64). Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎΠ΅ 1. (Π’ΠΈΠΏ BIT появился Π² MySQL с вСрсии 5.0.3)

Π’ΠΈΠΏ BOOLEAN это Π°Π½Π°Π»ΠΎΠ³ TINYINT(1). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 это истина (true), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 лоТь (false).

Π’Π°ΠΆΠ½ΠΎ: ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ 64, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½ΠΎΠ΅ 30.

Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ DECIMAL, DEC ΠΈ NUMERIC хранятся ΠΊΠ°ΠΊ строки, Π° Π½Π΅ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, для сохранСния точности прСдставлСния этих Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ Π² дСсятичном Π²ΠΈΠ΄Π΅. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ 0, Ρ‚ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ DECIMAL ΠΈ NUMERIC Π½Π΅ содСрТат дСсятичного Π·Π½Π°ΠΊΠ° ΠΈΠ»ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части.

Для прСдставлСния вСщСствСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… MySQL содСрТит Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ°: FLOAT, DOUBLE ΠΈ DECIMAL.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N β€” Π·Π°Π΄Π°Π΅Ρ‚ количСство символов для всСго числа, D β€” количСство символов Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части.

ЧисловыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ UNSIGNED. Как ΠΈ Π² цСлочислСнных Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ столбцС ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ², ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ столбца ΠΏΡ€ΠΈ этом Π½Π΅ увСличиваСтся.

ВСщСствСнныС числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ 47.85, ΠΈ Π² Π½Π°ΡƒΡ‡Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 4.785E+04.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ столбцов для создания структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…: Π² случаС Ссли значСния, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΉΠ΄ΡƒΡ‚ Π·Π° 100, Π½Π΅ Π½Π°Π΄ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π±ΠΎΠ»Π΅Π΅ TINYINT. ΠŸΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π² ΠΏΠΎΠ»Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° UNSIGNED ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄Π²Π° Ρ€Π°Π·Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:
Из ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ послС Ρ‚ΠΈΠΏΠ° столбца Π·Π°Π΄Π°Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DEFAULT. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ для поля number1 это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 0, Π° для number2 1.0. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DEFAULT являСтся Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ, Ρ‚ΠΎ-Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Ρ‚Π°ΠΊ:

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ трСбования ΠΊ памяти, строковых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… CHAR ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строку фиксированной Π΄Π»ΠΈΠ½Ρ‹ N, Π΅Π³ΠΎ дополняСт Ρ‚ΠΈΠΏ VARCHAR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ строки Π΄Π»ΠΈΠ½ΠΎΠΉ L. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ N ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 0 Π΄ΠΎ 65535. (Π”ΠΎ вСрсии MySQL 5.0.3 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ N ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ 0 Π΄ΠΎ 255)

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ строкового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для столбца, слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… строк VARCHAR трСбуСтся количСство символов, Ρ€Π°Π²Π½ΠΎΠ΅ Π΄Π»ΠΈΠ½Π΅ строки плюс ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, Π° для Ρ‚ΠΈΠΏΠ° CHAR(N) Π² нСзависимости ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ строки Π±ΡƒΠ΄ΡƒΡ‚ сохранСны всС N символов.

ΠŸΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ нСльзя ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ столбцы Ρ‚ΠΈΠΏΠΎΠ² CHAR ΠΈ VARCHAR. Если Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚ΠΎ MySQL ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚ΠΈΠΏ столбцов CHAR Π½Π° Ρ‚ΠΈΠΏ VARCHAR.

Π‘ вСрсии MySQL 4.1.2, Π² Ρ‚ΠΈΠΏΠ°Ρ… CHAR ΠΈ VARCHAR строки Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ использовании ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ UNICODE, Ρ€Π°Π·ΠΌΠ΅Ρ€ строки Π² Π±Π°ΠΉΡ‚Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ большС, Ρ‡Π΅ΠΌ Π² символах. Для совмСстимости со старыми вСрсиями MySQL Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…: BINARY ΠΈ VARBINARY, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эквивалСнтны Ρ‚ΠΈΠΏΠ°ΠΌ CHAR ΠΈ VARHAR, ΠΎΠ΄Π½Π°ΠΊΠΎ строка Π² Π½ΠΈΡ… рассматриваСтся ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ², Π° Π½Π΅ символов. К BINARY строкам Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ².

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… BLOB ΠΈ TEXT Π² MySQL ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ лишь Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… дСталях. НапримСр, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствий Π½Π°Π΄ столбцами Ρ‚ΠΈΠΏΠ° TEXT учитываСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, Π° Ρ‚ΠΈΠΏΠ° BLOB β€” Π½Π΅Ρ‚.

Π’ΠΈΠΏ TEXT ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° BLOB β€” для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π·Π²ΡƒΠΊΠΎΠ².

Π“Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° TEXT ΠΎΡ‚ CHAR ΠΈ VARCHAR являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° возмоТностСй полнотСкстового поиска.

ΠžΡΠΎΠ±Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ENUM ΠΈ SET. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ значСния ΠΈΠ· Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ENUM Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ мноТСства, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ столбцы SET ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой ΠΈΠ»ΠΈ всС элСмСнты Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мноТСства ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, значСния для столбца объявлСнного ΠΊΠ°ΠΊ ENUM(‘z’,’x’), ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния: Π»ΠΈΠ±ΠΎ ‘z’, Π»ΠΈΠ±ΠΎ ‘x’.

Для Ρ‚ΠΈΠΏΠ° SET, ΠΊΠ°ΠΊ ΠΈ для Ρ‚ΠΈΠΏΠ° ENUM, ΠΏΡ€ΠΈ объявлСнии задаСтся список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ячСйка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка, Π° пустая строка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов списка Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, значСния для столбца SET(‘z’,’x’) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния (‘z’,’x’), (‘z’), (‘x’) ΠΈ пустоС мноТСство ().

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ENUM ΠΈ SET строковыС лишь отчасти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ объявлСнии ΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ списком строк, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ прСдставлСнии Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… элСмСнты мноТСства ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ чисСл. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° ENUM Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, начиная с 1. Π’ зависимости ΠΎΡ‚ числа элСмСнтов Π² спискС ΠΏΠΎΠ΄ столбСц ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ 1 Π±Π°ΠΉΡ‚ (Π΄ΠΎ 256 элСмСнтов Π² спискС) ΠΈΠ»ΠΈ 2 Π±Π°ΠΉΡ‚Π° (ΠΎΡ‚ 257 Π΄ΠΎ 65536 элСмСнтов Π² спискС).

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· мноТСства SET ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π±ΠΈΡ‚Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈ этом Ρ‚ΠΎΠΆΠ΅ опрСдСляСтся числом элСмСнтов Π² спискС: 1 Π±Π°ΠΉΡ‚ (ΠΎΡ‚ 1 Π΄ΠΎ 8 элСмСнтов), 2 Π±Π°ΠΉΡ‚Π° (ΠΎΡ‚ 9 Π΄ΠΎ 16 элСмСнтов), 3 Π±Π°ΠΉΡ‚Π° (ΠΎΡ‚ 17 Π΄ΠΎ 24 элСмСнтов), 4 Π±Π°ΠΉΡ‚Π° (ΠΎΡ‚ 25 Π΄ΠΎ 32 элСмСнтов) ΠΈ 8 Π±Π°ΠΉΡ‚ (ΠΎΡ‚ 33 Π΄ΠΎ 64 элСмСнтов).

Π’ MySQL Π΅ΡΡ‚ΡŒ 5 Π²ΠΈΠ΄ΠΎΠ² столбцов для хранСния ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…: DATE, DATETIME, TIME, TIMESTAMP ΠΈ YEAR. Π’ΠΈΠΏ DATE β€” для хранСния Π΄Π°Ρ‚Ρ‹, TIME β€” для хранСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, TIMESTAMP β€” для прСдставлСния Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π²ΠΈΠ΄Π΅ числа сСкунд, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ с ΠΏΠΎΠ»ΡƒΠ½ΠΎΡ‡ΠΈ 1 января 1970 Π³ΠΎΠ΄Π°. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… YEAR β€” позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΎΠ΄.

ЗначСния Ρ‚ΠΈΠΏΠΎΠ² DATE ΠΈ DATETIME, Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π³ΠΎΠ΄ Π»ΠΈΠ±ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Β«YYYYΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ‘2010-12-10′, Π»ΠΈΠ±ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Β«YYΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ’10-12-10’. Π—Π°Ρ‚Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· дСфис указываСтся мСсяц Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Β«MMΒ» (12), Π° слСдом дСнь Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· дСфис дСнь Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Β«DDΒ» (10).

Π’ Ρ‚ΠΈΠΏΠ°Ρ… TIME ΠΈ DATETIME врСмя приводится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ hh:mm:ss, Π³Π΄Π΅ hh β€” часы, mm β€” ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, ss β€” сСкунды. Π”Π½ΠΈ, мСсяцы, часы, ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ сСкунды ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ: 01, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ: 1. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ всС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ записи ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹:
Π’ качСствС раздСлитСля ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΠ΄Π°ΠΌΠΈ, мСсяцами, днями, часами, ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ ΠΈ сСкундами ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ любой символ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹:

Π”Π°Ρ‚Π° ΠΈ врСмя суток ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… Β«YYYYMMDDhhmmssΒ» ΠΈ Β«YYMMDDhhmmssΒ». НапримСр, строки ‘20100209030504’ ΠΈ ‘100209030504’ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ‘2010-02-09 03:05:04’. ВмСсто строк допустимы ΠΈ цСлочислСнныС значСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 20100209030504 ΠΈ 100209030504 ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ‘2010-02-09 03:05:04’.

Π‘ вСрсии MySQL 4.1.1, ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, послС сСкунд Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ микросСкунды, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²ΠΈΠ΄Π° ‘hh:mm:ss.ffffff’, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ’03:05:04.000002′. Помимо Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ‘HH:MM’ ΠΈ ‘HH’ β€” вмСсто ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ Π±ΡƒΠ΄ΡƒΡ‚ подставлСны Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚ΠΈΠΏΠ° TIMESTAMP совпадаСт с DATETIME, Π½ΠΎ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ прСдставлСнии Π΄Π°Ρ‚Π° хранится Π² Π²ΠΈΠ΄Π΅ сСкунд, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… с ΠΏΠΎΠ»ΡƒΠ½ΠΎΡ‡ΠΈ 1 января 1970 Π³ΠΎΠ΄Π°.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ поля TIMESTAMP являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСского получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ записи ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ UPDATE.

Π”ΠΎ вСрсии MySQL 4.0 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚ΠΈΠΏΠ° TIMESTAMP прСдставлял собой число Π²ΠΈΠ΄Π° YYYYMMDDhhmmss. Π’ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсиях Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° YYYY-MM-DD hh:mm:ss.

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… столбцов TIMESTAMP, ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ записи Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· столбцов (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ). МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явно столбСц, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ записи, слСдуСт послС опрСдСлСния столбца Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись DEFAULT CURRENT_TIMESTAMP. Если трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ записи, ΠΏΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ON UPDATE CURRENT_TIMESTAMP.

Для столбцов TIMESTAMP ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов: Π»ΠΈΠ±ΠΎ DEFAULT CURRENT_TIMESTAMP, Π»ΠΈΠ±ΠΎ ON UPDATE CURRENT_TIMESTAMP.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠ»Π΅ mytime1 β€” ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя ΠΏΡ€ΠΈ создании записи, Π° ΠΏΠΎΠ»Π΅ mutime2 β€” ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ записи.

Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… YEAR ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для хранСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΎΠ΄Π°, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° N позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π³ΠΎΠ΄Π°: Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ CHAR(2) Β«YYΒ» ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ CHAR(4) Β«YYYYΒ». Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ считаСтся Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π²Π΅Π½ 4.

ΠŸΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ситуации ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Ρ… для заполнСния всСх ΠΏΠΎΠ»Π΅ΠΉ нСдостаточно, ΠΈ для части Π΄Π°Π½Π½Ρ‹Ρ… нСльзя ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΡƒΡ‚. Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ β€” NULL.

Для указания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ столбца, послС Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово NULL, Ссли ΠΏΠΎΠ»Π΅ Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово NOT NULL.

Атрибут NOT NULL ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ присваиваСтся столбцу ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½. БовмСстно с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ NOT NULL ΠΈ NULL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DEFAULT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ больший ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

Выбирая Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° числовых Π΄Π°Π½Π½Ρ‹Ρ… происходит быстрСС строковых. НС стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… хранятся Π½Π° ТСстких дисках, ΠΈ Ρ‡Π΅ΠΌ мСньшС мСста ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‚Π΅ΠΌ быстрСС ΠΏΠΎ Π½ΠΈΠΌ происходит поиск ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСньшС мСста. Π’ΠΈΠΏΡ‹ фиксированной Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ быстрСС Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² послСднСм случаС ΠΏΡ€ΠΈ частых удалСниях ΠΈ модификациях Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит Π΅Ρ‘ фрагмСнтация.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL. Π§Π΅ΠΌ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ: 23 АпрСля 2019

Выбирая Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для столбца, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго стоит ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ класс Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для столбца: числовыС, строковыС ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅;

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· прСдставлСнных Π² классС. МногиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²ΠΈΠ΄Π°, Π½ΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ физичСским пространством (Π½Π° дискС ΠΈΠ»ΠΈ Π² памяти). НСкоторыС Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ свойствами.

НапримСр, Π² столбцах DATETIME ΠΈ TIMESTAMP ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…: Π΄Π°Ρ‚Ρƒ ΠΈ врСмя, с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ сСкунды. Однако Ρ‚ΠΈΠΏ TIMESTAMP Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π΄Π²ΠΎΠ΅ мСньшС мСста, позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с часовыми поясами ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами автоматичСского обновлСния. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π½Π΅Π³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΆΠ΅.

На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…:

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ соСдинСнии столбцов Ρ‚ΠΈΠΏΠ° VARCHAR ΠΈ ENUM:

БоСдинСниС VARCHAR с VARCHAR

БоСдинСниС VARCHAR с ENUM

БоСдинСниС ENUM с VARCHAR

БоСдинСниС ENUM с ENUM

Π’ цСлях совмСстимости MySQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ псСвдонимы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ INTEGER, BOOL β€” это псСвдонимы (синонимы) ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ, Π½ΠΎ Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ влияния Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ЧисловыС Ρ‚ΠΈΠΏΡ‹

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл

Π‘Π£Π‘Π” MySQL позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ для Ρ†Π΅Π»Ρ‹Ρ… чисСл Β«Ρ€Π°Π·ΠΌΠ΅Ρ€Β», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ INT(11). Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния: Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этим Π½Π΅ ограничиваСтся. Однако Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ инструмСнтам MySQL, сколько ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ‹Π²ΠΎΠ΄Π° числа. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния хранСния ΠΈ вычислСния INT(1) ΠΈ INT(20) ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹.

Π—Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ пространства ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ZEROFILL Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ нулями свободныС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ слСва. НапримСр с TINYINT(3) ZEROFILL, Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° 2 Π±ΡƒΠ΄Π΅Ρ‚ записана, ΠΊΠ°ΠΊ 002.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…Π‘ΠΈΡ‚ΠŸΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽUNSIGNED
TINYINT8-128 β€” 1270 β€” 255
SMALLINT16-32768 β€” 327670 β€” 65535
MEDIUMINT24-8388608 β€” 83886070 β€” 16777215
INT32-2147483648 β€” 21474836470 β€” 4294967295
BIGINT64-9223372036854775808 β€” 92233720368547758070 β€” 18446744073709551615

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл

ВсС Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½Ρ‹Π΅ матСматичСскиС вычислСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π½ΠΎ Π² случаС с FLOAT ΠΈ DOUBLE ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСссор выполняСт ΠΈΡ… СстСствСнным для Π½Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

M β€” количСство ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ΄ число символов. D β€” количСство символов Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части.

Для Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ максимально Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠ΅ количСство Ρ†ΠΈΡ„Ρ€ Π΄ΠΎ ΠΈ послС дСсятичной запятой. Π’ случаС с DECIMAL это влияСт Π½Π° объСм пространства, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… столбца. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ точности, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, MySQL Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ значСния ΠΏΡ€ΠΈ сохранСнии. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

FLOAT ΠΈ DOUBLE ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ UNSIGNED, Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа, Π½ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ этого Π½Π΅ измСнится.

Число Ρ‚ΠΈΠΏΠ° DECIMAL Π² MySQL 5.0 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎ 65 Ρ†ΠΈΡ„Ρ€. Π’ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях MySQL Ρ‚ΠΈΠΏ DECIMAL ΠΈΠΌΠ΅Π» ΠΏΡ€Π΅Π΄Π΅Π» 254 Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ» значСния Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… строк (ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π½Π° Ρ†ΠΈΡ„Ρ€Ρƒ). Однако эти вСрсии Π‘Π£Π‘Π” Π½Π΅ ΡƒΠΌΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ большиС числа Π² вычислСниях, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏ DECIMAL Π±Ρ‹Π» просто Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ хранСния. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ значСния DECIMAL ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² Ρ‚ΠΈΠΏ DOUBLE.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ Ρ‚ΠΈΠΏΠ°Ρ… CHAR ΠΈ VARCHAR строки Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов, поэтому, ΠΏΡ€ΠΈ использовании ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ UNICODE, Ρ€Π°Π·ΠΌΠ΅Ρ€ строки Π² Π±Π°ΠΉΡ‚Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ большС, Ρ‡Π΅ΠΌ Π² символах.

ΠŸΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ нСльзя ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ столбцы Ρ‚ΠΈΠΏΠΎΠ² CHAR ΠΈ VARCHAR. Если Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚ΠΎ MySQL ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚ΠΈΠΏ столбцов CHAR Π½Π° Ρ‚ΠΈΠΏ VARCHAR.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Ρ‡Ρ‚ΠΎ строковый Ρ‚ΠΈΠΏ примСняСтся для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Y ΠΈ N. Π’ случаС использования CHAR(1) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для Ρ‚ΠΈΠΏΠ° VARCHAR(1) потрСбуСтся Π΄Π²Π° Π±Π°ΠΉΡ‚Π° ΠΈΠ·-Π·Π° наличия Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π΄Π»ΠΈΠ½Ρ‹ строки.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅CHAR(4)ВрСбуСтся Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅VARCHAR(4)ВрСбуСтся Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
»‘ ‘4 Π±Π°ΠΉΡ‚Π°»1 Π±Π°ΠΉΡ‚
‘ab’‘ab ‘4 Π±Π°ΠΉΡ‚Π°‘ab’3 Π±Π°ΠΉΡ‚Π°
‘abcd’‘abcd’4 Π±Π°ΠΉΡ‚Π°‘abcd’5 Π±Π°ΠΉΡ‚
‘abcdefgh’‘abcd’4 Π±Π°ΠΉΡ‚Π°‘abcd’5 Π±Π°ΠΉΡ‚

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ строки

Для совмСстимости со старыми вСрсиями MySQL Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…: BINARY ΠΈ VARBINARY, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эквивалСнтны Ρ‚ΠΈΠΏΠ°ΠΌ CHAR ΠΈ VARHAR, ΠΎΠ΄Π½Π°ΠΊΠΎ строка Π² Π½ΠΈΡ… рассматриваСтся ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ², Π° Π½Π΅ символов. К BINARY строкам Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ². Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ MySQL сравнивал Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚Ρ‹, Π° Π½Π΅ ΠΊΠ°ΠΊ символы. ΠŸΡ€ΠΈ этом, Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ сравнСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС символьного.

ВСкстовыС ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

MySQL ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ значСния BLOB ΠΈ TEXT ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ЕдинствСнноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСмСйствами BLOB ΠΈ TEXT Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ BLOB хранят Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° схСмы упорядочСния ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ TEXT ассоциированы схСмы упорядочСния ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°.

БСмСйство TEXT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния нСпосрСдствСнно тСкста:

CСмСйство BLOB β€” для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π·Π²ΡƒΠΊΠ°, элСктронных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.Π΄.:

MySQL Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ этих Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для сортировки индСксы.

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° хранСния Memory Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ BLOB ΠΈ TEXT.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹:
β€” строковыС;
β€” с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа);
β€” Ρ†Π΅Π»Ρ‹Π΅ числа, Π΄Π°Ρ‚Π° ΠΈ врСмя.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹:

ANSI SQL стандарт распознаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст ΠΈ число, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ коммСрчСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DATΠ• ΠΈ TIME β€” фактичСски ΠΏΠΎΡ‡Ρ‚ΠΈ стандартныС Ρ‚ΠΈΠΏΡ‹. НСкоторыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MONEY ΠΈ BINARY. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, распознаваСмыС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ANSI, состоят ΠΈΠ· строк символов ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ числа ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа.

CHARACTER(length) опрСдСляСт ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ строк символов, Π³Π΄Π΅ length Π·Π°Π΄Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строк Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ЗначСния этого Ρ‚ΠΈΠΏΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ строки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ для Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… VARCHAR ΠΈ LONG VARCHAR (ΠΈΠ»ΠΈ просто LONG).

Π’ Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° CHAR всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для максимального числа символов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π΅, ΠΏΠΎΠ»Π΅ VARCHAR ΠΏΡ€ΠΈ любом количСствС символов ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ фактичСскоС содСрТаниС поля, хотя SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ поля. ПолС VARCHAR ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой Π΄Π»ΠΈΠ½Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-опрСдСляСмый максимум. Π­Ρ‚ΠΎΡ‚ максимум ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ 254 Π΄ΠΎ 2048 символов для VARCHAR ΠΈ Π΄ΠΎ 16000 символов для LONG. LONG ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для тСкста ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ для Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π² простыС значСния ΠΏΠΎΠ»Π΅ΠΉ; VARCHAR ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для любой тСкстовой строки, Ρ‡ΡŒΡ Π΄Π»ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ VARCHAR β€” Π±ΠΎΠ»Π΅Π΅ слоТный, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ процСсс, Ρ‡Π΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ CHAR. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство памяти VARCHAR, остаСтся всСгда нСиспользованной для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ вмСщСния всСй Π΄Π»ΠΈΠ½Ρ‹ строки. ΠŸΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² слСдуСт ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ΠΉ ΠΊ объСдинСнию с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ полями.

Π’ΠΎΡ‡Π½Ρ‹Π΅ числовыС Ρ‚ΠΈΠΏΡ‹ β€” это числа, с дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π±Π΅Π· дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ [+|-] [. ] ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ:

DECIMAL(precision [, scale]) β€” Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ части: Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±. ΠœΠ°ΡΡˆΡ‚Π°Π± Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сколько Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ число. ΠœΠ°ΡΡˆΡ‚Π°Π± ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ максимальноС число Ρ†ΠΈΡ„Ρ€ справа ΠΎΡ‚ дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠœΠ°ΡΡˆΡ‚Π°Π± = Π½ΡƒΠ»ΡŽ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅ эквивалСнтом Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

NUMERIC(precision [, scale]) β€” Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ DECIMAL Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ максимальноС дСсятичноС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° точности

INTEGER β€” число Π±Π΅Π· дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ DECIMAL, Π½ΠΎ Π±Π΅Π· Ρ†ΠΈΡ„Ρ€ справа ΠΎΡ‚ дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚.Π΅. с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠΌ Ρ€Π°Π²Π½Ρ‹ΠΌ 0. АргумСнт Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (ΠΎΠ½ автоматичСски устанавливаСтся Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-зависимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅).

SMALLINT β€” Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ INTEGER, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ, Π² зависимости ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ( ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ) Π±Ρ‹Ρ‚ΡŒ мСньшС Ρ‡Π΅ΠΌ INTEGER.

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числовыС Ρ‚ΠΈΠΏΡ‹ β€” это числа Π² ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ (ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎ основанию 10) записи, прСдставляСмыС ΠΊΠ°ΠΊ Π• ΠΈ спСцифицирущиСся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

FLOAT[(precision)] β€” число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. АргумСнт Ρ€Π°Π·ΠΌΠ΅Ρ€Π° состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

REAL β€” Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ FLOAT, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ устанавливаСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-зависимой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

DOUBLE PRECISION β€” Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ REAL, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-опрСдСляСмая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ для DOUBLE PRECISION Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ REAL.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Access

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Access Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² SQL Server:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… SQL2003 плюс ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ² для хранСния пространствСнных ΠΈ гСомСтричСских Π΄Π°Π½Π½Ρ‹Ρ…. PostgreSQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для гСомСтричСских Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Бюда входят Ρ‚Π°ΠΊΠΈΠ΅ срСдства, ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚, поиск пСрСсСчСний ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ PostgreSQL Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСньшС мСста Π½Π° дискС, Ρ‡Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ исходныС вСрсии. НапримСр, Π² PostgreSQL прСдлагаСтся нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° INTEGER для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл, соотвСтствСнно Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… большС ΠΈΠ»ΠΈ мСньшС мСста.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *