Что означает в mysql
Подключение к серверу.
Серверу MySQL, чтобы подключиться к нему, нужно передать 4 параметра:
Подключаться к серверу нужно с помощи команды:
Выбирать конкретную Базу данных:
Закрыть подключение нужно командой:
И соответственно полный пример подключения, выбирание нужной таблицы и закрытие подключеиния :
Создание таблиц. Заполнение информацией БД
Вот мы подключились к серверу MySQL и выбрали БД. Что дальше? Дальше нужно создать новую таблицу. Управления БД в MySQL управляется с помощью специального языка запросов SQL. Поначалу он кажется страшным, непонятным и сложным, но через некоторое время при активной работе с БД вы сможете легко читать самые сложные с виду SQL-запросы (сам так же путался в начале..). Начнем.
Можно создавать сколько угодно полей. Заместо ТипПоля1 пишется:
Это 2 основных типа поля. На самом деле их очень много, но перечислять их — займет лишком много места. Итак, разобрались с созданием таблиц. Пример использования:
Добавление информации в БД
Для этого существует та же команда, только другой SQL-запрос:
Думаю, здесь никаких сложностей не возникнет. Единственное, значения поля с типом TEXT вводить в одинарных кавычках. И, как всегда, пример:
Изменение информации в БД
Для этого используется такая команда:
Такой командой мы обновляем записи, указанные в скобках, а данной таблице, если они подходят по какому либо условию (WHERE …). Это мы рассмотри чуть позже. Сейчас — пример:
Теперь полностью — подключение, создание таблицы, заполнение информации, ее обновление и закрытие подключения:
В итоге у нас появится новая таблица test_zero, в которой будет одна запись.
Получение информации из БД.
Допустим, у нас большущая БД, в которой хранятся сотни записей. Как же эти записи получить? Очень просто:
while($row=mysql_fetch_array($res))
<
$num=$row[ num ];
$title=$row[ title ];
$text=$row[ text ];
Условия получения информации из БД
Когда в таблице сотни записей, получать все не всегда целесообразно. Для этого вводят какое либо условие:
lИх так же достаточно много, это основные.
ОПЕРАТОР — логический оператор:
Это так же основные.
Пример вытаскивания из таблицы записей, номер которых больше 10:
И, так сказать, итоговый пример применения БД:
$res=mysql_query(«SELECT * FROM test_zero «);
while($row=mysql_fetch_array($res))
<
$num=$row[ num ];
$title=$row[ title ];
$text=$row[ text ];
Ну вот и все! Конечно, это очень простой пример, но позволит вам научится простейшие работе с БД. На основе полученных знаний можно сделать гостевую книгу, скрипт выводящий новости, систему статистики и т.д.
Если бы мне попалась эта статья пораньше — я бы не стал ее писать. Когда я еще не знал MySQL, я перерыл статей 10. Достаточно быстро научился создавать таблицы и заполнять их. А вывести не получалось. Пришлось практически методом тыка учится. специально для этого я и написал эту статью.
типы данных SQL для MySQL, SQL Server и MS Access
Тип данных определяет, какое значение может содержать столбец: целочисленные данные, символьные данные, денежные данные, данные даты и времени, двоичные строки и т. д.
Типы данных SQL
Каждый столбец в таблице базы данных должен иметь имя и тип данных.
Разработчик SQL должен решить, какой тип данных будет храниться в каждом столбце при создании таблицы. Тип данных является ориентиром для SQL, чтобы понять, какой тип данных ожидается внутри каждого столбца, и он также определяет, как SQL будет взаимодействовать с хранимыми данными.
Примечание: Типы данных могут иметь разные имена в разных базах данных. И даже если имя такое же, размер и другие детали могут быть разными! Всегда проверяйте документацию!
Типы данных MySQL
В MySQL есть три основных типа данных: текст, число и дата.
Текстовые типы данных:
Тип данных | Описание |
---|---|
CHAR(size) | Содержит строку фиксированной длины (может содержать буквы, цифры и специальные символы). Фиксированный размер указывается в скобках. Может хранить до 255 символов |
VARCHAR(size) | Содержит строку переменной длины (может содержать буквы, цифры и специальные символы). Максимальный размер указывается в скобках. Может хранить до 255 символов. Примечание: Если поместить большее значение, чем 255, оно будет преобразовано в текстовый тип |
TINYTEXT | Содержит строку с максимальной длиной 255 символов |
TEXT | Содержит строку с максимальной длиной 65 535 символов |
BLOB | Для BLOB-объектов (двоичные большие объекты). Удерживает до 65 535 байт данных |
MEDIUMTEXT | Содержит строку с максимальной длиной 16 777 215 символов |
MEDIUMBLOB | Для BLOB-объектов (двоичные большие объекты). Удерживает до 16 777 215 байт данных |
LONGTEXT | Содержит строку с максимальной длиной 4 294 967 295 символов |
LONGBLOB | Для BLOB-объектов (двоичные большие объекты). Удерживает до 4 294 967 295 байт данных |
ENUM(x,y,z,etc.) | Позволяет ввести список возможных значений. В списке Enum можно вывести до 65535 значений. Если вставленное значение отсутствует в списке, будет вставлено пустое значение. |
Примечание: Значения сортируются в порядке их ввода.
Вы вводите возможные значения в этом формате: Enum (‘ X ‘, ‘ Y ‘, ‘ Z ‘)
Типы данных чисел:
Тип данных | Описание |
---|---|
TINYINT(size) | -128 до 127 нормальный. 0 до 255 неподписанный *. Максимальное количество цифр может быть указано в скобках |
SMALLINT(size) | -32768 до 32767 нормальный. 0 до 65535 неподписанный *. Максимальное количество цифр может быть указано в скобках |
MEDIUMINT(size) | -8388608 до 8388607 нормальный. 0 до 16777215 неподписанный *. Максимальное количество цифр может быть указано в скобках |
INT(size) | -2147483648 до 2147483647 нормальный. 0 до 4294967295 неподписанный *. Максимальное количество цифр может быть указано в скобках |
BIGINT(size) | -9223372036854775808 до 9223372036854775807 в норме. 0 для 18446744073709551615 неподписанных *. Максимальное количество цифр может быть указано в скобках |
FLOAT(size,d) | Небольшое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре size. Максимальное число цифр справа от десятичной запятой указано в параметре d |
DOUBLE(size,d) | Большое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре size. Максимальное число цифр справа от десятичной запятой указано в параметре d |
DECIMAL(size,d) | Значение типа Double, хранящееся в виде строки и допускающее фиксированную десятичную точку. Максимальное количество цифр может быть указано в параметре size. Максимальное число цифр справа от десятичной запятой указано в параметре d |
* целочисленные типы имеют дополнительный параметр, называемый неподписанным. Как правило, целое число переходит от отрицательного к положительному значению. Добавление неподписанного атрибута будет перемещаться, что диапазон вверх, поэтому он начинается с нуля, а не отрицательное число.
Типы данных дат:
Примечание: Поддерживаемый диапазон от ‘ 1000-01-01 ‘ до ‘ 9999-12-31 ‘
Примечание: Поддерживаемый диапазон от ‘ 1000-01-01 00:00:00 ‘ до ‘ 9999-12-31 23:59:59 ‘
Примечание: Поддерживаемый диапазон от ‘ 1970-01-01 00:00:01 ‘ UTC до ‘ 2038-01-09 03:14:07 ‘ UTC
Примечание: Поддерживаемый диапазон от ‘-838:59:59 ‘ до ‘ 838:59:59 ‘
Примечание: Допустимые значения в формате четырех цифр: 1901 до 2155. Допустимые значения в формате с двумя цифрами: 70 до 69, представляющие годы с 1970 по 2069
* даже если DateTime и timestamp возвращаются в том же формате, они работают очень по-разному. В запросе INSERT или Update временная метка автоматически устанавливает текущую дату и время. TIMESTAMP также принимает различные форматы, такие как ииииммддххмисс, ииммддххмисс, ГГГГММДД или YYMMDD.
Типы данных SQL Server
Типы строковых данных:
Тип данных | Описание | Максимальный размер | Хранения |
---|---|---|---|
char(n) | Фиксированная ширина символьной строки | 8,000 Символов | Определенная ширина |
varchar(n) | Переменная ширина символьная строка | 8,000 Символов | 2 байта + количество символов |
varchar(max) | Переменная ширина символьная строка | 1,073,741,824 Символов | 2 байта + количество символов |
text | Переменная ширина символьная строка | 2GB of text data | 4 байта + количество символов |
nchar | Фиксированная ширина строки Юникода | 4,000 Символов | Определенная ширина x 2 |
nvarchar | Переменная ширина Юникод строка | 4,000 Символов | |
nvarchar(max) | Переменная ширина Юникод строка | 536,870,912 Символов | |
ntext | Переменная ширина Юникод строка | 2GB of text data | |
binary(n) | Фиксированная ширина двоичной строки | 8,000 bytes | |
varbinary | Переменная ширина двоичная строка | 8,000 bytes | |
varbinary(max) | Переменная ширина двоичная строка | 2GB | |
image | Переменная ширина двоичная строка | 2GB |
Типы данных чисел:
Разрешает числа от-10 ^ 38 + 1 до 10 ^ 38 – 1.
Параметр p указывает максимальное общее количество цифр, которые могут быть сохранены (как слева, так и справа от десятичной запятой). p должно быть значением от 1 до 38. Значение по умолчанию — 18.
Параметр s указывает максимальное число цифр, хранящихся справа от десятичной запятой. s должно быть значением от 0 до p. значение по умолчанию 0
Разрешает числа от-10 ^ 38 + 1 до 10 ^ 38 – 1.
Параметр p указывает максимальное общее количество цифр, которые могут быть сохранены (как слева, так и справа от десятичной запятой). p должно быть значением от 1 до 38. Значение по умолчанию — 18.
Параметр s указывает максимальное число цифр, хранящихся справа от десятичной запятой. s должно быть значением от 0 до p. значение по умолчанию 0
Параметр n указывает, должно ли поле содержать 4 или 8 байт. float (24) содержит 4-байтное поле и float (53) содержит 8-байтное поле. Значение по умолчанию n — 53.
MySQL — царица баз
Она сложная, но с ней всё просто.
Когда мы говорили о том, какие бывают базы данных, то немного рассказали о реляционных БД. Самый очевидный пример такой базы данных — MySQL. О ней и поговорим.
⚠️ С формальной точки зрения MySQL — это не сама база данных, а система управления базой данных (СУБД). Но в языке так сложилось, что саму базу и систему её управления мы называем одними и теми же словами. Простите нас за это упрощение.
Что такое MySQL
MySQL — это реляционная база данных (СУБД). Реляционная — значит внутри неё есть данные, которые связаны между собой, и эту связь можно представить в виде таблиц.
Технически MySQL — это много таблиц, как-то связанных между собой. Например, одна отвечает за товары, другая — за покупки, третья — за клиентов. Вот картинка из нашей обзорной статьи:
Сразу видно, что в базе есть три таблицы, причём две из них связаны между собой через третью. Если нам понадобится где-то хранить данные о доставке товаров, то мы можем это сделать в одной из этих таблиц или завести новую.
👉 Всё, что мы делаем в MySQL, — создаём таблицы с данными и настраиваем связи между ними.
Кому это нужно
Знать MySQL нужно всем, кто занимается разработкой веб-приложений и сайтов. Это очень распространённая технология — если ваше приложение или сайт имеет в каком-либо виде личный кабинет или просто хранит любые данные, то почти наверняка в нём будет использоваться MySQL.
Вы можете обойтись и без конкретно этой системы управления. Можно использовать PostgreSQL или NoSQL. Можно просто хранить данные у клиента или в «сыром» файлике. Но если вы хотите делать систему, которую будет легко поддерживать и передать другим людям для доработки и развития, — скорее всего, вы выберете MySQL.
Как работают связи в базе данных
Связи между таблицами показывают, как одни данные могут зависеть от других. В зависимости от того, как вы настроите связи, база может получать разные результаты и искать данные. В связи может участвовать одна запись, а может сразу много.
Один к одному. Это самый простой вид связи, который говорит: одной записи из этой таблицы соответствует только одна запись из другой таблицы. Если мы сделаем новую таблицу с фотографиями клиентов, то каждой фотографии будет соответствовать только один клиент и наоборот.
Один ко многим. Когда у нас есть таблица с клиентами и таблица с их покупками, тут работает связь «один ко многим». Это значит, что у нас одной записи о клиенте соответствует несколько записей об их покупках, например, если он их сделал в разное время. Благодаря этой связи мы можем вывести все покупки для каждого клиента в отдельности.
Ещё пример — художники и картины. Каждая картина принадлежит только одному художнику, но одному художнику может принадлежать много разных картин.
Многие ко многим. А вот это хитрая связь — для неё нужна отдельная таблица. Смысл такой: мы делаем промежуточную таблицу, в которой соединяем данные из одной таблицы с данными из другой. Получается, что в новой таблице как бы нет данных — в ней только связи.
Допустим, вы ведёте свой список дел в ежедневнике, где можно ставить метки для дел. Метки помогают понять, что за дело перед вами, и выглядят примерно так: «в дороге», «позвонить», «на неделе», «подписать у Иваныча» и «за компьютером». Их можно назначить любой задаче — одну метку, две или все сразу. Получается так:
Это значит, что мы связали множество меток со множеством задач и теперь можем искать одно через другое.
Что может храниться в MySQL
В MySQL может храниться что угодно, если вы можете настроить связи между данными. Вы можете хранить в такой базе заметки, фото, музыку, списки дел, задачи на год и все лекции по теории вероятности. Весь вопрос в том, чтобы вы понимали, как вы будете это использовать дальше.
Например, все наши статьи в «Коде» хранятся в MySQL-базе, с которой мы работаем через Вордпресс. Там же есть информация и об авторах, и о картинках для статей, о дате публикации и о многом другом. Чтобы вы прочитали эту статью, сайт обратился к базе данных, взял оттуда статью, правильно её обработал и показал вам.
Другие используют MySQL для работы с клиентской базой — в бизнесе, поликлиниках или системах учёта товаров.
Самой базе всё равно, что в ней хранится и как вы этим пользуетесь. База данных — это просто способ связать данные вместе, а потом найти в них то, что нужно.
Почему MySQL так популярна
С момента своего появления в 1995 году, MySQL была бесплатной, простой и предсказуемой системой управления базами данных. Это привело к тому, что её использовали много компаний по всему миру, что сделало её негласным стандартом для баз данных.
Ещё в MySQL встроены системы безопасности и разграничения доступа. Например, можно сделать так, чтобы менеджер мог только вносить данные, руководитель отдела — изменять их, но не удалять, а директор мог делать с данными что угодно.
Но основная причина популярности MySQL — полная поддержка SQL-языка.
Что такое язык SQL
Чтобы работать с реляционной базой данных, нужно знать специальный язык запросов — SQL. Это расшифровывается как structured query language — язык структурированных запросов. «Структурированный» означает, что каждый запрос должен иметь определённую структуру, чтобы база поняла, как на него реагировать.
Сами запросы вводятся в специальном терминале, который отвечает за управление базой данных.
С помощью запросов можно делать что угодно:
Если вы знаете SQL, то можете работать с любой реляционной базой данных, которые его поддерживают.
А покажите сами запросы
Создадим базу данных THECODE_MEDIA:
CREATE DATABASE THECODE_MEDIA;
Скажем, что будем дальше работать именно с этой базой:
Создадим таблицу с названиями статей, авторами и количеством прочтений за месяц:
CREATE TABLE STATS (name VARCHAR(200), author VARCHAR(20), readers INT);
Загрузим в таблицу уже готовые данные из файла:
LOAD DATA LOCAL INFILE ‘thecode/readers_stat.txt’ INTO TABLE STATS;
А теперь выведем их на экран:
SELECT * FROM STATS;
Команд в SQL настолько много, что нам понадобится отдельная статья для практики. Сделаем для этого отдельный проект, на котором покажем, как MySQL работает с запросами и таблицами.
Работа с MySQL через запросы в терминале
Коротко главное
Что дальше
На очереди — нереляционные базы и NoSQL. Там вообще всё не так, как здесь, поэтому разбирать будем отдельно.
Стандартные типы данных (MySQL)
Примечания
Числа
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
«Неупакованное» число с плавающей точкой. Ведет себя подобно столбцу CHAR, содержащему цифровое значение. Термин «неупакованное» означает, что число хранится в виде строки и при этом для каждого десятичного знака используется один символ. Разделительный знак десятичных разрядов, а также знак `-‘ для отрицательных чисел не учитываются в M (но место для них зарезервировано). Если атрибут D равен 0, величины будут представлены без десятичного знака, т.е. без дробной части. Максимальный интервал значений типа DECIMAL тот же, что и для типа DOUBLE, но действительный интервал для конкретного столбца DECIMAL может быть ограничен выбором значений атрибутов M и D. Если указан атрибут UNSIGNED, отрицательные значения недопустимы. Если атрибут D не указан, его значение по умолчанию равно 0. Если не указан M, его значение по умолчанию равно 10. В более ранних, чем MySQL 3.23, версиях параметр M должен содержать в себе место для знака числа и десятичного знака. DEC[(M[,D])] [UNSIGNED] [ZEROFILL] и NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL] являются синонимами для DECIMAL.
DECIMAL эквивалентно DECIMAL(10,0).
Время
DATE
Дата. Поддерживается интервал от ‘1000-01-01’ до ‘9999-12-31’. MySQL выводит значения DATE в формате ‘YYYY-MM-DD’, но можно установить значения в столбец DATE, используя как строки, так и числа.
DATETIME
Комбинация даты и времени. Поддерживается интервал от ‘1000-01-01 00:00:00’ до ‘9999-12-31 23:59:59’. MySQL выводит значения DATETIME в формате ‘YYYY-MM-DD HH:MM:SS’, но можно устанавливать значения в столбце DATETIME, используя как строки, так и числа.
TIMESTAMP[(M)]
Временная метка. Интервал от ‘1970-01-01 00:00:00’ до некоторого значения времени в 2037 году. MySQL выводит значения TIMESTAMP в форматах YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD или YYMMDD в зависимости от значений M: 14 (или отсутствующее), 12, 8, или 6; но можно также устанавливать значения в столбце TIMESTAMP, используя как строки, так и числа. Столбец TIMESTAMP полезен для записи даты и времени при выполнении операций INSERT или UPDATE, так как при этом автоматически вносятся значения даты и времени самой последней операции, если эти величины не введены программой. Можно также устанавливать текущее значение даты и времени, задавая значение NULL. Параметр M влияет только на способ вывода столбца TIMESTAMP; для хранения его значений всегда используется 4 байта. Следует учитывать, что столбцы TIMESTAMP(M), где M равно 8 или 14, представляют собой числа, в то время, как столбцы TIMESTAMP(M) с иным значением параметра M являются строками. Это убеждает, что можно надежно сделать дамп и восстановить таблицу с этими типами столбцов!
TIMESTAMP эквивалентно TIMESTAMP(14).
TIME
Время. Интервал от ‘-838:59:59’ до ‘838:59:59’. MySQL выводит значения TIME в формате ‘HH:MM:SS’, но можно устанавливать значения в столбце TIME, используя как строки, так и числа.
YEAR[(2|4)]
Год в двухзначном или четырехзначном форматах (по умолчанию формат четырехзначный). Допустимы следующие значения: с 1901 по 2155, 0000 для четырехзначного формата года и 1970-2069 при использовании двухзначного формата (70-69). MySQL выводит значения YEAR в формате YYYY, но можно задавать значения в столбце YEAR, используя как строки, так и числа (тип данных YEAR недоступен в версиях, предшествующих MySQL 3.22).
YEAR эквивалентно YEAR(4).
Символы
CHAR(M) [BINARY]
Строка фиксированной длины, при хранении всегда дополняется пробелами в конце строки до заданного размера. Диапазон параметра M составляет от 0 до 255 символов (от 1 до 255 в версиях, предшествующих MySQL 3.23). Концевые пробелы удаляются при выводе значения. Если не задан атрибут чувствительности к регистру BINARY, то величины CHAR сортируются и сравниваются как независимые от регистра в соответствии с установленным по умолчанию алфавитом. Атрибут NATIONAL CHAR (или его эквивалентная краткая форма NCHAR) представляет собой принятый в ANSI SQL способ указания, что в столбце CHAR должен использоваться установленный по умолчанию набор символов (CHARACTER). В MySQL это принято по умолчанию. CHAR является сокращением от CHARACTER. MySQL позволяет создавать столбец типа CHAR(0). В основном это полезно, если необходимо обеспечить совместимость с некоторыми старыми приложениями, которые зависят от наличия столбца, но реально эту величину не используют. Кроме того, такая возможность может очень пригодиться в случае, если необходим столбец, который может содержать только 2 значения, а именно CHAR(0) (т.е. столбец, который не определен как NOT NULL, занимает только один бит и принимает только 2 значения: NULL или «»).
CHAR эквивалентно CHAR(1).
VARCHAR(M)
Строка переменной длины. С версии 5.0.3 диапазон параметра M составляет от 0 до 65535 символов. Однако, нужно учесть, что это значение распределяется среди всех данных ряда, не считая BLOB и TEXT, которые идут отдельно. Для UTF-8 максимальная длина данных ряда будет приблизительно в три раза меньше, а именно: 21844.
Типы данных MySQL
Что такое тип данных
1. Тип данных указывает конкретный тип данных, например, целое число, число с плавающей запятой, логическое значение и т. Д.
2. Тип данных также определяет возможные значения для этого типа, операции, которые могут быть выполнены с этим типом, и способ хранения значений этого типа.
Типы данных MySQL
Числовые типы MySQL
Целочисленные типы
Стандартные целочисленные типы SQL INTEGER (или INT) и SMALLINT поддерживаются MySQL. В качестве расширения к стандарту MySQL также поддерживает целочисленные типы TINYINT, MEDIUMINT и BIGINT. В следующей таблице показано требуемое хранилище и диапазон (максимальное и минимальное значение для целого числа со знаком и без знака) для каждого типа целого числа.
Тип | длина в байтах | Минимальное значение (Подпись) | Максимальное значение (Подпись) | Минимальное значение (Без знака) | Максимальное значение (Без знака) |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 127 | 0 | 255 |
SMALLINT | 2 | -32768 | 32767 | 0 | 65535 |
MEDIUMINT | 3 | -8388608 | 8388607 до | 0 | 16777215 |
INT | 4 | -2147483648 | 2147483647 | 0 | 4294967295 |
BIGINT | 8 | -9223372036854775808 | 92233720368 54775807 | 0 | 184467440737 09551615 |
Типы с плавающей точкой
Типы FLOAT и DOUBLE представляют приблизительные числовые значения данных. MySQL использует четыре байта для значений одинарной точности и восемь байтов для значений двойной точности.
Типы | Описание |
---|---|
FLOAT | Точность от 0 до 23 приводит к четырехбайтовому столбцу FLOAT одинарной точности |
DOUBLE | Точность от 24 до 53 приводит к восьмибайтовому столбцу двойной точности DOUBLE. |
В следующей таблице показано необходимое хранилище и диапазон (максимальное и минимальное значение для целого числа со знаком и без знака) для каждого типа с плавающей запятой.
Тип | длина в байтах | Минимальное значение (Подпись) | Максимальное значение (Подпись) | Минимальное значение (Без знака) | Максимальное значение (Без знака) |
---|---|---|---|---|---|
FLOAT | 4 | -3.402823466E + 38 | -1.175494351E-38 | 1.175494351E-38 | 3.402823466E + 38 |
DOUBLE | 8 | -1,7976931348623 157E + 308 | -2,22507385850720 14E- 308 | 0 и +2,22507385850720 14E- 308 | +1,797693134862315 7E + 308 |
Типы с фиксированной точкой
Типы данных с фиксированной точкой используются для сохранения точной точности, например, с валютными данными. В MySQL типы DECIMAL и NUMERIC хранят точные числовые значения данных. MySQL 5.6 сохраняет значения DECIMAL в двоичном формате.
Типы битовых значений
Атрибуты числового типа
MySQL поддерживает расширение для необязательного указания ширины отображения целочисленных типов данных в скобках после ключевого слова base для типа
MySQL Date and Time Types
Типы даты и времени представляют собой ДАТУ, ВРЕМЯ, DATETIME, TIMESTAMP и YEAR. Каждый тип имеет диапазон допустимых значений, а также «нулевое» значение.
DATETIME, DATE и TIMESTAMP Типы
Тип времени
MySQL объясняет сокращенные значения ВРЕМЕНИ двоеточиями как время суток. Предположим, «09: 10» означает «09: 10: 00», а не «00: 09: 10». MySQL понимает сокращенные значения без двоеточий, так как две самые правые цифры представляют секунды. Например, мы думаем, что «0910» и «0910» означают «09: 10: 00», то есть через 10 минут после 9 часов, но реальность такова, что MySQL понимает их как «00: 09: 10», то есть 9 минут и 10 секунд. Поэтому будьте осторожны с использованием сокращенного времени в MySQL.
По умолчанию значения времени, которые находятся вне TIME, преобразуются в допустимый диапазон значений времени. Например, «-930: 00: 00» и «930: 00: 00» преобразуются в «-838: 59: 59» и «838: 59: 59». Недопустимые значения TIME преобразуются в «00: 00: 00», потому что «00: 00: 00» само по себе является допустимым значением «TIME» в MySQL.
Тип года
ГОД (4) и ГОД (2) имеют разный формат отображения, но имеют одинаковый диапазон значений.
Для 4-значного формата MySQL отображает значения YEAR в формате YYYY в диапазоне от 1901 до 2155 или 0000.
Для двухзначного формата MySQL отображает только последние две (наименее значимые) цифры; например, 70 (1970 или 2070) или 69 (2069).
Вы можете указать значения YEAR в различных форматах:
Длина строки | Спектр |
---|---|
4-значная строка | С 1901 по 2155. |
4-значный номер | С 1901 по 2155 год |
1- или 2-значная строка | От 0 до 99 Значения в диапазонах от «0» до «69» и от «70» до «99» преобразуются в значения ГОД в диапазонах с 2000 по 2069 и с 1970 по 1999 год. |
1- или 2-значное число | От 1 до 99. Значения в диапазонах от 1 до 69 и от 70 до 99 преобразуются в значения ГОДА в диапазонах с 2001 по 2069 и с 1970 по 1999 год. |
Типы строк
Типы строк: CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM и SET.
Типы CHAR и VARCHAR
Типы CHAR и VARCHAR похожи, но отличаются тем, как они хранятся и извлекаются. Они также различаются по максимальной длине и сохранению задних пробелов.
Типы | Описание | Формат отображения | Диапазон символов |
---|---|---|---|
CHAR | Содержит недвоичные строки. Длина фиксируется, как вы объявляете при создании таблицы. При сохранении они дополняются правыми пробелами до указанной длины. | Конечные пробелы удалены. | Длина может быть любым значением от 0 до 255. |
VARCHAR | Содержит недвоичные строки. Столбцы являются строками переменной длины. | Как хранится. | Значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях. |
Двоичные и варварские типы
Типы BINARY и VARBINARY похожи на CHAR и VARCHAR, за исключением того, что они содержат двоичные строки, а не недвоичные строки.
Типы | Описание | Диапазон в байтах |
---|---|---|
BINARY | Содержит двоичные строки. | От 0 до 255 |
VARBINARY | Содержит двоичные строки. | Значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях. |
Типы BLOB и TEXT
Типы | Описание | категории | Спектр |
---|---|---|---|
большой двоичный объект | Большой двоичный объект, содержащий переменное количество данных. Значения обрабатываются как двоичные строки. Вам не нужно указывать длину при создании столбца. | TINYBLOB | Максимальная длина 255 символов. |
MEDIUMBLOB | Максимальная длина 16777215 символов. | ||
LONGBLOB | Максимальная длина 4294967295 символов | ||
ТЕКСТ | Значения обрабатываются как строки символов, имеющие набор символов. | TINYBLOB | Максимальная длина 255 символов. |
MEDIUMBLOB | Максимальная длина 16777215 символов. | ||
LONGBLOB | Максимальная длина 4294967295 символов |
Типы ENUM
Типы SET
Строковый объект, имеющий ноль или более значений, разделенных запятыми (максимум 64). Значения выбираются из списка значений, указанных во время создания таблицы.
Разница между типами данных MySQL Datetime и Timestamp
Тип DATETIME используется, когда вам нужны значения, содержащие информацию как даты, так и времени. MySQL извлекает и отображает значения DATETIME в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС». Поддерживаемый диапазон: от 1000-01-01 от 00:00:00 до 9999-12-31 23:59:59.
Тип данных TIMESTAMP также используется, когда вам нужны значения, содержащие информацию как о дате, так и о времени. У TIMESTAMP есть диапазон от «1970-01-01 00:00:01» UTC до «2038-01-19 03:14:07» UTC
Основное различие между DATETIME и TIMESTAMP заключается в том, что значения TIMESTAMP при сохранении преобразуются из текущего часового пояса в UTC и при получении возвращаются из UTC в текущий часовой пояс. Значение типа данных datetime не изменяется.
Смотрите следующий пример:
Следующая команда отображает информацию о текущем часовом поясе:
Теперь посмотрите записи;
На этом этапе типы данных datetime и timestamp имеют одинаковые значения.
В приведенном выше выводе оба поля имеют одинаковые значения. Давайте изменим часовой пояс и увидим результат.
Теперь выполните следующую команду:
Описание: типы данных MySQL
- Что означает в ms word следующая кнопка
- Что означает в php оператор