Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
FreeAdman
Alex_Ustinov,
Ясно. Так понятней.

Тогда вопрос. А в чём фишка RIGHT и LEFT ?
Ведь запрос можно составить так, что LEFT даст такой же результат как RIGHT и наоборот.


Вроде бы додумал
24 апр 21, 16:42    [22313635]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3799
FreeAdman,

--- А в чём фишка RIGHT и LEFT ?
да, это наоборот
24 апр 21, 16:43    [22313636]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
Правильно ли я понимаю, что числа в MySQL хранятся в виде строки?
Иначе зачем при создании числового типа указывать длину???
Если это INT без знака, то длина 10, если со знаком - тогда 11.
3 май 21, 01:37    [22317688]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
vkle
Member

Откуда: Самара
Сообщений: 15049
FreeAdman
Правильно ли я понимаю, что числа в MySQL хранятся в виде строки?
Нет. Числа хранятся как двоичные данные.

FreeAdman
Иначе зачем при создании числового типа указывать длину???
Например:
MariaDB [test]> create table `bbbbb` (`f1`int, `f2` int(5) zerofill, `f3` int(20) zerofill);
Query OK, 0 rows affected (0.592 sec)

MariaDB [test]> insert into `bbbbb` values (1, 1, 1);
Query OK, 1 row affected (0.002 sec)

MariaDB [test]> insert into `bbbbb` values (123456789, 123456789, 123456789);
Query OK, 1 row affected (0.002 sec)

MariaDB [test]> select * from `bbbbb`;
+-----------+-----------+----------------------+
| f1        | f2        | f3                   |
+-----------+-----------+----------------------+
|         1 |     00001 | 00000000000000000001 |
| 123456789 | 123456789 | 00000000000123456789 |
+-----------+-----------+----------------------+
2 rows in set (0.001 sec)
3 май 21, 02:09    [22317692]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
vkle, т.е. разницы между int и bigint нет? int длиной 20 аналогичен bigint?
т.е. int и bigint - это просто шаблоны длины?

Сообщение было отредактировано: 3 май 21, 02:26
3 май 21, 02:29    [22317696]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
miksoft
Member

Откуда:
Сообщений: 38828
FreeAdman,

Ну откройте же доку хоть чуть-чуть!
https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html
For integer data types, M indicates the maximum display width.
...
INT[(M)] [UNSIGNED] [ZEROFILL]
A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.
...
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.
3 май 21, 04:01    [22317700]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
miksoft,
накой мне дока, когда там водопад американской воды?
ИТшники могут же в двух словах между собой нормально объяснить

PS: читайте внимательно вопрос. INT и BIGINT получаются ШАБЛОНЫ ДЛИНЫ, а вы мне про вместимость того и иного типа

Сообщение было отредактировано: 3 май 21, 04:09
3 май 21, 04:16    [22317701]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
vkle
Числа хранятся как двоичные данные.


тогда я не понимаю, зачем выделять 1 байт для знакового числа ? ))

т.е. int(10) без знака и int(11) для знака

Получается, что 11-й байт - это флаг для самой БД что ли

Сообщение было отредактировано: 3 май 21, 04:14
3 май 21, 04:21    [22317703]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
miksoft
Member

Откуда:
Сообщений: 38828
FreeAdman
накой мне дока, когда там водопад американской воды?
Неправда, у MySQL очень приличная дока. Не идеальная, но приличная.
FreeAdman
INT и BIGINT получаются ШАБЛОНЫ ДЛИНЫ, а вы мне про вместимость того и иного типа
И вместимость не зависит от того, что вы называете шаблоном длины.
Потому что это длина для отображения. И применяется она почти только в консольном клиенте mysql.
Для всех остальных INT - 4-байтовое целое, BIGINT - 8-байтовое целое.
3 май 21, 13:29    [22317775]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1312
Я бы скорее даже процитировал соседнюю страницу документации, где прямым текстом всё пояснено:
MySQL supports an extension for optionally specifying the display width of integer data types in parentheses following the base keyword for the type. For example, INT(4) specifies an INT with a display width of four digits. This optional display width may be used by applications to display integer values having a width less than the width specified for the column by left-padding them with spaces. (That is, this width is present in the metadata returned with result sets. Whether it is used is up to the application.)

The display width does not constrain the range of values that can be stored in the column. Nor does it prevent values wider than the column display width from being displayed correctly. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range permitted by three digits are displayed in full using more than three digits.


int(10) вообще никак не отличается от int(11) или int(1) - это всё один и тот же int для СУБД. Атрибут в скобках может, при соответствующей реализации, использоваться клиентом. А самой базе оно ни для чего не нужно.
3 май 21, 14:02    [22317791]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
FreeAdman
Member

Откуда:
Сообщений: 158
Спасибо! :)
3 май 21, 14:44    [22317823]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы непрофессионала по SQL  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3799
FreeAdman
miksoft,
накой мне дока, когда там водопад ...
ИТшники могут же в двух словах между собой нормально объяснить

помню работал в организации где начальник отдела кадров перед принятием решения ходила в бухгалтерию и в плановый отдел, спрашивала - А что же делать? Потом собирала средне-арифметическое и так и делала...
Тоже не верила "законной документации")
3 май 21, 20:43    [22317958]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / MySQL Ответить