Привет хаброжители!
Многие из вас слышали или читали что в Dreamspark для студентов специально добавили Microsoft Azure, чтобы у студентов появился бесплатный хостинг для их учебных проектов. Небольшой спойлер: бесплатно и без рекламы! Студенческий azure имеет следующие возможности:
- Веб-приложения службы приложений Azure входят в полностью управляемую облачную платформу, которая позволяет за считаные секунды создавать и развертывать веб-приложения. Возможно использование ASP.NET, Java, PHP, Node.js или Python. Запуск популярных веб-приложений и решений CMS. Настройте непрерывную интеграцию и развертывание с помощью VSO, GitHub, TeamCity, Hudson или BitBucket. Это позволит вам автоматически строить, тестировать и развертывать веб-приложение после каждого успешного теста сборки кода или интеграции.
- С СУБД MySQL от ClearDB ваши веб-приложения получат всю мощь MySQL. С помощью MySQL-решения clearDB можно расширить поддержку различных видов веб-приложений и CMS-решений, в том числе WordPress, Joomla, Acquia Drupal, phpBB и многих других.
- Visual Studio Application Insights предоставляет содержательные телеметрические данные и сведения о производительности, с помощью которых вы сможете обеспечить максимальную эффективность работы ваших веб-приложений и служб. Функции поиска и анализа данных обеспечивают постоянное совершенствование приложений, определение приоритетов для будущих инвестиций и повышение удовлетворенности клиентов.
- Visual Studio Online представляет собой самый быстрый и простой на сегодняшний день способ планирования, создания и поставки программного обеспечения для различных платформ. Наша облачная инфраструктура позволяет за считанные минуты сделать все необходимые приготовления для запуска, при этом вам не придется заниматься установкой и настройкой отдельных серверов.
В настоящее время Microsoft Azure для DreamSpark доступен для проверенных учащихся программы DreamSpark бесплатно и без обязательств, временных ограничений и случайных выплат. Позже, если потребуется, вы сможете выполнить модернизацию для использования большего числа служб, однако уже сегодня вы сможете разместить свои веб-приложения и веб-сайты, воспользовавшись огромными возможностями облачных решений Microsoft, причем без дополнительных затрат. Студенческая подписка на Azure предлагает использовать только MySQL с ограничение объема БД до 32 МБ и возможности подключение максимального количества сайтов — 5 шт. Чего должно с головой хватать для учебных проектов.
Если вам не хватает данных ресурсов то я хочу развеять этот миф о бесполезности azure в учебных целях и предложить вам решение этой проблемы. Для своих более сложных проектов вы можете использовать Microsoft SQL Server Database File. А теперь давайте для примера создадим тестовый проект, назовем его «TwoNotes».
Построение тестового ASP.NET MVC приложение и развертывание его в студенческом AZURE
Давайте откроем Visual Studio и создадим наше тестовое приложение. Выберем тип язык C# и тип проекта Web. Своему приложению я дал название — TwoNotes.
Для написание приложения будет использоваться шаблон Single Page Application.
После того, как приложение будет готово, мы щелкните правой кнопкой мыши папку App_Data и выберите пункт Добавить > новый элемент. В диалоговом окне Добавление нового элемента мы выберем SQL Server Compact 4.0.
Примечание: Вы можете пропустить этот шаг и просто настроить правильное подключение DB, DB будет создана во время первого запуска приложения.
Так же не забудьте в References через NuGet System.Data.SqlServerCe.
После установки проверьте наличие System.Data.SqlServerCe в References.
Настройка SqlServerCompact для надлежащего развертывания на веб-сайтах Azure
Шаг 1. Установка зависимостей SqlServerCompact.
Открыть консоль пакетного менеджера NuGet и введите PM> Install-Package SqlServerCompact
Сначала проверьте, что у вас нету этих зависимостей. Если их нет, то они будут добавлены, а затем загрузятся куча зависимостей для SqlServerCompact, которые необходимы для правильной работы на веб-сайты Azure.
Шаг 2. Далее добавим ссылку на System.Data.SqlServerCe.dll, таким образом, что он был доступен во время сборки/развертывания. Для того чтобы это сделать, необходимо сделать следующее:
- Выберите в папке System.Data.SqlServerCe и нажмите кнопку F4.
- В панели Properties выберите пункт Copy Local и установите значение true.
- Удалите из проекта ссылку библиотеки DLL
- Добавить ссылку обратно, перейдя в папку выше и выберите dll, которую вы только что скопировали
Шаг 3: Наконец, установите Entity Framework с поддержкой SQL Server Compact при помощи следующей команды Nuget.
PM> Install-Package EntityFramework.SqlServerCompact. Версия допустима любая.
Теперь вы установили все необходимы зависимости и теперь можно двигаться дальше.
- Добавление строки подключения к БД
- Настройка пользователя в нашем приложении
- Развертывание в студенческий аккаунт Microsoft Azure
Для добавления подключения к БД откройте Server Explorer и нажмите на значок зеленой вилки. Далее у вас откроется окно в котором нужно будет выбрать расположение вашего файла БД. Итак, вы подключили БД, и теперь необходимо в конфиг вашего проекта добавить Connection String. Для этого нажмите на значок вашей БД и выберите Properties и в этом окне найдите строчку Connection String. И добавьте его в Web.config. Запустим наш веб сайт на локальном компьютере и с помощью кнопки регистрации добавим пользователя: Имя пользователя: twonotestest Пароль: tw0Not3sTest После регистрации и авторизации можете проверить созданные записи в БД. Выберите проект и нажмите правую кнопку мыши. В контекстном меню выберите пункт Publish и у вас откроется вот такое меню.
В открывшемся окне нажмите на пункт Microsoft Azure App Service и нажмите кнопку next. Далее у вас откроется окно выбора подписки Azure и выбора проекта. Так как у нас в azure не создано ни одного приложения, то создадим его прямо из этого окна. Для этого достаточно просто нажать на кнопку NEW.
Далее просто введите все необходимые данные и ваше приложение будет создано и опубликовано.
Так же вы можете создать приложение на Портале Azure и скачать профиль публикации. И с его помощью так же опубликовать ваше приложение.
Подведем итоги!
Теперь вы знаете как обойти ограничение в БД на студенческой подписке в Azure. Процесс конечно немного сложный и длительный, но зато вы сможете получить бесплатный хостинг для ваших проектов вполне легально. И к тому же без рекламы.
Если у вас остались вопросы, можете направлять их на мой e-mail: valeriy.chernobrovyy@studentpartner.com
Источник: https://habr.com/post/275785/
Система управления базами данных SQLite. Изучаем язык запросов SQL и реляционные базы данных на примере библиотекой SQLite3. Курс для начинающих
Здравствуйте, уважаемые посетители сайта ZametkiNaPolyah.ru. Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3.
В данной публикации мы рассмотрим типы данных в SQL.
Хочу обратить ваше внимание на то, что различные СУБД поддерживает различный набор типов данных, поэтому это публикация включает в себя самые часто встречающиеся типы данных в SQL реализации различных СУБД.
Типы данных в SQL
Типы данных в SQL важно знать, чтобы правильно и грамотно проектировать базы данных, правильно выбранный типа данных в SQL может очень сильно облегчить работу другим разработчикам.
Поэтому не советую вам пропускать раздел о типах данных и всегда, когда вы знакомитесь с новой СУБД, обращать внимание на типы данных, которые поддерживает программа и на то, как она эти типы данных обрабатывает.
Типы данных в SQL
Рассмотрим типы данных, которые есть в языке SQL. У каждого столбца таблицы (у атрибута) должен быть тип данных для значений, которые хранятся в столбце. Тип данных для столбца определяется при создании таблицы, а еще лучше, когда он определяется на этапе проектирования баз данных.
Язык SQL делит данные на пять типов:
- Целочисленный тип данных SQL.
- Вещественный тип данных SQL.
- Типы данных даты и времени SQL.
- Строковый тип данных SQL.
- Строковый тип данных SQL в кодировки Юникод.
Давайте посмотрим, что включает в себя каждый из типов данных SQL и какие значения они позволяют нам хранить.
Целочисленный тип данных SQL
Целочисленный тип данных в SQL довольно таки широкий и зависит от реализации СУБД, снизу в таблицы лишь некоторые типичные примеры целочисленного типа данных SQL.
Тип данных SQL | от | до |
bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
int | -2,147,483,648 | 2,147,483,647 |
smallint | -32,768 | 32,767 |
tinyint | 255 | |
bit | 1 | |
decimal | -10^38 +1 | 10^38 -1 |
numeric | -10^38 +1 | 10^38 -1 |
money | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 |
smallmoney | -214,748.3648 | +214,748.3647 |
Еще раз повторюсь, что набор целочисленных типов данных в SQL зависит целиком и полностью от СУБД.
Вещественный тип данных SQL
Вещественный тип данных SQL, как и целочисленный тип данных, целиком и полностью зависит от реализации СУБД.
Тип | от | до |
float | -1.79E + 308 | 1.79E + 308 |
real | -3.40E + 38 | 3.40E + 38 |
Тип данных даты и времени
Обычно в различных СУБД дата и время — это отдельно выделенный тип данных
Тип данных SQL | от | до |
datetime | Jan 1, 1753 | Dec 31, 9999 |
smalldatetime | Jan 1, 1900 | Jun 6, 2079 |
date | Сохраняет дату как June 30, 1991 | |
time | Сохраняет время как 12:30 P.M. |
Строковый тип данных SQL
Строковых типов данных в SQL может быть гораздо больше, смотрите спецификацию своей СУБД, чтобы узнать какой тип данных может быть использован для строковых значений.
Тип данных SQL | Описание |
char | Максимальная длина 8000 символов (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единица измерения SQL типа данных char — символ. |
varchar | Максимальная длина 8000 символов (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единица измерения SQL типа данных varchar — символ. |
varchar (max) | Максимальная длина 231 символ. Обратите внимание: единица измерения SQL типа данных varchar (max) — символ. |
text | Максимальная длина 2,147,483,647 символов. Обратите внимание: единица измерения SQL типа данных text — символ. |
Строковый тип данных SQL в кодировке юникод
Да, некоторые СУБД выделяют строковый тип данных в кодировке юникод, поскольку в строках с кодировкой юникод на запись одного символа тратится, как минимум, 8 байт, поэтому мы и выделяем строковый тип данных в SQL с кодировкой юникод.
Тип данных SQL | Описание |
nchar | Максимальная длина 4000 символов (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единица измерения SQL типа данных nchar — символ. |
nvarchar | Максимальная длина 4000 символов (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единица измерения SQL типа данных nvarchar — символ. |
nvarchar (max) | Максимальная длина 231 символ. Обратите внимание: единица измерения SQL типа данных nvarchar (max) — символ. |
ntext | Максимальная длина 1,073,741,823 символов. Переменная длина. Обратите внимание: единица измерения SQL типа данных ntext — символ. |
Бинарный тип данных в SQL
Бинарный тип данных в SQL используется для хранения информации в бинарном виде (в виде последовательности байт).
Тип данных SQL | Описание |
binary | Максимальная длина 8,000 байт (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единицы измерения типа данных binary — байты. |
varbinary | Максимальная длина 8,000 байт (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единицы измерения типа данных varbinary — байты. |
varbinary (max) | Максимальная длина 231 байт. Обратите внимание: единицы измерения типа данных varbinary (max) — байты. |
image | Максимальная длина 2,147,483,647 байт (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единицы измерения типа данных image — байты. |
Хочу обратить ваше внимание на то, что каждая СУБД поддерживает свой набор типов данных и размерностей, мы рассмотрели базовые типы данных языка SQL, в следующей теме мы рассмотрим типы данных, которые поддерживает SQLite3.
Знаковые и без знаковые типы данных в SQL
Хочу обратить ваше внимание на то, что в некоторых СУБД числовые типы данных могут делиться на знаковые и без знаковые типы данных. И это совершенно разные типы данных.
Например, если у вас в одной таблице хранится id INTEGER UNSIGNED, а в другой id_table1 INTEGER SIGNED, то связь между таблицами по этим двум столбцам вы реализовать не сможете, так как у них разные типы данных. Будьте внимательны и всегда читайте описания типов данных, когда начинаете использовать новую СУБД.
Приведем пример практического применения типов данных SIGNED и UNSIGNED.
Например, у MySQL есть тип данных TINYINT, который занимает один байт и прекрасно подходит для хранения возраста, следовательно, в столбец с типом TINYINT можно записывать целые числа от 0 до 256 (два в восьмой степени, в одном байте 8 бит, а один бит может принимать два значения: ноль или единицу), если столбец без знаковый, если столбец знаковый, то в него можно записать числа от -128 до 127 (один бит уйдет на знак).
Источник: https://zametkinapolyah.ru/zametki-o-mysql/chast-6-tipy-dannyx-v-sql.html
MS SQL Server и T-SQL | Типы данных SQL
Последнее обновление: 12.07.2017
При создании таблицы для всех ее столбцов необходимо указать определенный тип данных. Тип данных определяет, какие значения могут храниться в столбце, сколько они будут занимать места в памяти.
Язык T-SQL предоставляет множество различных типов. В зависимости от характера значений все их можно разделить на группы.
Числовые типы данных
- BIT: хранит значение 0 или 1. Фактически является аналогом булевого типа в языках программирования. Занимает 1 байт.
- TINYINT: хранит числа от 0 до 255. Занимает 1 байт. Хорошо подходит для хранения небольших чисел.
- SMALLINT: хранит числа от –32 768 до 32 767. Занимает 2 байта
- INT: хранит числа от –2 147 483 648 до 2 147 483 647. Занимает 4 байта. Наиболее используемый тип для хранения чисел.
- BIGINT: хранит очень большие числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, которые занимают в памяти 8 байт.
- DECIMAL: хранит числа c фиксированной точностью. Занимает от 5 до 17 байт в зависимости от количества чисел после запятой. Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale). Параметр precision представляет максимальное количество цифр, которые может хранить число. Это значение должно находиться в диапазоне от 1 до 38. По умолчанию оно равно 18. Параметр scale представляет максимальное количество цифр, которые может содержать число после запятой. Это значение должно находиться в диапазоне от 0 до значения параметра precision. По умолчанию оно равно 0.
- NUMERIC: данный тип аналогичен типу DECIMAL.
- SMALLMONEY: хранит дробные значения от -214 748.3648 до 214 748.3647. Предназначено для хранения денежных величин. Занимает 4 байта. Эквивалентен типу DECIMAL(10,4).
- MONEY: хранит дробные значения от -922 337 203 685 477.5808 до 922 337 203 685 477.5807. Представляет денежные величины и занимает 8 байт. Эквивалентен типу DECIMAL(19,4).
- FLOAT: хранит числа от –1.79E+308 до 1.79E+308. Занимает от 4 до 8 байт в зависимости от дробной части. Может иметь форму опредеения в виде FLOAT(n), где n представляет число бит, которые используются для хранения десятичной части числа (мантиссы). По умолчанию n = 53.
- REAL: хранит числа от –340E+38 to 3.40E+38. Занимает 4 байта. Эквивалентен типу FLOAT(24).
Примеры числовых столбцов: Salary MONEY,
TotalWeight DECIMAL(9,2),
Age INT,
Surplus FLOAT
Типы данных, представляющие дату и время
- DATE: хранит даты от 0001-01-01 (1 января 0001 года) до 9999-12-31 (31 декабря 9999 года). Занимает 3 байта.
- TIME: хранит время в диапазоне от 00:00:00.0000000 до 23:59:59.9999999. Занимает от 3 до 5 байт. Может иметь форму TIME(n), где n представляет количество цифр от 0 до 7 в дробной части секунд.
Источник: https://metanit.com/sql/sqlserver/3.3.php
типы данных 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 ') |
SET | Аналогично Enum, за исключением того, что набор может содержать до 64 элементов списка и может хранить более одного выбора |
Типы данных чисел:
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 |
* целочисленные типы имеют дополнительный параметр, называемый неподписанным. Как правило, целое число переходит от отрицательного к положительному значению. Добавление неподписанного атрибута будет перемещаться, что диапазон вверх, поэтому он начинается с нуля, а не отрицательное число.
Типы данных дат:
DATE() | Свидание. Формат: гггг-мм-DDПримечание: Поддерживаемый диапазон от ' 1000-01-01 ' до ' 9999-12-31 ' |
DATETIME() | * комбинация даты и времени. Формат: гггг-мм-DD HH: MI: SSПримечание: Поддерживаемый диапазон от ' 1000-01-01 00:00:00 ' до ' 9999-12-31 23:59:59 ' |
TIMESTAMP() | * Временная метка. Значения timestamp хранятся в виде количества секунд со времени Unix (' 1970-01-01 00:00:00 ' UTC). Формат: гггг-мм-DD HH: MI: SSПримечание: Поддерживаемый диапазон от ' 1970-01-01 00:00:01 ' UTC до ' 2038-01-09 03:14:07 ' UTC |
TIME() | Время. Формат: HH: MI: SSПримечание: Поддерживаемый диапазон от '-838:59:59 ' до ' 838:59:59 ' |
YEAR() | Год в формате с двумя или четырьмя цифрами.Примечание: Допустимые значения в формате четырех цифр: 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 |
Типы данных чисел:
bit | Целое число, которое может быть 0, 1 или null | |
tinyint | Позволяет целые числа от 0 до 255 | 1 byte |
smallint | Позволяет целые числа между -32 768 и 32 767 | 2 bytes |
int | Позволяет целые числа между -2 147 483 648 и 2 147 483 647 | 4 bytes |
bigint | Позволяет целые числа между -9223372036854775808 и 9 223 372 036 854 775 807 | 8 bytes |
decimal(p,s) | Fixed precision and scale numbers. Разрешает числа от-10 ^ 38 + 1 до 10 ^ 38 – 1. Параметр p указывает максимальное общее количество цифр, которые могут быть сохранены (как слева, так и справа от десятичной запятой). p должно быть значением от 1 до 38. Значение по умолчанию — 18. Параметр s указывает максимальное число цифр, хранящихся справа от десятичной запятой. s должно быть значением от 0 до p. значение по умолчанию 0 |
5-17 bytes |
numeric(p,s) | Фиксированные значения точности и масштаба.Разрешает числа от-10 ^ 38 + 1 до 10 ^ 38 – 1. Параметр p указывает максимальное общее количество цифр, которые могут быть сохранены (как слева, так и справа от десятичной запятой). p должно быть значением от 1 до 38. Значение по умолчанию — 18. Параметр s указывает максимальное число цифр, хранящихся справа от десятичной запятой. s должно быть значением от 0 до p. значение по умолчанию 0 |
5-17 bytes |
smallmoney | Денежные данные от-214 748,3648 до 214 748,3647 | 4 bytes |
money | Денежные данные от-922 337 203 685 477,5808 до 922 337 203 685 477,5807 | 8 bytes |
float(n) | Плавающая точность данных чисел от-1.79 e + 308 до 1.79 e + 308.Параметр n указывает, должно ли поле содержать 4 или 8 байт. float (24) содержит 4-байтное поле и float (53) содержит 8-байтное поле. Значение по умолчанию n — 53. | 4 or 8 bytes |
real | Плавающие данные о точности чисел от-38 e + | 4 bytes |
Типы данных дат:
datetime | С 1 января 1753 по 31 декабря 9999 с точностью 3,33 миллисекунд | 8 bytes |
datetime2 | С 1 января 0001 по 31 декабря 9999 с точностью 100. | 6-8 bytes |
smalldatetime | С 1 января 1900 по 6 июня 2079 с точностью до 1 минуты | 4 bytes |
date | Хранить только дату. С 1 января 0001 по 31 декабря 9999 | 3 bytes |
time | Хранить время только для точности 100-ти секунд | 3-5 bytes |
datetimeoffset | Так же, как datetime2 с добавлением смещения часового пояса | 8-10 bytes |
timestamp | Хранит уникальный номер, который обновляется каждый раз при создании или изменении строки. Значение timestamp основывается на внутренних часах и не соответствует реальному времени. Каждая таблица может иметь только одну переменную timestamp |
Другие типы данных:
sql_variant | Хранит до 8 000 байт данных различных типов данных, за исключением текста, ntext и отметки времени |
uniqueidentifier | Хранит глобальный уникальный идентификатор (GUID) |
xml | Хранит XML-форматированные данные. Максимум 2 ГБ |
cursor | Хранит ссылку на курсор, используемый для операций с базой данных |
table | Хранит результирующий набор для последующей обработки |
Типы данных Microsoft Access
Text | Используется для текста или комбинаций текста и чисел. 255 символов максимум | |
Memo | MEMO используется для больших объемов текста. Хранит до 65 536 символов. Примечание: Поле MEMO нельзя сортировать. Тем не менее, они доступны для поиска | |
Byte | Позволяет целые числа от 0 до 255 | 1 byte |
Integer | Позволяет целые числа между-32 768 и 32 767 | 2 bytes |
Long | Позволяет целые числа между-2 147 483 648 и 2 147 483 647 | 4 bytes |
Single | Одинарная точность с плавающей запятой. Будет обрабатывать большинство десятичных знаков | 4 bytes |
Double | Двойная точность с плавающей запятой. Будет обрабатывать большинство десятичных знаков | 8 bytes |
Currency | Использовать для валюты. Вмещает до 15 цифр целых долларов, плюс 4 десятичных знака. Совет: Вы можете выбрать валюту страны для использования | 8 bytes |
AutoNumber | Поля автонумерации автоматически дают каждой записи свой номер, обычно начиная с 1 | 4 bytes |
Date/Time | Использовать для дат и времени | 8 bytes |
Yes/No | Логическое поле может отображаться как Yes/No, true/false или вкл/выкл. В коде используйте Константы true и false (эквивалентно-1 и 0). Примечание: Значения NULL не разрешены в полях «да/нет» | 1 bit |
Ole Object | Может хранить изображения, аудио, видео, или другие BLOB-объекты (двоичные больших объектов) | up to 1GB |
Hyperlink | Содержать ссылки на другие файлы, включая веб-страницы | |
Lookup Wizard | Позволяет ввести список опций, которые затем можно выбрать из раскрывающегося списка | 4 bytes |
Источник: https://html5css.ru/sql/sql_datatypes.php
SQL — Типы данных
Уважаемый пользователь! Реклама помогает поддерживать и развивать наш проект, делая его простым и удобным специально для Вас. Если проект интересный и важный для Вас, то отключите на нем блокировщик рекламы. Спасибо, что читаете сайт!
Тип данных определяет, какое значение может содержать столбец: целочисленные данные, символьные данные, денежные данные, данные даты и времени, двоичные строки и т. д.
Типы данных SQL
Каждый столбец в таблице базы данных должен иметь имя и тип данных.
Разработчик SQL должен решить, какой тип данных будет храниться внутри каждого столбца при создании таблицы. Тип данных является ориентиром для SQL, чтобы понять, какой тип данных ожидается внутри каждого столбца, а также определяет, как SQL будет взаимодействовать с сохраненными данными.
Список типов данных MySQL
В MySQL существует три основных типа данных: текст, число и дата.
Типы текстовых данных
Тип | Описание |
CHAR(size) | Удерживает строку фиксированной длины (может содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Может хранить до 255 символов |
VARCHAR(size) | Удерживает строку переменной длины (может содержать буквы, цифры и специальные символы). Максимальный размер указан в скобках. Может хранить до 255 символов. Если вы ставите большее значение, чем 255, оно будет преобразовано в тип TEXT |
TINYTEXT | Удерживает строку длиной не более 255 символов |
TEXT | Удерживает строку с максимальной длиной 65535 символов |
BLOB | Для BLOB (Binary Large OBjects). Сохраняет до 65535 байт данных |
MEDIUMTEXT | Удерживает строку с максимальной длиной 16,777,215 символов |
MEDIUMBLOB | Для BLOB (Binary Large OBjects). Удерживает до 16 777 215 байт данных |
LONGTEXT | Удерживает строку с максимальной длиной 4 294 967 295 символов |
LONGBLOB | Для BLOB (Binary Large OBjects). Сохраняет до 4 294 967 295 байтов данных |
ENUM(a,b,c,etc.) | Позвольте ввести список возможных значений. Вы можете перечислить до 65535 значений в списке ENUM. Если вставлено значение, которое отсутствует в списке, будет добавлено пустое значение. Примечание. Значения сортируются в том порядке, в котором вы их вводите. Вы вводите возможные значения в этом формате: ENUM ('a', 'b', 'c') |
SET | Подобно ENUM, за исключением того, что SET может содержать до 64 элементов списка и может хранить несколько вариантов |
Типы числовых данных
Тип | Описание |
TINYINT(size) | От -128 до 127. От 0 до 255 UNSIGNED *. Максимальное количество цифр может быть указано в круглых скобках |
SMALLINT(size) | -32768 до 32767 нормально. 0 до 65535 UNSIGNED*. Максимальное количество цифр может быть указано в скобках |
MEDIUMINT(size) | -8388608 до 8388607 normal. 0 до 16777215 UNSIGNED*. Максимальное количество цифр может быть указано в скобках |
INT(size) | -2147483648 до 2147483647 normal. 0 до 4294967295 UNSIGNED*. Максимальное количество цифр может быть указано в скобках |
BIGINT(size) | -9223372036854775808 до 9223372036854775807 normal. 0 до 18446744073709551615 UNSIGNED *. Максимальное количество цифр может быть указано в скобках |
FLOAT(size,d) | Небольшое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d |
DOUBLE(size,d) | Большое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d |
DECIMAL(size,d) | DOUBLE хранится как строка, позволяющая фиксированную десятичную точку. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d |
UNSIGNED — дополнительный параметр целочисленного типа. Обычно целое число переходит от отрицательного к положительному. Добавление атрибута UNSIGNED будет перемещать этот диапазон вверх так, чтобы он начинался с нуля вместо отрицательного числа.
Тип даты
Тип | Описание |
DATE() | Формат даты: YYYY-MM-DD |
DATETIME() | Формат даты и времени: YYYY-MM-DD HH:MI:SS |
TIMESTAMP() | Количество секунд с момента Unix ('1970-01-01 00:00:00' UTC). Формат даты: YYYY-MM-DD HH:MI:SS |
TIME() | Формат времени: HH:MI:SS |
YEAR() | Год |
Уважаемый пользователь! Реклама помогает поддерживать и развивать наш проект, делая его простым и удобным специально для Вас. Если проект интересный и важный для Вас, то отключите на нем блокировщик рекламы. Спасибо, что читаете сайт!
Источник: http://unetway.com/tutorial/sql-tipy-dannyh/
Руководство по SQL. Типы данных
Тип данных в языке структурированных запросов SQL – это атрибут, которые определяет тип данных любого объекта. Каждая колонка, переменная и выражение должны относится к одному из типов данных SQL.
Мы используем типы данных во время создания таблиц, определяя, к какому именно из них принадлежит каждая колонка нашей таблицы.
Ниже приведены типы данных языка SQL, разделённые по категориям:
- целочисленные
- числа с плавающией точкой
- время и дата
- символы
- символы Unicode
- бинарные
- другие
Целочисленные типы данных
bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
int | -2,147,483,648 | 2,147,483,647 |
smallint | -32,768 | 32,767 |
tinyint | 255 | |
bit | 1 | |
decimal | -10^38 +1 | 10^38 -1 |
numeric | -10^38 +1 | 10^38 -1 |
money | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 |
smallmoney | -214,748.3648 | +214,748.3647 |
Типы данных с плавающией точкой
float | -1.79E + 308 | 1.79E + 308 |
real | -3.40E + 38 | 3.40E + 38 |
Время и дата
datetime | 1 Января, 1753 | 31 Декабря , 9999 |
smalldatetime | 1 Января, 1900 | 6 Июня, 2079 |
date | Хранит дату в формате May 30, 2016 | |
time | Хранит время в формате 15:30 P.M. |
Символы
char | Максимальная длина – 8,000 символов. (Фиксированная длина символов, которые не входят в Unicode) |
varchar | Максимальная длина – 8,000 символов. (Изменяющаяся длина данных, не входящих в Unicode). |
varchar(max) | Максимальная длина – 231characters, Изменяющаяся длина данных, не входящих в Unicode (только для SQL Server 2005). |
text | Изменяющаяся длина данных, не входящих в Unicode с максимальной длинной – 2,147,483,647 символов. |
Символы Unicode
nchar | Максимальная длина – 4,000 символов.( Фиксированная длина Unicode ) |
nvarchar | Максимальная длина – 4,000 символов.( Изменяющаяся длина Unicode ) |
nvarchar(max) | Максимальная длина – 231 символ. ( Изменяющаяся длина Unicode, только для SQL Server 2005 ) |
ntext | Максимальная длина – 1,073,741,823 символов. ( Изменяющаяся длина Unicode ) |
Бинарные типы данных
binary | Максимальная длина – 8,000 байтов.( Фиксированная длина бинарных данных ) |
varbinary | Максимальная длина – 8,000 байтов.( Изменяющаяся длина бинарных данных ) |
varbinary(max) | Максимальная длина – 231 байт.(Фиксированная длина бинарных данных. Только для SQL Server 2005) |
image | Максимальная длина – 2,147,483,647 байтов. ( Изменяющаяся длина бинарных данных ) |
Другие типы данных
sql_variant | Хранит значения различных типов данных, поддерживаемых сервером SQL, за исключением, text, ntext и timestamp. |
timestamp | Хранит уникальное для базы даннх значение, которое обновляется при каждом изменении записи. |
uniqueidentifier | Хранит глобальный уникальный идентификатор (GUID) |
xml | Хранит XML данные. Мы можем хранить экземпляр xml в колонке, либо в переменной ( Только для SQL Server 2005). |
cursor | Хранит ссылку на курсор. |
table | Хранит результирующее множество для крайней обработки. |
На этом мы заканчиваем изучение типов данных.
В следующей статье мы рассмотрим операторы языка структурированных запросов SQL.
Источник: https://proselyte.net/tutorials/sql/sql-data-types/
SQL Data Types for MySQL, SQL Server, and MS Access
The data type of a column defines what value the column can hold: integer, character, money, date and time, binary, and so on.
SQL Data Types
Each column in a database table is required to have a name and a data type.
An SQL developer must decide what type of data that will be stored inside each column when creating a table. The data type is a guideline for SQL to understand what type of data is expected inside of each column, and it also identifies how SQL will interact with the stored data.
Note: Data types might have different names in different database. And even if the name is the same, the size and other details may be different! Always check the documentation!
MySQL Data Types (Version 8.0)
In MySQL there are three main data types: string, numeric, and date and time.
String data types:
CHAR(size) | A FIXED length string (can contain letters, numbers, and special characters). The size parameter specifies the column length in characters — can be from 0 to 255. Default is 1 |
VARCHAR(size) | A VARIABLE length string (can contain letters, numbers, and special characters). The size parameter specifies the maximum column length in characters — can be from 0 to 65535 |
BINARY(size) | Equal to CHAR(), but stores binary byte strings. The size parameter specifies the column length in bytes. Default is 1 |
VARBINARY(size) | Equal to VARCHAR(), but stores binary byte strings. The size parameter specifies the maximum column length in bytes. |
TINYBLOB | For BLOBs (Binary Large OBjects). Max length: 255 bytes |
TINYTEXT | Holds a string with a maximum length of 255 characters |
TEXT(size) | Holds a string with a maximum length of 65,535 bytes |
BLOB(size) | For BLOBs (Binary Large OBjects). Holds up to 65,535 bytes of data |
MEDIUMTEXT | Holds a string with a maximum length of 16,777,215 characters |
MEDIUMBLOB | For BLOBs (Binary Large OBjects). Holds up to 16,777,215 bytes of data |
LONGTEXT | Holds a string with a maximum length of 4,294,967,295 characters |
LONGBLOB | For BLOBs (Binary Large OBjects). Holds up to 4,294,967,295 bytes of data |
ENUM(val1, val2, val3, …) | A string object that can have only one value, chosen from a list of possible values. You can list up to 65535 values in an ENUM list. If a value is inserted that is not in the list, a blank value will be inserted. The values are sorted in the order you enter them |
SET(val1, val2, val3, …) | A string object that can have 0 or more values, chosen from a list of possible values. You can list up to 64 values in a SET list |
Numeric data types:
BIT(size) | A bit-value type. The number of bits per value is specified in size. The size parameter can hold a value from 1 to 64. The default value for size is 1. |
TINYINT(size) | A very small integer. Signed range is from -128 to 127. Unsigned range is from 0 to 255. The size parameter specifies the maximum display width (which is 255) |
BOOL | Zero is considered as false, nonzero values are considered as true. |
BOOLEAN | Equal to BOOL |
SMALLINT(size) | A small integer. Signed range is from -32768 to 32767. Unsigned range is from 0 to 65535. The size parameter specifies the maximum display width (which is 255) |
MEDIUMINT(size) | A medium integer. Signed range is from -8388608 to 8388607. Unsigned range is from 0 to 16777215. The size parameter specifies the maximum display width (which is 255) |
INT(size) | A medium integer. Signed range is from -2147483648 to 2147483647. Unsigned range is from 0 to 4294967295. The size parameter specifies the maximum display width (which is 255) |
INTEGER(size) | Equal to INT(size) |
BIGINT(size) | A large integer. Signed range is from -9223372036854775808 to 9223372036854775807. Unsigned range is from 0 to 18446744073709551615. The size parameter specifies the maximum display width (which is 255) |
FLOAT(size, d) | A floating point number. The total number of digits is specified in size. The number of digits after the decimal point is specified in the d parameter. This syntax is deprecated in MySQL 8.0.17, and it will be removed in future MySQL versions |
FLOAT(p) | A floating point number. MySQL uses the p value to determine whether to use FLOAT or DOUBLE for the resulting data type. If p is from 0 to 24, the data type becomes FLOAT(). If p is from 25 to 53, the data type becomes DOUBLE() |
DOUBLE(size, d) | A normal-size floating point number. The total number of digits is specified in size. The number of digits after the decimal point is specified in the d parameter |
DOUBLE PRECISION(size, d) | |
DECIMAL(size, d) | An exact fixed-point number. The total number of digits is specified in size. The number of digits after the decimal point is specified in the d parameter. The maximum number for size is 65. The maximum number for d is 30. The default value for size is 10. The default value for d is 0. |
DEC(size, d) | Equal to DECIMAL(size,d) |
Note: All the numeric data types may have an extra option: UNSIGNED or ZEROFILL. If you add the UNSIGNED option, MySQL disallows negative values for the column. If you add the ZEROFILL option, MySQL automatically also adds the UNSIGNED attribute to the column.
Date and Time data types:
DATE | A date. Format: YYYY-MM-DD. The supported range is from '1000-01-01' to '9999-12-31' |
DATETIME(fsp) | A date and time combination. Format: YYYY-MM-DD hh:mm:ss. The supported range is from '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. Adding DEFAULT and ON UPDATE in the column definition to get automatic initialization and updating to the current date and time |
TIMESTAMP(fsp) | A timestamp. TIMESTAMP values are stored as the number of seconds since the Unix epoch ('1970-01-01 00:00:00' UTC). Format: YYYY-MM-DD hh:mm:ss. The supported range is from '1970-01-01 00:00:01' UTC to '2038-01-09 03:14:07' UTC. Automatic initialization and updating to the current date and time can be specified using DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP in the column definition |
TIME(fsp) | A time. Format: hh:mm:ss. The supported range is from '-838:59:59' to '838:59:59' |
YEAR | A year in four-digit format. Values allowed in four-digit format: 1901 to 2155, and 0000. MySQL 8.0 does not support year in two-digit format. |
SQL Server Data Types
String data types:
char(n) | Fixed width character string | 8,000 characters | Defined width |
varchar(n) | Variable width character string | 8,000 characters | 2 bytes + number of chars |
varchar(max) | Variable width character string | 1,073,741,824 characters | 2 bytes + number of chars |
text | Variable width character string | 2GB of text data | 4 bytes + number of chars |
nchar | Fixed width Unicode string | 4,000 characters | Defined width x 2 |
nvarchar | Variable width Unicode string | 4,000 characters | |
nvarchar(max) | Variable width Unicode string | 536,870,912 characters | |
ntext | Variable width Unicode string | 2GB of text data | |
binary(n) | Fixed width binary string | 8,000 bytes | |
varbinary | Variable width binary string | 8,000 bytes | |
varbinary(max) | Variable width binary string | 2GB | |
image | Variable width binary string | 2GB |
Numeric data types:
bit | Integer that can be 0, 1, or NULL | |
tinyint | Allows whole numbers from 0 to 255 | 1 byte |
smallint | Allows whole numbers between -32,768 and 32,767 | 2 bytes |
int | Allows whole numbers between -2,147,483,648 and 2,147,483,647 | 4 bytes |
bigint | Allows whole numbers between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807 | 8 bytes |
decimal(p,s) | Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 –1. The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18. The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0 | 5-17 bytes |
numeric(p,s) | Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 –1. The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18. The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0 | 5-17 bytes |
smallmoney | Monetary data from -214,748.3648 to 214,748.3647 | 4 bytes |
money | Monetary data from -922,337,203,685,477.5808 to 922,337,203,685,477.5807 | 8 bytes |
float(n) | Floating precision number data from -1.79E + 308 to 1.79E + 308.The n parameter indicates whether the field should hold 4 or 8 bytes. float(24) holds a 4-byte field and float(53) holds an 8-byte field. Default value of n is 53. | 4 or 8 bytes |
real | Floating precision number data from -3.40E + 38 to 3.40E + 38 | 4 bytes |
Date and Time data types:
datetime | From January 1, 1753 to December 31, 9999 with an accuracy of 3.33 milliseconds | 8 bytes |
datetime2 | From January 1, 0001 to December 31, 9999 with an accuracy of 100 nanoseconds | 6-8 bytes |
smalldatetime | From January 1, 1900 to June 6, 2079 with an accuracy of 1 minute | 4 bytes |
date | Store a date only. From January 1, 0001 to December 31, 9999 | 3 bytes |
time | Store a time only to an accuracy of 100 nanoseconds | 3-5 bytes |
datetimeoffset | The same as datetime2 with the addition of a time zone offset | 8-10 bytes |
timestamp | Stores a unique number that gets updated every time a row gets created or modified. The timestamp value is based upon an internal clock and does not correspond to real time. Each table may have only one timestamp variable |
Other data types:
sql_variant | Stores up to 8,000 bytes of data of various data types, except text, ntext, and timestamp |
uniqueidentifier | Stores a globally unique identifier (GUID) |
xml | Stores XML formatted data. Maximum 2GB |
cursor | Stores a reference to a cursor used for database operations |
table | Stores a result-set for later processing |
Microsoft Access Data Types
Text | Use for text or combinations of text and numbers. 255 characters maximum | |
Memo | Memo is used for larger amounts of text. Stores up to 65,536 characters. Note: You cannot sort a memo field. However, they are searchable | |
Byte | Allows whole numbers from 0 to 255 | 1 byte |
Integer | Allows whole numbers between -32,768 and 32,767 | 2 bytes |
Long | Allows whole numbers between -2,147,483,648 and 2,147,483,647 | 4 bytes |
Single | Single precision floating-point. Will handle most decimals | 4 bytes |
Double | Double precision floating-point. Will handle most decimals | 8 bytes |
Currency | Use for currency. Holds up to 15 digits of whole dollars, plus 4 decimal places. Tip: You can choose which country's currency to use | 8 bytes |
AutoNumber | AutoNumber fields automatically give each record its own number, usually starting at 1 | 4 bytes |
Date/Time | Use for dates and times | 8 bytes |
Yes/No | A logical field can be displayed as Yes/No, True/False, or On/Off. In code, use the constants True and False (equivalent to -1 and 0). Note: Null values are not allowed in Yes/No fields | 1 bit |
Ole Object | Can store pictures, audio, video, or other BLOBs (Binary Large OBjects) | up to 1GB |
Hyperlink | Contain links to other files, including web pages | |
Lookup Wizard | Let you type a list of options, which can then be chosen from a drop-down list | 4 bytes |
Источник: https://www.w3schools.com/sql/sql_datatypes.asp