mysql data types what are different data types mysql
Дізнайтеся про різні типи даних MySQL, наприклад Numeric, String, Date data type, JSON, Boolean тощо з прикладами:
У цьому посібнику ми дізнаємося про різні типи даних, які підтримуються MySQL. Типи даних визначаються для кожного стовпця при створенні таблиці, а також під час оновлення / зміни таблиці для додавання нового стовпця до існуючої таблиці
Ми дізнаємося про типи даних у трьох різних категоріях, тобто числовий тип даних, тип даних String та тип даних Datetime.
Що ви дізнаєтесь:
Типи даних MySQL
Передумови
Ми будемо вивчати всі типи даних на робочих прикладах у MySQL. Тому рекомендується встановити MySQL для виконання запитів разом із деталями для кращого розуміння концепції.
Крім того, ви можете створити зразок бази даних з іменем sql_data_types, який містив би всі таблиці, які ми використовували б для прикладів.
create database sql_data_types; use sql_data_types;
Числові типи даних
Числові типи даних можна розділити на 3 типи:
- Цілі цілі типи даних
- Типи фіксованих точок
- Типи з плаваючою комою
Давайте обговоримо кожну з них:
Цілі цілі типи даних
Ці типи даних підтримують цілі числа без будь-якого десяткового подання. Існують різні підтипи, такі як: INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Синтаксис:
INT((width)) (UNSIGNED) (ZEROFILL)
Факти:
Опис | Діапазон | Пам'ять | Варіанти |
---|---|---|---|
СЕРЕДНЬОГО | 0-16 777 215 (16 МБ) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Найчастіше використовується числовий тип. Зберігає цілі номери ЗАВДАННЯ - Беззнакові значення | –2 147 483 648 до 2147 483 647 | 4 байти | Якщо використовується з опцією UNSIGNED - Діапазон змінюється на Від 0 до 4 294 967 295 Параметр Ширина можна використовувати з ZEROFILL для заповнення записів нулем для значень, менших за ширину |
Приклади:
Ми створимо таблицю з 1 стовпцем, що має тип даних INT та різні параметри.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Вихід команди SELECT:
CREATE TABLE numbers_int_options(int_col_with_options INT(4) ZEROFILL ); INSERT into numbers_int_options values(1),(123),(1234),(12345); select * from numbers_int_options;
Вихід вищевказаної команди:
Інші варіації INT:
Залежно від конкретних вимог для INT доступні різні варіанти. Вони зазвичай використовуються, коли пам'ять або простір викликають занепокоєння, але для всіх практичних цілей INT є найбільш широко використовуваним.
Різні варіанти типу даних INT, які доступні, перелічені нижче:
Тип даних | Діапазон | Приклад | Використана пам’ять / байти |
---|---|---|---|
ТІНІЙНТ | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | один |
СМАЛІНТ | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | два |
ПОСЕРЕДНІЙ | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
ВЕЛИКИЙ | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Типи з плаваючою комою
Типи з плаваючою комою є приблизними типами значень, і це залежить від значення no. десяткової точності, визначеної під час оголошення типу стовпця.
Існує 2 типи типів даних із плаваючою комою: FLOAT та DOUBLE, які підтримують різні діапазони та споживають пам’ять / пам’ять.
ПЛОВКА І ДВОЙКА
Відповідно до нового рекомендованого синтаксису - як FLOAT, так і DOUBLE точність можна вказати, використовуючи лише типи даних FLOAT.
Синтаксис:
FLOAT(p)
Ось, стор -> точність
Факти:
Опис | Пам'ять | Варіанти | Приклади |
---|---|---|---|
FLOAT / DOUBLE представляє числа з плаваючою комою з приблизними значеннями Тобто коли MySQL зберігає ці значення, ці значення апроксимуються з точністю до найближчої точності відповідно до оголошеного типу. Точність між 0-23 представляє тип FLOAT, тоді як від 24 до 53 генерує подвійний тип, який споживає 8 байт | -Точність - 0-23 => 4 байти -Точність -24-53 => 8 байт | -Номери з плаваючою комою можуть бути ПІДПИСАНИМИ, а також ПІДПИСАНИМИ -FLOAT, як правило, має точність до 7 знаків після коми, тоді як DOUBLE - до 14 знаків після коми -Є також інший нестандартний спосіб оголошення FLOAT та DOUBLE із зазначенням точок точності FLOAT (n, d) - де n - загальна кількість цифр, а d - кількість десяткових знаків | -Створити таблицю зі стовпцем ДВОЙНИЙ тип даних СТВОРИТИ ТАБЛИЦЮ numbers_double (double_col FLOAT (30)); -Створіть таблицю зі стовпцем ДВОЙНИЙ тип даних та цифрами точності як 5 СТВОРИТИ ТАБЛИЦЮ numbers_double (double_col DOUBLE (20,5)); |
Давайте подивимося кілька прикладів отримання значень подвійних типів:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Вихід оператора SELECT:
Тут ми бачимо, що значення зберігаються до 5 знаків після коми, як зазначено під час оголошення типу даних.
Типи фіксованих точок
Ці типи даних використовуються для збереження точного значення з визначеною точністю. Ці типи даних зазвичай використовуються, коли потрібна точна точність зберігання. Наприклад, банківські рахунки - це вимога підтримувати залишки з двома знаками після коми, нам потрібно зберігати дані з точною точністю.
ДЕСЯТРИЧНИЙ / ЧИСЛОВИЙ
Синтаксис:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Факти:
Опис | Діапазон | Пам'ять | Варіанти |
---|---|---|---|
DECIMAL - це числовий тип даних у MySQL, який зберігає точні значення із заданою точністю. Шкала або ширина за замовчуванням для типу даних DECIMAL - точність 10 та 0. Зверніть увагу, що типи DECIMAL та NUMERIC можуть використовуватися як взаємозамінні. | Залежить від зазначеного діапазону Наприклад DECIMAL (5,2) мав би діапазон від -999,99 до 999,99 | Двійковий формат користувачів MySQL для зберігання DECIMAL типу даних - Для кожних 9 цифр потрібні чотири байти - Отже наприклад, якщо ми маємо DECIMAL (14,2) - загалом знадобиться - 9 (4) + 2 (1) => 7 байт | -Максимальне значення ширини може становити 265 -Кількість десяткових знаків не є обов'язковою, а значення за замовчуванням - 0 |
Приклад:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Типи даних DateTime
Типи даних DateTime у MySQL, як випливає з назви, використовуються для зберігання значень дати та часу в базі даних MySQL.
MySQL підтримує 2 часові типи - DATETIME і TIMESTAMP
Давайте обговоримо обидва ці аспекти у наступних розділах.
ДАТА, ЧАС
Синтаксис:
DATETIME(n)
Тут n -> точність / дробова частина секундної частини (підтримується максимальна точність 6).
Факти:
Опис | Діапазон | Пам'ять | Приклади |
---|---|---|---|
Використовується для збереження дати та часу у стовпці MySQL При запиті, дані стовпця відображають дату і час у форматі нижче: РРРР-ММ-ДД ЧЧ: ММ: СС | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 байт Коли включається дробова частина, то для кожних 2 дробових цифр витрачається додатковий байт. | CREATE table datetime_example(date_col DATETIME); // ВИХІД date_col 2020-08-08 22:22:53 |
ГРАФІК
Синтаксис:
TIMESTAMP(n)
Тут n -> точність / дробова частина секундної частини (підтримується максимальна точність 6)
Факти:
Опис | Діапазон | Пам'ять | Приклади |
---|---|---|---|
Ще один часовий тип даних, що використовується для зберігання дати та часу. Це зберігає дату як UTC, також з обмеженим діапазоном між 1970 і 2038 роками | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 байти | CREATE table timestamp_example(ts_col TIMESTAMP); ВИХІД ts_col 2020-08-08 22:19:11 |
Типи даних рядка
Рядові типи даних, як випливає з назви, використовуються для зберігання рядків / текстів або крапок текстової інформації в базі даних. Залежно від варіанту використання доступні різні типи даних -CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Давайте розберемося з кожним із цих різних типів даних на прикладах.
ЧАР І ВАРЧАР
Обидва ці типи використовуються для зберігання рядкових значень у стовпцях MySQL, але вони відрізняються тим, як значення зберігаються та отримуються.
CHAR & VARCHAR оголошені довжиною, яка вказує на максимальну довжину рядка, який ви хочете зберегти в стовпці.
Синтаксис:
CHAR(n) VARCHAR(n)
Тут n -> макс. символів, що зберігаються у стовпці
Факти:
Тип | Опис | Діапазон | Приклади |
---|---|---|---|
ЧАР Синтаксис - CHAR (n) | CHAR може зберігати рядок «n» довжини, як визначено під час декларації. Якщо рядок має менше n символів, він заповнюється пробілами. | Довжина типу даних CHAR може коливатися від 0 до 255 Залежно від тривалості, споживання пам'яті коливатиметься в межах 0 - 255 байт. | CREATE TABLE string_example(char_col CHAR(50)); |
ВАРЧАР Синтаксис - VARCHAR (n) | VARCHAR дозволяє зберігати рядки змінної довжини та споживати пам’ять відносно фактичного розміру збереженого рядка, а не максимального значення, вказаного під час визначення стовпця. | Довжина типу даних VARCHAR може варіюватися від 0 - 65535 Залежно від тривалості, споживання пам'яті коливатиметься в межах 0 - 65535 байт. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
ДВОЙКА І ВАРБІНАР
Подібно до CHAR та VARCHAR - ці типи даних зберігають рядки, але у бінарному форматі.
Довжина типів даних BINARY та VARBINARY вимірюється в байтах на відміну від кількості символів у типах даних CHAR та VARCHAR.
Синтаксис:
BINARY(n) VARBINARY(n)
Тут n -> макс. байтів, що зберігаються в стовпці.
Факти:
Тип | Опис | Діапазон | Приклади |
---|---|---|---|
ДВОЙКИ Синтаксис - BINARY (n) | BINARY може зберігати ‘n’ двійкові байти. Для значень менше n вони праворуч заповнюються 0 байтами і зберігаються | Довжина типу даних BINARY може варіюватися від 0 - 255 Залежно від тривалості, споживання пам'яті коливатиметься в межах 0 - 255 байт. | CREATE TABLE binary_string(binary_col BINARY(50)); |
ВАРБІНАР Синтаксис - VARBINARY (n) | VARBINARY дозволяє зберігати двійкові рядки змінної довжини до ‘n довжини (як зазначено у визначенні стовпця) | Довжина типу даних VARBINARY може варіюватися від 0 - 65535 Залежно від тривалості, споживання пам'яті коливатиметься в межах 0 - 65535 байт. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Давайте розберемося з типом даних BINARY більш детально. Ми створимо таблицю зі стовпчиком кожного з бінарних та варбінарних типів даних та перевіримо вміст.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Тепер ми бачимо результат як BLOB, що означає - B інарний L погано OB ject - і це не що інше, як двійкове / шістнадцяткове представлення значень String, які ми вставили в стовпці.
Тепер ми перевіримо значення цих двійкових рядків і побачимо, як вони зберігаються.
По-перше, давайте подивимось значення, яке присутнє в ‘binary_col’, яке має тип даних BINARY.
Давайте розберемося, які значення зберігаються - якщо ви помітили значення для перших 5 записів - тобто першого рядка та перших 5 стовпців (0-4)
Це лише представлення HEX для символів рядка «привіт», які ми зберегли.
Тепер, оскільки це тип даних BINARY довжиною 50, ми можемо бачити, що решта байтів заповнена значеннями «00», що є не чим іншим, як байтовим поданням для цифри «0».
Перегляньте значення, присутнє у ‘varbinary_col’, яке має тип даних VARBINARY.
Тут для VARBINARY ви можете бачити, що значення просто заповнюються довжиною 5, що еквівалентно довжині рядка, яку ми зберігаємо. Немає нульового заповнення, хоча ми оголосили стовпець VARBINARY довжиною 50.
BLOB І ТЕКСТ
Типи даних BLOB та TEXT подібні до типів даних BINARY та CHAR з тією відмінністю, що вони можуть підтримувати більші розміри порівняно з їх базовими аналогами.
Важливо зазначити, що BLOB зберігає дані як двійкові рядки, тоді як тип даних TEXT зберігає як недвійкові рядки. Крім того, для всіх цих типів даних не потрібно вказувати довжину при згадці про тип даних. Вони за своєю природою мають змінну довжину за своєю суттю і споживають пам’ять лише проти того, що зберігається як фактичне значення стовпця.
Типи даних BLOB зазвичай використовуються для безпечного та ефективного зберігання таких файлів, як зображення, документи PDF тощо, як двійкові рядки.
Детальна інформація про різні варіанти типів даних BLOB та TEXT наведена нижче:
Тип | Діапазон | Опис | Приклади |
---|---|---|---|
ТІНІТЕКСТ | 0-255 (255 байт) | Діапазон такий же, як і VARCHAR - використовується для зберігання невеликої інформації, як-от заголовки, імена авторів тощо. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
ТЕКСТ | 0-65535 (64 КБ) | Цього типу даних достатньо для зберігання тексту для статті невеликого та середнього розміру. | CREATE TABLE text_example(text_col TEXT); |
СЕРЕДНІЙ ТЕКСТ | 0-16 777 215 (16 МБ) | Цього типу даних може бути достатньо для зберігання тексту для цілого підручника | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
ДОЛГОТЕКСТ | 0 - 4 294 967 295 (4 ГБ) | LONGTEXT рідко використовується спеціально у випадках, коли MEDIUMTEXT недостатній. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
ТІНІБЛОБ | 0-255 (255 байт) | Усі типи даних BLOB використовуються для зберігання двійкових рядків і, як правило, є кращими для зберігання таких файлів, як зображення, документи PDF або самі невеликі програми. Залежно від вимог щодо розміру можна вибрати та використовувати різні типи даних BLOB. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
BLOB | 0-65535 (64 КБ) | CREATE TABLE blob_example(blob_col BLOB); | |
LONGBLOB | 0 - 4 294 967 295 (4 ГБ) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ENUM
ENUM - це тип даних String, який попередньо визначає дозволені значення, які може мати стовпець. Це схоже на типи даних ENUM, які існують у різних мовах програмування, таких як JAVA, C # тощо.
Значення ENUM при збереженні перетворюються в числа проти кожного значення стовпця, що призводить до значного збереження пам'яті для таблиць, що мають велике число записів, тобто припустимо, у нас є ENUM, що має значення - value1, value2 та value3, тоді фактичне зберігання пам'яті буде числовим індекси 1,2,3 за кадром.
Синтаксис:
ENUM({comma separated enum values})
Приклади запитів:
Створіть таблицю з 2 стовпцями для зберігання мобільних моделей у вигляді рядка та назв компаній як типів даних ENUM, що мають значення - APPLE, SAMSUNG та NOKIA. Давайте також переглянемо запити для отримання даних щодо певного значення ENUM.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA')); INSERT INTO mobile_details values ('IPHONE X', 'APPLE'),('GALAXY M1', 'SAMSUNG'), ('GALAXY M2', 1) ;
У наведеному вище запиті ви можете бачити, що під час вставки ми використовували імена Enum, і числові індекси.
Спробуємо здійснити запит усіх мобільних пристроїв із торговою маркою „SAMSUNG“, а також здійснити запит щодо числового індексу SAMSUNG, який дорівнює „1“.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Результат виконання обох вищезазначених запитів буде однаковим, як зазначено нижче:
ВСТАНОВИТИ
Тип даних MySQL SET - це об’єкт String, який може мати одне або кілька значень із дозволеного діапазону, як описано під час визначення стовпця. Це схоже на ENUM, але дозволяє кілька значень із визначеного списку бути пов’язаними як значення стовпців.
Крім того, типи даних SET зберігаються як Індекси чисел, починаючи з 2 ^ 0 - тобто 1,2,4,8 тощо.
Синтаксис:
SET({comma separated list of allowed values})
Приклад:
Спробуємо зрозуміти тип даних SET на прикладах. Створимо таблицю з назвою mobile_details із моделлю стовпця типу String та стовпцем із назвою підтримувана ОС, який є встановленим типом даних і містить список підтримуваних версій операційної системи.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Ми бачимо, що ми перерахували значення операційної системи як частину стовпця, що має тип даних SET. Відповідні значення DECIMAL, які їм присвоєні, перелічені нижче:
Тепер, якщо ми хочемо призначити значення SET, наприклад, „Android8, android9“ до рядка, ми можемо просто призначити додавання призначених десяткових значень, тобто 12, щоб мати той самий ефект.
Будь ласка, зверніться до запиту INSERT вище щодо призначення рядку з назвою моделі „GALAXYM1“
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Вихід вищевказаної команди:
Ми також можемо здійснити запит у стовпці SET щодо їх десяткового подання - припустимо, ми хочемо зробити запит для „ios9, ios10“ - сума десяткового подання дорівнює 3, тому ми можемо запитувати як:
SELECT * from mobile_details where supported_os=3
Вихід:
Спеціальні типи даних
БУЛІН
Логічний тип даних MySQL зберігає значення стовпця як TRUE або FALSE. Цей тип даних зазвичай підходить для зберігання значень прапорів у таблицях MySQL. Наприклад - Таблиця банківського рахунку, що має стовпець із назвою is_savings_account, може зберігати як true, так і false.
Значення BOOLEAN зберігається в MySQL як 1 або 0 для TRUE та FALSE, відповідно.
Синтаксис:
columnName BOOLEAN
Приклад:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Вставляючи або отримуючи значення для типу даних BOOLEAN, ми можемо використовувати TRUE або FALSE або їх числові подання - тобто 1 або 0.
select * from account_details where is_savings=1;
Вихід вищезазначеної команди:
JSON
MySQL підтримує власний JSON як тип даних для об'єктів у нотації JSON. Це полегшує зберігання, запити та пошук для документів типу JSON, а не зберігає їх як текстові рядки або двійкові великі краплі.
Синтаксис:
columnName JSON
Факти:
Визначення | Діапазон | Приклади |
---|---|---|
Тип даних JSON використовується для зберігання документів у форматі JSON. Будь-який стовпець, визначений як JSON, видасть помилку, якщо недійсний JSON зберігається запитом INSERT. | Діапазон або розмір типу даних JSON подібний до LONGTEXT або LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Приклад:
MySQL надає різні функції для запиту даних JSON. Спробуємо вставити нижче JSON, і тоді ми побачимо функції MySQL для запиту.
{ 'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johson', } }
Давайте розглянемо команди для створення таблиці та вставки даних JSON.
create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johnson' }}');
Запитуйте таблицю та друкуйте поля імені та електронної пошти з даних JSON, які зберігаються в рядках таблиці.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Вихід:
Часті запитання
Q # 1) Як ми можемо змінити тип даних для стовпця MySQL після призначення?
Відповідь: Тип даних стовпця можна змінити за допомогою Команда ALTER TABLE .
Розглянемо таблицю student_info, що має 2 стовпці ім'я та вік типів VARCHAR та INT відповідно. Цього можна досягти за допомогою наступної команди CREATE TABLE:
CREATE TABLE student_info(name CHAR(20), age INT);
У цій команді є кілька варіантів
найкраще програмне забезпечення шпигуна стільникового телефону для android - -
- Якщо ми хочемо змінити лише тип даних стовпця - Ми можемо використовувати команду MODIFY разом із ALTER
У наведеній вище таблиці припустимо, що ми хочемо змінити тип даних вікового стовпця, ми можемо використовувати наступну команду
ALTER TABLE student_info MODIFY age TINYINT
- Якщо ми хочемо змінити назву стовпця, а також тип даних стовпця - Ми можемо використовувати команду CHANGE разом із ALTER
Припустимо, у наведеній вище таблиці ми хочемо змінити назву стовпця з «name» на «sname» і тип даних з CHAR на VARCHAR (50), ми можемо використати таку команду:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
Q # 2) Який тип даних для зображення в mysql?
Відповідь: Для зберігання будь-якого з типів файлів у MySQL, таких як зображення, pdf тощо, BLOB або двійкові типи даних є найбільш підходящим типом. Доступні різні варіанти типу даних BLOB, залежно від розміру цільового файлу, який ми хочемо зберегти. Ми можемо використовувати такі варіанти BLOB, як - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
Q # 3) Який тип даних більше підходить для зберігання документів у mysql?
Відповідь: Подібно до BLOB для зображень або PDF-файлів, для зберігання текстових документів / статей можна використовувати тип даних TEXT. Це розширення типу даних CHAR із підтримкою додаткового зберігання символів.
Доступні різні варіанти типу даних TEXT - ТЕКСТ, ТІНІТЕКСТ, СЕРЕДНІЙ ТЕКСТ І ДОЛГОТЕКСТ
Q # 4) Який тип даних для валюти в MySQL?
Відповідь: Для зберігання даних для валютних значень найбільш підходящим типом даних є DECIMAL. Він використовується для точного зберігання типів даних. Наприклад, ім'я стовпця типу DECIMAL (4,2), буде зберігати значення в діапазоні від -99,99 до 99,99 і повертати значення з тією ж точністю при отриманні, на відміну від. наближення для чисел з плаваючою точкою.
Q # 5) Що станеться, якщо хтось спробує вставити від’ємні числа для НЕПОДПИСАНИХ цілих стовпців?
Відповідь: MySQL генерує помилку для таких операторів вставки
Спробуємо створити таблицю зі стовпцем INT, що має опцію UNSIGNED.
CREATE TABLE int_unsigned(age INT UNSIGNED); INSERT into int_unsigned values(-350);
Error Code: 1264. Out of range value for column 'int_col_with_options' at row 1
Q # 6) Як отримати дані поточної дати в mysql?
Відповідь: MySQL надає 2 вбудовані функції часу та дати для отримання поточних значень
Функція CURDATE () повертає поточну дату
SELECT CURDATE();
Вихідні дані
2020-08-10
Функція NOW () повертає поточну дату з позначкою часу.
SELECT NOW();
Вихідні дані
2020-08-10 00:42:54
Q # 7) З CHAR та VARCHAR - який з них більше підходить?
Відповідь: VARCHAR означає змінний символ і має важливу перевагу - споживає менше пам'яті порівняно з CHAR тієї ж довжини. Наприклад, Стовпець з VARCHAR (50), якщо зберігає рядки довжиною 20, призведе до споживання лише 20 байт на відміну від типу даних, оголошеного за допомогою CHAR (50)
Q # 8) Як оновити значення ENUM у MySQL?
Відповідь: Для того, щоб оновити стовпець ENUM у MySQL, вам доведеться змінити згадування існуючих значень стовпців, щоб існуючі записи залишились недоторканими.
Спробуємо це зрозуміти на прикладі.
Припустимо, у нас є таблиця з іменем mobile_details, що має поле моделі як String (VARCHAR) і стовпець бренду як ENUM, що має початкові значення як «APPLE», SAMSUNG і «NOKIA»
Тепер, припустимо, ми хочемо додати іншу торгову марку „MOTOROLA“ до існуючого переліку. Давайте подивимось запити, які нам потрібно було б виконати.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Після створення ви можете отримати деталі вихідних значень ENUM за допомогою команди DESCRIBE
DESCRIBE mobile_details;
Тепер запустімо команду для оновлення ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Ми можемо знову запустити команду DESCRIBE, щоб перевірити, чи успішно застосовано оновлення.
DESCRIBE mobile_details
Ось результат вищезазначеної команди:
Висновок
У цьому посібнику ми дізналися про різні типи даних, які підтримуються MySQL.
Ми дізналися про типи даних Numeric, Floating, String та Date, а також синтаксис та різні приклади.
Типи даних MySQL - це фундаментальні основи для початку роботи та один з найважливіших аспектів під час проектування схеми MySQL.
Рекомендована література
- Типи даних C ++
- Типи даних Python
- Типи даних і змінні C # з прикладами
- PL SQL Типи даних, змінні, константи та літерали
- Типи даних масиву - int Array, Double array, Array of Strings тощо.
- Заява про видалення MySQL - Видалення синтаксису команди та прикладів
- MySQL Insert Into Table - Вставте синтаксис заяви та приклади
- Підручник з MySQL JOIN: Внутрішній, Зовнішній, Хрестовий, Лівий, Правий та Я