mysql data types what are different data types mysql
Сазнајте о различитим типовима података МиСКЛ, тј. Нумеричким, низовима, датумским типовима података, ЈСОН-у, логичким вредностима итд. Са примерима:
У овом упутству ћемо научити о различитим типовима података које подржава МиСКЛ. Типови података се наводе за сваку колону када се креира табела, а такође се ажурирају / мењају табеле како би се додала нова колона у постојећу табелу.
Научићемо о типовима података у три различите категорије, тј. Нумерички тип података, типови података низа и типови података Датетиме.
Шта ћете научити:
МиСКЛ типови података
Предуслови
Учићемо све типове података са радним примерима у МиСКЛ-у. Због тога је препоручљиво инсталирати МиСКЛ за извршавање упита заједно са детаљима за боље разумевање концепта.
Такође, можете створити узорак базе података која се зове скл_дата_типес која би садржала све табеле које бисмо користили за примере.
create database sql_data_types; use sql_data_types;
Нумерички типови података
Нумерички типови података могу се поделити у 3 типа:
- Целобројни типови података
- Типови фиксних тачака
- Типови са покретним зарезом
Хајде да разговарамо о сваком од ових:
Целобројни типови података
Ови типови података подржавају читаве бројеве без икаквог децималног приказа. Постоје разни подтипови попут - ИНТ, ТИНИИНТ, МЕДИУМИНТ, СМАЛЛИНТ, БИГИНТ
ИНТ:
Синтакса:
INT((width)) (UNSIGNED) (ZEROFILL)
Чињенице:
Опис | Домет | Меморија | Опције |
---|---|---|---|
МЕДИУМБЛОБ | 0-16,777,215 (16МБ) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Најчешће коришћени нумерички тип. Чува читаве бројеве ДЕФАУЛТ - Непотписане вредности | –2,147,483,648 до 2,147,483,647 | 4 бајта | Ако се користи са опцијом УНСИГНЕД - Опсег се мења у 0 до 4.294.967.295 Опција ширине се може користити са ЗЕРОФИЛЛ за уметање уноса са нулом за вредности мање од ширине |
Примери:
Направићемо табелу са 1 колоном која има ИНТ тип података и различите опције.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Излаз наредбе СЕЛЕЦТ:
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;
Излаз горње наредбе:
Остале варијације ИНТ:
За ИНТ је доступно више опција, у зависности од специфичних захтева. Они се обично користе када је забринутост меморија или простор, али у све практичне сврхе ИНТ је најчешће кориштен.
Доле су наведене различите варијације типа података ИНТ које су доступне:
Тип података | Домет | Пример | Коришћена меморија / бајтови |
---|---|---|---|
ТИНИИНТ | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
СМАЛЛИНТ | -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 |
Типови са покретним зарезом
Типови са покретним зарезом су приближни типови вредности и то зависи од броја не. прецизности децималног зареза наведеног током декларације типа колоне.
Постоје 2 типа типова података са покретном зарезом: ФЛОАТ и ДОУБЛЕ који подржавају различите домете и троше меморију / складиште.
ФЛОАТ & ДОУБЛЕ
Према новој препорученој синтакси - и ФЛОАТ и ДОУБЛЕ прецизност могу се навести користећи само ФЛОАТ типове података.
Синтакса:
FLOAT(p)
Ево, стр -> прецизност
Чињенице:
Опис | Меморија | Опције | Примери |
---|---|---|---|
ФЛОАТ / ДОУБЛЕ представља бројеве са покретном тачком са приближним вредностима Тј. када МиСКЛ ускладишти ове вредности, ове вредности се приближавају најближој прецизности према декларисаном типу. Прецизност између 0-23 представља тип ФЛОАТ, док би 24 до 53 генерисало двоструки тип који троши 8 бајтова | -Прецизност - 0-23 => 4 бајта -Прецизност -24-53 => 8 бајтова | -Бројеви плутајуће тачке могу бити ПОТПИСАНИ као и НЕПОТПИСАНИ -ФЛОАТ је углавном тачан до 7 децималних места, док је ДОУБЛЕ тачан до 14 децималних места -Постоји и још један нестандардни начин декларисања ФЛОАТ и ДОУБЛЕ са спецификацијом тачака прецизности ФЛОАТ (н, д) - где је н укупан број цифара, а д није децимални зарез | -Направите табелу са ступцем ДОУБЛЕ тип података СТВОРИ ТАБЕЛУ нумберс_доубле (доубле_цол ФЛОАТ (30)); -Направите табелу са ступцем ДОУБЛЕ тип података и прецизним цифрама као 5 СТВОРИ ТАБЕЛУ нумберс_доубле (доубле_цол ДОУБЛЕ (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;
Излаз СЕЛЕЦТ израза:
Овде можемо видети да су вредности ускладиштене до 5 децималних места како је наведено током декларације типа података.
Типови фиксних тачака
Ови типови података користе се за чување тачне вредности са утврђеном прецизношћу. Ови типови података се обично користе када је потребно тачно прецизно складиштење. На пример, банковни рачуни је услов за одржавање стања са 2 децимале, подаци нам требају бити тачно прецизни.
ДЕЦИМАЛНИ / НУМЕРИЧКИ
Синтакса:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Чињенице:
Опис | Домет | Меморија | Опције |
---|---|---|---|
ДЕЦИМАЛ је нумерички тип података у МиСКЛ-у и чува тачне вредности са назначеном прецизношћу. Подразумевана скала или ширина за тип података ДЕЦИМАЛ је прецизност 10 и 0. Имајте на уму да се типови ДЕЦИМАЛ и НУМЕРИЦ могу користити наизменично. | Овиси о наведеном опсегу На пример ДЕЦИМАЛ (5,2) би имао опсег од -999,99 до 999,99 | Корисници МиСКЛ бинарног формата за чување ДЕЦИМАЛНОГ типа података - Потребна су му четири бајта на сваких 9 цифара - Дакле на пример, ако имамо ДЕЦИМАЛ (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);
Врсте података ДатеТиме
Типови података ДатеТиме у МиСКЛ-у, као што и само име говори, користе се за чување вредности датума и времена у МиСКЛ бази података.
Постоје 2 привремена типа која подржава МиСКЛ - ДАТЕТИМЕ и ТИМЕСТАМП
Размотримо обе ствари у одељцима испод.
ДАТУМ ВРЕМЕ
Синтакса:
DATETIME(n)
Овде је н -> прецизност / делимични део секундног дела (максимална подржана прецизност је 6).
Чињенице:
Опис | Домет | Меморија | Примери |
---|---|---|---|
Користи се за чување датума и времена у МиСКЛ колони Када се постави упит, подаци колоне приказују датум и време у доњем формату: ГГГГ-ММ-ДД ХХ: ММ: СС | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 бајтова Када је укључен фракциони део, тада се за сваке 2 фракцијске цифре троши додатни бајт. | CREATE table datetime_example(date_col DATETIME); // ИЗЛАЗ дате_цол 2020-08-08 22:22:53 |
ТИМЕСТАМП
Синтакса:
TIMESTAMP(n)
Овде је н -> прецизност / делимични део секундног дела (максимална подржана прецизност је 6)
Чињенице:
Опис | Домет | Меморија | Примери |
---|---|---|---|
Још један привремени тип података који се користи за чување датума и времена. Ово чува датум као УТЦ, такође са ограниченим распоном између 1970. и 2038. године | 1970-01-01 00:00:01 УТЦ - 2038-01-19 03:14:07 УТЦ | 4 бајта | CREATE table timestamp_example(ts_col TIMESTAMP); ИЗЛАЗ тс_цол 2020-08-08 22:19:11 |
Типови података низа
Низови врста података, као што им само име говори, користе се за чување низова / текстова или блобова текстуалних информација у бази података. У зависности од случаја употребе доступни су различити типови података -ЦХАР, ВАРЦХАР, БИНАРИ, ВАРБИНАРИ, ТЕКСТ, ЕНУМ, СЕТ & БЛОБ
Хајде да разумемо сваки од ових различитих типова података на примерима.
ЦХАР И ВАРЦХАР
Оба ова типа се користе за чување Стринг вредности у колонама у МиСКЛ-у, али се разликују у начину на који се вредности чувају и преузимају.
ЦХАР & ВАРЦХАР су декларисани са дужином, што указује на максималну дужину низа који желите да сачувате у колони.
Синтакса:
CHAR(n) VARCHAR(n)
Овде је н -> макс. знакова које ће колона сачувати
Чињенице:
Тип | Опис | Домет | Примери |
---|---|---|---|
ЦХАР Синтакса - ЦХАР (н) | ЦХАР може сачувати низ „н“ дужине као што је дефинисано током декларације. Ако је Стринг мањи од н карактера, тада је допуњен размацима. | Дужина типа података ЦХАР може варирати од 0 - 255 У зависности од дужине, потрошња меморије би се кретала од 0 - 255 бајтова. | CREATE TABLE string_example(char_col CHAR(50)); |
ВАРЦХАР Синтакса - ВАРЦХАР (н) | ВАРЦХАР вам омогућава да складиштите низове променљиве дужине и трошите меморију према стварној величини сачуваног низа, а не према максималној вредности која је наведена током дефиниције колоне. | Дужина типа података ВАРЦХАР може варирати од 0 - 65535 У зависности од дужине, потрошња меморије би се кретала од 0 - 65535 бајтова. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
БИНАР И ВАРБИНАР
Слично ЦХАР и ВАРЦХАР - ови типови података чувају низове, али у бинарном формату.
Дужина типова података БИНАРИ и ВАРБИНАРИ мери се у бајтовима за разлику од броја знакова у типовима података ЦХАР и ВАРЦХАР.
Синтакса:
BINARY(n) VARBINARY(n)
Овде је н -> макс. бајтова које ће сачувати колона.
Чињенице:
Тип | Опис | Домет | Примери |
---|---|---|---|
БИНАРИ Синтакса - БИНАРИ (н) | БИНАРИ може чувати ‘н’ бинарних бајтова. За вредности мање од н оне се тачно додају са 0 бајта и чувају | Дужина типа података БИНАРИ може варирати од 0 - 255 У зависности од дужине, потрошња меморије би се кретала од 0 - 255 бајтова. | CREATE TABLE binary_string(binary_col BINARY(50)); |
ВАРБИНАРСКА Синтакса - ВАРБИНАРИ (н) | ВАРБИНАРИ вам омогућава да складиштите бинарне низове променљиве дужине до ’н дужине (како је наведено у дефиницији колоне) | Дужина типа података ВАРБИНАРИ може варирати од 0 - 65535 У зависности од дужине, потрошња меморије би се кретала од 0 - 65535 бајтова. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Да разумемо тип података БИНАРИ детаљније. Направићемо табелу са колоном сваког бинарног и варбинарног типа података и прегледати садржај.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Сада смо излаз видели као БЛОБ што значи - Б. инари Л лоше ОБ јецт - а то нису ништа друго до бинарно / хексадецимално представљање Стринг вредности које смо уметнули у колоне.
Сада ћемо прегледати вредности ових бинарних низова и видети како се чувају.
Прво, погледајмо вредност присутну у „бинари_цол“ која је типа података БИНАРИ.
Хајде да схватимо које су вредности које се чувају - Ако приметите вредности у првих 5 уноса - тј. У првом реду и првих 5 колона (0-4)
Ово су само ХЕКС представе за ликове низа „здраво“ које смо сачували.
Будући да се ради о БИНАРИ типу података дужине 50, можемо видети да је остатак бајтова подстављен вредностима „00“, што није ништа друго до представљање бајтова за цифру „0“.
Погледајте вредност присутну у „варбинари_цол“ која је типа података ВАРБИНАРИ.
Овде, за ВАРБИНАРИ, можете видети да су вредности само попуњене за дужину од 5, што је еквивалентно дужини низа коју смо сачували. Не постоји никакво попуњавање иако смо прогласили ВАРБИНАРНИ ступац дужине 50.
БЛОБ И ТЕКСТ
Типови података БЛОБ и ТЕКСТ слични су типовима података БИНАРИ и ЦХАР с том разликом што могу подржати веће величине у поређењу са основним колегама.
Важно је напоменути да БЛОБ податке чува као бинарне низове, док ТЕКСТ тип података чува као небинарне низове. Такође, сви ови типови података не захтевају навођење дужине уз помињање типа података. Они су по природи променљиве дужине и троше меморију само на оно што је сачувано као стварна вредност колоне.
БЛОБ типови података се обично користе за чување датотека као што су слике, пдф документи итд. Као бинарни низови на сигуран и ефикасан начин.
Детаљи о различитим варијантама типова података БЛОБ и ТЕКСТ наведени су у наставку:
Тип | Домет | Опис | Примери |
---|---|---|---|
ТИНИТЕКСТ | 0-255 (255 бајтова) | Опсег је исти као и ВАРЦХАР - Користи се за чување малих информација попут наслова, имена аутора итд. | 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 ГБ) | ЛОНГТЕКСТ се ретко користи посебно у случајевима када МЕДИУМТЕКСТ није довољан. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
ТИНИБЛОБ | 0-255 (255 бајтова) | Сви БЛОБ типови података користе се за чување бинарних низова и углавном су пожељни за чување датотека попут слика, пдф докумената или самих малих апликација. У зависности од захтева за величином, могу се одабрати и користити различити БЛОБ типови података. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
БЛОБ | 0-65535 (64КБ) | CREATE TABLE blob_example(blob_col BLOB); | |
ЛОНГБЛОБ | 0 - 4.294.967.295 (4 ГБ) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ЕНУМ
ЕНУМ је врста података типа Стринг која унапред дефинише дозвољене вредности које колона може имати. Слично је типовима података ЕНУМ који постоје у различитим програмским језицима попут ЈАВА, Ц # итд.
Вредности ЕНУМ-а, када се чувају, претварају се у бројеве у односу на вредност сваке колоне што резултира знатном уштедом меморије за табеле са великим бројем записа, тј. Претпоставимо да имамо ЕНУМ који има вредности - вредност1, вредност2 и вредност3, тада би стварно складиштење меморије било нумеричко индекси 1,2,3 иза кулиса.
Синтакса:
ENUM({comma separated enum values})
Примери упита:
Направите табелу са 2 колоне за чување мобилних модела као Стринг и имена компанија као ЕНУМ типове података који имају вредности - АППЛЕ, САМСУНГ и НОКИА. Погледајмо и упите за преузимање података према одређеној вредности ЕНУМ-а.
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) ;
У горњем упиту можете видети да смо током уметања користили имена Енум, као и нумеричке индексе.
Покушајмо да упитамо све мобилне уређаје са именом марке „САМСУНГ“, као и упите према нумеричком индексу САМСУНГ-а који је „1“.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Излаз оба горња упита биће исти као што је поменуто у наставку:
КОМПЛЕТ
МиСКЛ СЕТ тип података је Стринг објекат који може имати једну или више вредности из дозвољеног опсега како је описано током дефиниције колоне. Слично је ЕНУМ-у, али омогућава да се више вредности са дефинисане листе повежу као вредности колона.
Такође, СЕТ типови података чувају се као индекси бројева почевши од 2 ^ 0 - тј. 1,2,4,8 итд.
Синтакса:
SET({comma separated list of allowed values})
Пример:
Покушајмо да разумемо СЕТ тип података на примерима. Направићемо табелу названу мобиле_детаилс са моделом колоне Стринг типа и колоном названом подржани ОС који је постављени тип података и садржи листу подржаних верзија оперативног система.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Можемо видети да смо вредности оперативног система навели као део колоне која има тип података СЕТ. Одговарајуће ДЕЦИМАЛНЕ вредности које су им додељене наведене су у наставку:
Ако желимо да доделимо вредност СЕТ, на пример, „Андроид8, андроид9“ у ред, можемо једноставно доделити додавање додељених децималних вредности, тј. 12 да бисмо имали исти ефекат.
Погледајте горе наведени ИНСЕРТ упит за додељивање реду са именом модела „ГАЛАКСИМ1“
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Излаз горње наредбе:
Такође можемо да упитамо колону СЕТ према њиховом децималном представљању - претпоставимо да желимо да претражимо „иос9, иос10“ - збир децималног приказа је 3, тако да можемо да тражимо као:
SELECT * from mobile_details where supported_os=3
Излаз:
Посебни типови података
БООЛЕАН
МиСКЛ логички тип података чува вредност колоне као ТРУЕ или ФАЛСЕ. Овај тип података је генерално погодан за чување вредности заставица у МиСКЛ табелама. На пример - Табела банковног рачуна која има колону која се зове ис_савингс_аццоунт може да чува тачно или нетачно.
Вредност БООЛЕАН се у МиСКЛ чува као 1 или 0 за ТРУЕ, односно ФАЛСЕ.
Синтакса:
columnName BOOLEAN
Пример:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Током уметања или преузимања вредности за тип података БООЛЕАН можемо користити ТРУЕ или ФАЛСЕ или њихове нумеричке представе - тј. 1 или 0.
select * from account_details where is_savings=1;
Излаз горе наведене наредбе:
ЈСОН
МиСКЛ подржава изворни ЈСОН као тип података за објекте у ЈСОН нотацији. То олакшава складиштење, упите и проналажење докумената типа ЈСОН, а не складиштење у виду Текстуалних низова или бинарних блобова.
Синтакса:
columnName JSON
Чињенице:
Дефиниција | Домет | Примери |
---|---|---|
ЈСОН тип података користи се за чување докумената који су у ЈСОН формату. Свака колона која је дефинисана као ЈСОН бациће грешку ако је ИНСЕРТ упит сачувао неважећи ЈСОН. | Опсег или величина ЈСОН типа података слични су ЛОНГТЕКСТ или ЛОНГБЛОБ | CREATE TABLE json_example(json_col JSON); |
Пример:
МиСКЛ пружа различите функције за испитивање ЈСОН података. Покушајмо да убацимо испод ЈСОН-а и тада ћемо видети МиСКЛ функције за упит.
{ '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', } }
Погледајмо наредбе за креирање табеле и уметање ЈСОН података.
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' }}');
Испитајте табелу и одштампајте поља имена и е-поште из ЈСОН података који су сачувани у редовима табеле.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Излаз:
Често постављана питања
П # 1) Како можемо променити тип података за МиСКЛ колону која је једном додељена?
Одговор: Тип података колоне може се променити помоћу Наредба АЛТЕР ТАБЛЕ .
Узмимо у обзир табелу студент_инфо која има 2 ступца име и старост типова ВАРЦХАР и ИНТ. То се може постићи помоћу следеће наредбе ЦРЕАТЕ ТАБЛЕ:
CREATE TABLE student_info(name CHAR(20), age INT);
Постоји неколико варијација ове наредбе
разлика између соапуи и соапуи про
- Ако желимо да променимо само тип података колоне - Можемо користити команду МОДИФИ заједно са АЛТЕР
У горњој табели претпоставимо да желимо да променимо тип података старосне колоне можемо да користимо следећу наредбу
ALTER TABLE student_info MODIFY age TINYINT
- Ако желимо да променимо име колоне као и тип података колоне - Можемо да користимо команду ЦХАНГЕ заједно са АЛТЕР
У горњој табели претпоставимо да желимо да променимо име колоне из „наме“ у „снаме“ и тип података из ЦХАР у ВАРЦХАР (50), можемо користити следећу команду:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
П # 2) Који је тип података за слику у мискл-у?
Одговор: За чување било ког типа датотеке у МиСКЛ-у, као што су слике, пдф итд. БЛОБ или бинарни тип података је најприкладнији тип. Доступне су различите варијанте БЛОБ типа података у зависности од величине циљне датотеке коју желимо да сачувамо. Можемо користити варијанте БЛОБ-а попут - ТИНИБЛОБ, БЛОБ, МЕДИУМБЛОБ, ЛОНГБЛОБ
П # 3) Који је тип података погоднији за чување докумената у мискл-у?
Одговор: Слично БЛОБ-у за слике или пдф датотеке, за чување текстуалних докумената / чланака може се користити тип података ТЕКСТ. Ово је проширење типа података ЦХАР са подршком за складиштење додатних знакова.
Доступне су различите варијанте типа података ТЕКСТ - ТЕКСТ, ТИНИКСТЕКТ, СРЕДЊИ И ДУГИ ТЕКСТ
П # 4) Који је тип података за валуту у МиСКЛ-у?
Одговор: За чување података за вредности валута, најприкладнији тип података је ДЕЦИМАЛНИ. Користи се за тачно чување типова података. На пример, име колоне типа ДЕЦИМАЛ (4,2), чувало би вредности у опсегу од -99,99 до 99,99 и враћало вредност са истом прецизношћу при преузимању за разлику од. апроксимација бројева са покретном тачком.
П # 5) Шта се дешава ако неко покуша да убаци негативне бројеве за УНСИГНЕД интегер колоне?
Одговор: МиСКЛ генерише грешку за такве уметнуте изразе
Покушајмо да направимо табелу са ИНТ колоном која има опцију УНСИГНЕД.
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
П # 6) Како добити податке о тренутном датуму у мискл-у?
Одговор: МиСКЛ нуди 2 уграђене функције за датум и време за преузимање тренутних вредности
Функција ЦУРДАТЕ () враћа тренутни датум
SELECT CURDATE();
Оутпут
2020-08-10
Функција НОВ () враћа тренутни датум са временском ознаком.
SELECT NOW();
Оутпут
2020-08-10 00:42:54
П # 7) Од ЦХАР и ВАРЦХАР - који је погоднији?
Одговор: ВАРЦХАР представља променљиви карактер и има важну предност што троши мање меморије у односу на ЦХАР исте дужине. На пример, Ступац са ВАРЦХАР (50) ако складишти низове дужине 20 резултирао би потрошњом само 20 бајтова за разлику од типа података декларисаног са ЦХАР (50)
П # 8) Како ажурирати вредност ЕНУМ-а у МиСКЛ-у?
Одговор: Да бисте ажурирали колону ЕНУМ у МиСКЛ, мораћете да измените помињање постојећих вредности колона тако да постојећи уноси остану нетакнути.
Покушајмо ово да разумемо на примеру.
Претпоставимо да имамо табелу названу мобиле_детаилс која има поље модела као Стринг (ВАРЦХАР) и бренд ступац као ЕНУМ који има почетне вредности као „АППЛЕ“, САМСУНГ и „НОКИА“
Сада, претпоставимо да желимо да додамо још једно име марке „МОТОРОЛА“ постојећем набрајању. Погледајмо упите које бисмо требали извршити.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Једном створени, можете добити детаље о оригиналним вредностима ЕНУМ-а помоћу наредбе ДЕСЦРИБЕ
DESCRIBE mobile_details;
Сада покренимо команду за ажурирање ЕНУМ-а
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Поново можемо покренути наредбу ДЕСЦРИБЕ да видимо да ли су исправке успешно примењене.
DESCRIBE mobile_details
Ево резултата горње наредбе:
Закључак
У овом упутству смо сазнали о различитим типовима података које подржава МиСКЛ.
Сазнали смо о нумеричким, плутајућим, низовима и датумским типовима података заједно са синтаксом и различитим примерима.
МиСКЛ типови података су темељни блокови за почетак и један од најважнијих аспеката током дизајна МиСКЛ шеме.
Препоручено читање
- Типови података Ц ++
- Питхон типови података
- Врсте података и променљиве Ц # са примерима
- ПЛ СКЛ типови података, променљиве, константе и литерале
- Типови података низа - инт низ, двоструки низ, низ жица итд.
- Изјава о брисању МиСКЛ - Избришите синтаксу наредбе и примере
- МиСКЛ Убаци у табелу - Убаци синтаксу и примере изјаве
- МиСКЛ ЈОИН Туториал: Унутрашњи, спољашњи, попречни, леви, десни и сопствени